RichCalendar só vem null ou data do Sistema

Galera estou com uma dúvida mortal aqui.
Tenho uma table na minha JSF e lá eu clico em uma prova pra designar um responsável pela prova atraves de um modalpanel. Porem eu soh estou conseguindo capturar o id no combobox.
na data de inicio e termino ñ estou conseguindo pegar a data que foi selecionada.

alguem pode dar um help?

Minha JSF
AQUI O LINK NA TABLE QUE CHAMA O MODAL

<a4j:commandLink ajaxSingle="true" id="designarRespLink" action="#{provaUsuarioController.prepararEscolherResponsavel}"
                                                 oncomplete="#{rich:component('respPanel')}.show();" reRender="designaResp">
                                    <h:graphicImage value="imagens/escolherUser.jpeg" style="border:0" width="22px"/>
                                    <f:setPropertyActionListener value="#{provas}"
                                                                 target="#{dataTableScrollerBean.currentItem}" />
                                    <f:setPropertyActionListener value="#{row}"
                                                                 target="#{dataTableScrollerBean.currentRow}" />
                                </a4j:commandLink>

O MODAL

<%-- *************************************************************************************************************************************************** --%>
            <%-- ************************************************ Model de Designação do Responsável *************************************************************** --%>
            <%-- *************************************************************************************************************************************************** --%>

            <h:form id="designaResp">
                <rich:modalPanel id="respPanel" autosized="true" width="300">
                    <f:facet name="header">
                        <h:outputText value="Selecione o Responsável pela Prova"
                                      style="padding-right:15px;" />
                    </f:facet>
                    <f:facet name="controls">
                        <h:panelGroup>
                            <h:graphicImage value="#{pageContext.servletContext.contextPath}/imagens/close.png"
                                            styleClass="hidelink" id="hidelink2" />
                            <rich:componentControl for="respPanel" attachTo="hidelink2"
                                                   operation="hide" event="onclick" />
                        </h:panelGroup>
                    </f:facet>


                    <rich:messages style="color:green;"></rich:messages>

                    <h:panelGrid columns="1">
                        <a4j:outputPanel ajaxRendered="true">
                            <a4j:form>

                                <h:panelGrid columns="2">

                                    <h:outputText value="Avaliadores: " styleClass="campo" />
                                    <h:selectOneMenu id="avaliadores"
                                                     value="#{provaUsuarioController.user.idusu}">
                                        <f:selectItem itemLabel="--Selecione--"  itemDisabled="true"/>
                                        <f:selectItems value="#{provaUsuarioController.userList}" />
                                        <a4j:support event="onchange"
                                                     ajaxSingle="true"
                                                     actionListener="#{provaUsuarioController.actionUserID}"/>
                                    </h:selectOneMenu>

                                  
                                        <h:outputText value="Data de Início: " styleClass="campo" />
                                        <rich:calendar id="dataIni" valueChangeListener="#{provaUsuarioController.valueChanged}"
                                                       popup="true"
                                                       value="#{provaUsuarioController.pu.datai}"
                                                       datePattern="dd/MM/yyyy">
                                         
                                        </rich:calendar>
                                  

                                    <h:outputText value="Data de Término: " styleClass="campo" />
                                    <rich:calendar id="dataFim"
                                                   value="#{provaUsuarioController.pu.dataf}"
                                                   datePattern="dd/MM/yyyy">
                                    </rich:calendar>

                                    <h:outputText value="Obs: " styleClass="campo" />
                                    <h:inputText id="obs" value="#{provaUsuarioController.pu.obs}" styleClass="campo"/>


                                </h:panelGrid>

                                <table width="100%">
                                    <tbody>
                                        <tr>
                                            <td align="center" width="50%">
                                                <a4j:commandButton value="   Selecionar   "
                                                                   ajaxSingle="true" action="#{provaUsuarioController.selecionaResponsavel}"
                                                                   oncomplete="if (#{facesContext.maximumSeverity==null}) #{rich:component('respPanel')}.hide();" >
                                                </a4j:commandButton>
                                            </td>
                                            <td align="center" width="50%">
                                                <a4j:commandButton value="Cancelar"
                                                                   onclick="#{rich:component('respPanel')}.hide(); return false;" />
                                            </td>
                                        </tr>
                                    </tbody>
                                </table>
                            </a4j:form>
                        </a4j:outputPanel>
                    </h:panelGrid>
                </rich:modalPanel>
            </h:form>

            <%-- *************************************************************************************************************************************************** --%>
            <%-- ************************************************ Fim Model de Designação do Responsável *********************************************************** --%>
            <%-- *************************************************************************************************************************************************** --%>

MEU BEAN

public void valueChanged(ValueChangeEvent ae) {
        HtmlCalendar componentDataIni = (HtmlCalendar) ae.getComponent().findComponent("dataIni");
        System.out.println("componet "+componentDataIni.getOncurrentdateselected());
        Date dataIni = (Date) componentDataIni.getValue();
        System.out.println("dataINI " + dataIni);         
    }

 public Date getDataI() {
        System.out.println("getDataI" + pu.getDatai()); //AQUI SEMPRE NULL
        DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
        Date dataIni = new Date();
        System.out.println("dateIni " + dateFormat.format(dataIni));
        pu.setDatai(dataIni); //AQUI SEMPRE DATA DO SISTEMA
        System.out.println("getDataI " + pu.getDatai());
        return dataIni;
    }

ALGUMA IDEIA ONDE ESTOU ERRANDO???

fez o setDataI? em “#{provaUsuarioController.pu.datai}” o pu está instanciado?

Sim sim está instanciado sim olha o código

 public ProvaUsu getPu() {
        if (this.pu == null) {
            this.pu = new ProvaUsu();
        }
        return pu;
    }

E no Bean ProvaUsu tem os get set tudo certinho