ReferenceSyntaxException with JSCookMenu
----------------------------------------

                 Key: TOMAHAWK-1036
                 URL: https://issues.apache.org/jira/browse/TOMAHAWK-1036
             Project: MyFaces Tomahawk
          Issue Type: Bug
          Components: JS Cook Menu
    Affects Versions: 1.1.5
            Reporter: Claes H


When using jscookmenu defined as follows

                                <input type="hidden" name="jscook_action" />
                                <t:jscookMenu layout="hbr" theme="ThemeOffice"> 
                                <t:navigationMenuItem 
actionListener="#{eventSelectionHandler.newEvent}" action="enterNewEvent" 
itemLabel="New Event" />
                                <t:navigationMenuItem 
actionListener="#{eventSearchHandler.start}" action="searchEvents" 
itemLabel="Search" />
                                <t:navigationMenuItem 
rendered="#{securityHandler.userAdministrator}" itemLabel="Admin">
                                        <t:navigationMenuItem 
action="adminCompanyProfile" style="padding-left:128px;" itemLabel="Manage 
company profile" />
                                        <t:navigationMenuItem 
actionListener="#{utilBean.createEmptyCompany}" action="createCompany" 
itemLabel="Create company" />
                                        <t:navigationMenuItem 
action="publishXML" itemLabel="Publish xml" />
                                        <t:navigationMenuItem action="storeXML" 
itemLabel="Store xml" />
                                        <t:navigationMenuItem 
action="publishAndStoreXML" itemLabel="Publish and store xml" />
                                </t:navigationMenuItem></t:jscookMenu>

the following exception is thrown when clicking on an item having an 
actionListener defined (note the semicolon following the expressiOn)

javax.faces.el.ReferenceSyntaxException: #{eventSearchHandler.start};
        at 
com.sun.faces.application.ApplicationImpl.createMethodBinding(ApplicationImpl.java:464)
        at 
org.apache.myfaces.custom.navmenu.jscookmenu.HtmlJSCookMenuRenderer.decode(HtmlJSCookMenuRenderer.java:114)
        at 
javax.faces.component.UIComponentBase.decode(UIComponentBase.java:774)
        at 
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:994)
        at javax.faces.component.UIForm.processDecodes(UIForm.java:203)
        at 
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:989)
        at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:494)
        at 
com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:101)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
        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)


Patch for 
org/apache/myfaces/custom/navmenu/jscookmenu/HtmlJSCookMenuRenderer.java rev 
472638:

107c107,108
<                         if (idx > 0 && idx < action.length() - 1) {
---
>
>                         if (idx > 0 && idx < action.length()) {
111a113
>


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