[richfaces-issues] [JBoss JIRA] (RF-11487) Metamer: rich:calendar: Attribute value change causes ConvertException on initialized calendar
Jiří Štefek (JIRA)
jira-events at lists.jboss.org
Thu Sep 27 02:59:03 EDT 2012
[ https://issues.jboss.org/browse/RF-11487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722159#comment-12722159 ]
Jiří Štefek commented on RF-11487:
----------------------------------
I think, that it is just a Metamer's issue. The calendar saves its @currentDate and @value with some default java.util.Date's pattern and updates the according Metamer attributes with this default pattern value, but calendar is expecting the correct date pattern as set in his attribute @datePattern. So a simple converter (f:convertDateTime) to actual date pattern for these attributes inputs can fix it.
> Metamer: rich:calendar: Attribute value change causes ConvertException on initialized calendar
> ----------------------------------------------------------------------------------------------
>
> Key: RF-11487
> URL: https://issues.jboss.org/browse/RF-11487
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-input
> Affects Versions: 4.1.0.Milestone2
> Environment: RichFaces 4.1.0.20110910-M2 r.
> Metamer 4.1.0.20110910-M2 r.22701
> Mojarra 2.0.4-b09-jbossorg-4
> JBoss Web 7.0.1.Final
> Java(TM) SE Runtime Environment 1.6.0_26-b03 @ Linux
> Mozilla/5.0 (X11; Linux i686; rv:7.0) Gecko/20100101 Firefox/7.0
> Reporter: Ján Jamrich
> Assignee: Ján Jamrich
> Priority: Minor
> Fix For: 4.Future
>
>
> When firstly pick some date from popup and then change any attribute value, error page with following exception is displayed instead of component example page:
> Whole exception stack trace:
> {code}
> javax.servlet.ServletException: form:calendar: 'Sat Sep 01 02:00:00 CEST 2012' could not be understood as a date.
> javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
> org.richfaces.tests.metamer.TestIdentityFilter.doFilter(TestIdentityFilter.java:93)
> root cause
> javax.faces.convert.ConverterException: form:calendar: 'Sat Sep 01 02:00:00 CEST 2012' could not be understood as a date.
> javax.faces.convert.DateTimeConverter.getAsObject(DateTimeConverter.java:407)
> org.richfaces.utils.CalendarHelper.convertStringToDate(CalendarHelper.java:202)
> org.richfaces.utils.CalendarHelper.getAsDate(CalendarHelper.java:68)
> org.richfaces.utils.CalendarHelper.getCurrentDateOrDefault(CalendarHelper.java:210)
> org.richfaces.renderkit.CalendarRendererBase.getCurrentDateAsString(CalendarRendererBase.java:274)
> org.richfaces.renderkit.html.CalendarRenderer.doEncodeEnd(CalendarRenderer.java:475)
> org.richfaces.renderkit.RendererBase.encodeEnd(RendererBase.java:175)
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
> javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
> com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
> com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:105)
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
> com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402)
> com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125)
> javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
> com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
> javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
> org.richfaces.tests.metamer.TestIdentityFilter.doFilter(TestIdentityFilter.java:93)
> root cause
> java.text.ParseException: Unparseable date: "Sat Sep 01 02:00:00 CEST 2012"
> java.text.DateFormat.parse(DateFormat.java:357)
> javax.faces.convert.DateTimeConverter.getAsObject(DateTimeConverter.java:404)
> org.richfaces.utils.CalendarHelper.convertStringToDate(CalendarHelper.java:202)
> org.richfaces.utils.CalendarHelper.getAsDate(CalendarHelper.java:68)
> org.richfaces.utils.CalendarHelper.getCurrentDateOrDefault(CalendarHelper.java:210)
> org.richfaces.renderkit.CalendarRendererBase.getCurrentDateAsString(CalendarRendererBase.java:274)
> org.richfaces.renderkit.html.CalendarRenderer.doEncodeEnd(CalendarRenderer.java:475)
> org.richfaces.renderkit.RendererBase.encodeEnd(RendererBase.java:175)
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
> javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
> com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
> com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:105)
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
> com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402)
> com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125)
> javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
> com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
> javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
> org.richfaces.tests.metamer.TestIdentityFilter.doFilter(TestIdentityFilter.java:93)
> {code}
> Before date selected there is no problem with attribute change in calendar component example page.
> Note: on similar page using f:ajax (faces/components/richCalendar/fAjax.xhtml) this problem doesn't appear - no exception raised, but when change attribute value, date set in calendar component is lost.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the richfaces-issues
mailing list