I managed to fix this by expanding the converter to be able to handle
java.util.Date.
I made it extend from HtmlCalendarRenderer.CalendarDateTimeConverter, and
added a getAsDate method that converts the joda DateTime to a Date object,
like this:

        public Date getAsDate(FacesContext facesContext, UIComponent 
uiComponent) {
                Object value = RendererUtils.getObjectValue(uiComponent);
                if (value instanceof DateTime) {
                        return ((DateTime) value).toDate();
                }
                throw new IllegalArgumentException(
                                "Expected submitted value of type DateTime for 
component : "
                                                + 
RendererUtils.getPathToComponent(uiComponent));
        }

Michiel Weggen




Martyn Hiemstra-3 wrote:
> 
> Hi All,
> 
> I beleive I have discovered a serious bug in the inputCalendar 
> component. This is the situation:
> 
> I have a form backing bean with a Joda datetime object in it. The value 
> expression is #{formBackingBean.dateTime}. I create a htmloutput text 
> and set it's value and I set the converter. I use this code:
> <f:outputText value='#{formBackingBean.dateTime}" 
> converter="DateConverter" />
> 
> This works perfectly. When I debug the DateConverter the value of the 
> input text is the date time object from the form backing bean. I then 
> format the date time object and I see the date in the output text box on 
> the screen. By the way the DateConverter is a custom converter that 
> converts joda DateTime objects into a String and vice versa.
> 
> Now I create a tomahawk inputCalendar and set the value and the 
> converter in the same way like this:
> <t:inputCalendar value='#{formBackingBean.dateTime}" 
> converter="DateConverter" />
> 
> When I debug the date converter, the moethod getAsString indicates that 
> the value of the input calendar is null. I beleive there is a bug in the 
> input calendar object since the joda date time object from the form 
> backing bean is not loaded in the input calendar. I use the same value 
> expression as the output text and that component works perfectly so it 
> isn't some typo.
> 
> Any help would be great,
> Martyn Hiemstra
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Tomahawk-inputCalendar-bug-tp21143374p23959245.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.

Reply via email to