[richfaces-issues] [JBoss JIRA] Commented: (RF-8173) Regression: Calendar: converter is not working
Joseph Miller (JIRA)
jira-events at lists.jboss.org
Mon Dec 14 19:59:30 EST 2009
[ https://jira.jboss.org/jira/browse/RF-8173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12499879#action_12499879 ]
Joseph Miller commented on RF-8173:
-----------------------------------
Thanks for your efforts, you are indeed correct.
For future reference for people using Joda:
private final String _defaultPattern = "dd/MM/yyyy";
public Object getAsObject( final FacesContext facesContext, final UIComponent uiComponent, final String input )
{
...
final String componentPattern = (String) uiComponent.getAttributes().get( "datePattern" );
final String patternToUse = componentPattern != null ? componentPattern : _defaultPattern;
final DateTimeFormatter fmt = DateTimeFormat.forPattern( patternToUse );
return new LocalDate( fmt.parseDateTime( input ) );
...
}
public String getAsString( final FacesContext facesContext, final UIComponent uiComponent, final Object obj )
{
...
final String componentPattern = (String) uiComponent.getAttributes().get( "datePattern" );
final String patternToUse = componentPattern != null ? componentPattern : _defaultPattern;
final LocalDate localDate = (LocalDate) obj;
return localDate.toString( patternToUse );
}
> Regression: Calendar: converter is not working
> ----------------------------------------------
>
> Key: RF-8173
> URL: https://jira.jboss.org/jira/browse/RF-8173
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-input, regression
> Affects Versions: 3.3.2.SR1
> Environment: JBoss 5.0 / Seam 2.1.2.GA
> Reporter: Joseph Miller
> Assignee: Alex Kolonitsky
> Fix For: 3.3.3.BETA1
>
>
> I have a model property with is a Joda LocalDate. For normal input fields, I have a converter, which is working fine. However, when I try to use the converter with rich:calendar, it complains:
> <rich:calendar id="from" locale="AU" showApplyButton="false" popup="true"
> enableManualInput="true" datePattern="dd/MM/yyyy"
> value="#{adviserAvailability.validFrom}">
> <f:converter converterId="localDateConverter" />
> </rich:calendar>
> javax.faces.convert.ConverterException: Value must be a date
> at javax.faces.convert.DateTimeConverter.getAsObject(DateTimeConverter.java:401)
> at org.richfaces.component.UICalendar.getAsDate(UICalendar.java:399)
> at org.richfaces.component.UICalendar.getAsDate(UICalendar.java:410)
> at org.richfaces.component.UICalendar.getCurrentDateOrDefault(UICalendar.java:374)
> at org.richfaces.renderkit.html.CalendarRenderer.doEncodeEnd(CalendarRenderer.java:381)
> at org.richfaces.renderkit.html.CalendarRenderer.doEncodeEnd(CalendarRenderer.java:531)
> at org.ajax4jsf.renderkit.RendererBase.encodeEnd(RendererBase.java:134)
> at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:861)
> ...
> I'm defining the converter as such:
> @Name( "localDateConverter" )
> @BypassInterceptors
> @Converter( forClass = LocalDate.class, id = "localDateConverter")
> public class LocalDateConverter
> implements javax.faces.convert.Converter {
> public Object getAsObject( ... ) { .... }
> public String getAsString( ... ) { .... }
> }
> If I turn the property into a Date by using: value="#{adviserAvailability.validFrom.toDateMidnight().toDate()}"
> I get a conversion error, as I would expect from with LocalDateConverter.getAsObject, so it's definitely being made available.
> I get the same issue regardless of if I use <f:converter> or the converter attribute of <rich:calendar>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the richfaces-issues
mailing list