[ 
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.

Reply via email to