Rich Calendar não troca o mês após seleção

Olá a todos, pesquisei bastante antes mas infelizmente não encontrei a solução para este problema.

Tirei como base o exemplo do site do rich Faces - estou usando jsf1.2 com rich 3.3.3

Tenho o rich:calendar desta forma:

<rich:calendar value="#{Pedagogico$CentralApontamentoPresenca.datasSelecionadaCalendario}" dataModel="#{Pedagogico$CentralApontamentoPresenca.calendarModel}" popup="false" cellWidth="100px" cellHeight="100px" showWeekDaysBar="true" showWeeksBar="false" onchanged="if (event.rich.date) {ajaxSubmit();}" 
oncurrentdateselect="return false" id="organizer" valueChangeListener="#{Pedagogico$CentralApontamentoPresenca.calendarModel.valueChanged}" showFooter="false" >
<f:facet name="header">
     <h:outputText value="{currentMonthControl}" style="font-weight:bold;"/>
</f:facet>
                                        
  <a4j:outputPanel layout="block" id="cell" onclick="#{rich:component('organizer')}.resetSelectedDate()" style="height: 100%;" styleClass="organizer-cell">
    <div>
         <br/>
         <h:outputText value="{day}" style="align:center"/>
    </div>
    <div>&#xA0;</div>
    <div>
         <h:outputText value="{data.shortDescription.escapeHTML()}" />
    </div>
    <div>
         <h:outputText value="{data.description.escapeHTML()}"/>
    </div>
 </a4j:outputPanel>

</rich:calendar>

e quando clico no mês corrente que aparece no “header” do calendário ele me da a opção de escolha do meses e anos não importando qual a escolha ele sempre se mantém no mês corrente como posso estar resolvendo isso?

Segue o modal:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package wpos.controle.model;

import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.faces.event.ValueChangeEvent;
import org.richfaces.model.CalendarDataModel;
import org.richfaces.model.CalendarDataModelItem;

/**
 *
 * @author fcscjunior
 */
public class CalendarDataModelImpl  implements CalendarDataModel {

    /* (non-Javadoc)
     * @see org.richfaces.component.CalendarDataModel#getData(java.util.Date[])
     */
    
    private CalendarDataModelItem[] items;
    
    private String currentDescription;
    private String currentShortDescription;
    private Date currentDate;
    private boolean currentDisabled;
    
    
    /* (non-Javadoc)
     * @see org.richfaces.model.CalendarDataModel#getData(java.util.Date[])
     */
    @Override
    public CalendarDataModelItem[] getData(Date[] dateArray) {
        if (dateArray == null) {
            return null;
        }
        if (items==null) {  
            items = new CalendarDataModelItem[dateArray.length];
            for (int i = 0; i < dateArray.length; i++) {
                items[i] = createDataModelItem(dateArray[i]);
            }
        }
        return items;
    }

    /**
     * @param date
     * @return CalendarDataModelItem for date
     */
    protected CalendarDataModelItem createDataModelItem(Date date) {
        CalendarDataModelItemImpl item = new CalendarDataModelItemImpl();
        Map data = new HashMap();
        data.put("shortDescription", "Nothing planned");
        data.put("description", "");
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        item.setDay(c.get(Calendar.DAY_OF_MONTH));
        item.setEnabled(true);
        item.setStyleClass("rel-hol");
        item.setData(data); 
        return item;
    } 

    /* (non-Javadoc)
     * @see org.richfaces.model.CalendarDataModel#getToolTip(java.util.Date)
     */
    @Override
    public Object getToolTip(Date date) {
    
        // TODO Auto-generated method stub
        return null;
    }

    /**
     * @return items
     */
    public CalendarDataModelItem[] getItems() {
        return items;
    }

    /**
     * @param setter for items
     */
    public void setItems(CalendarDataModelItem[] items) {
        this.items = items;
    }

    /**
     * @param valueChangeEvent handling
     */
    public void valueChanged(ValueChangeEvent event) {
        System.out.println(event.getNewValue()+"selected");
        setCurrentDate((Date)event.getNewValue());
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(getCurrentDate());
        setCurrentDescription((String)((HashMap)items[calendar.get(Calendar.DAY_OF_MONTH)-1].getData()).get("description"));
        setCurrentShortDescription((String)((HashMap)items[calendar.get(Calendar.DAY_OF_MONTH)-1].getData()).get("shortDescription"));
    }

    /**
     * Storing changes action
     */
    public void storeDayDetails() {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(getCurrentDate());
        ((HashMap)items[calendar.get(Calendar.DAY_OF_MONTH)-1].getData()).put("shortDescription", getCurrentShortDescription());
        ((HashMap)items[calendar.get(Calendar.DAY_OF_MONTH)-1].getData()).put("description", getCurrentDescription());
    }
    
    /**
     * @return currentDescription
     */
    public String getCurrentDescription() {
        return currentDescription;
    }

    /**
     * @param currentDescription
     */
    public void setCurrentDescription(String currentDescription) {
        this.currentDescription = currentDescription;
    }

    /**
     * @return currentDisabled
     */
    public boolean isCurrentDisabled() {
        return currentDisabled;
    }

    /**
     * @param currentDisabled
     */
    public void setCurrentDisabled(boolean currentDisabled) {
        this.currentDisabled = currentDisabled;
    }

    /**
     * @return currentShortDescription
     */
    public String getCurrentShortDescription() {
        return currentShortDescription;
    }

    /**
     * @param currentShortDescription
     */
    public void setCurrentShortDescription(String currentShortDescription) {
        this.currentShortDescription = currentShortDescription;
    }

    /**
     * @return currentDate
     */
    public Date getCurrentDate() {
        return currentDate;
    }

    /**
     * @param currentDate
     */
    public void setCurrentDate(Date currentDate) {
        this.currentDate = currentDate;
    }
    
}

Obrigado

up

Alguém?