[ https://issues.apache.org/jira/browse/TOMAHAWK-1234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590466#action_12590466 ]
Simon Kitching commented on TOMAHAWK-1234: ------------------------------------------ Within class HtmlCalendarRendere, this method is only called with return values from Calendar.getFirstDayOfWeek. And that is specified to return 1 (sun) to 7(Sat). This method is also called from HtmlDateRenderer, but that correctly passes Calendar day-of-week values. So a value of -1 should never be possible. I guess that is a leftover from some older code that did something different, though I'm not entirely sure. Given that passing 0 (resulting in a -1 value for this var) is a real bug (0 is not a valid Calendar day-of-week value) I would rather see an exception as a response rather than have the code try to guess what the caller meant. > IllegalStateException while using the Arabic locale with Calendar > ----------------------------------------------------------------- > > Key: TOMAHAWK-1234 > URL: https://issues.apache.org/jira/browse/TOMAHAWK-1234 > Project: MyFaces Tomahawk > Issue Type: Bug > Components: Calendar > Affects Versions: 1.1.7-SNAPSHOT > Reporter: Hazem Saleh > Assignee: Grant Smith > Fix For: 1.1.7-SNAPSHOT > > Attachments: Arabic-Calendar.jpg, calendar_ar_fix.patch > > Original Estimate: 1h > Remaining Estimate: 1h > > If the locale of the application is "ar_EG" Arabic-Egypt, the > HTMLCalendarRendrer throw IllegalStateException with message "Week may only > start with sunday or monday." > here is the stack trace > Week may only start with sunday or monday. > java.lang.IllegalStateException: Week may only start with sunday or monday. > at > org.apache.myfaces.custom.calendar.HtmlCalendarRenderer.getLocalizedLanguageScript(HtmlCalendarRenderer.java:345) > at > org.apache.myfaces.custom.date.HtmlDateRenderer.encodePopupCalendarButton(HtmlDateRenderer.java:287) > at > org.apache.myfaces.custom.date.HtmlDateRenderer.encodeEnd(HtmlDateRenderer.java:101) > at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:536) > at javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:495) > at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:363) > at > org.apache.jsp.nag.getHistory_jsp._jspx_meth_t_inputDate_0(getHistory_jsp.java:1147) > at > org.apache.jsp.nag.getHistory_jsp._jspx_meth_h_form_0(getHistory_jsp.java:833) > at org.apache.jsp.nag.getHistory_jsp._jspService(getHistory_jsp.java:476) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) > at > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334) > at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) > at > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463) > at > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398) > at > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) > at > org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:416) > at > org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234) > at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384) > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) > at > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524) > at > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) > at > org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) > at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) > at > org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) > at java.lang.Thread.run(Thread.java:595) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.