[prev in list] [next in list] [prev in thread] [next in thread] 

List:       myfaces-user
Subject:    Re: [Tomahawk] NPE using JsCookMenu on Tomahawk 1.1.11 / JSF2
From:       Cédric_Durmont <cdurmont () gmail ! com>
Date:       2012-01-17 16:47:29
Message-ID: CAJaowMjrMGfTvqkFAwM30FEzwLUC=X_YWscHvmspGgDFEBxUhQ () mail ! gmail ! com
[Download RAW message or body]

Thanks a lot, it works now !
FYI, the dummy file is also missing from ThemeGray...

Regards,
Cédric Durmont

2012/1/17 Leonardo Uribe <lu4242@gmail.com>:
> Hi
> 
> It seems "ThemeMiniBlack" does not have the dummy file ;j that helps
> to split the request path. The solution is simple, just add an empty
> file named ;j under
> META-INF/resources/oam.custom.navmenu.jscookmenu.ThemeMiniBlack
> inside tomahawk jar, or just extract the theme, and use styleLibrary,
> imageLibrary and javascriptLibrary to point to a new location that
> includes that file. If you look other themes the file is there. Thanks
> for notice it.
> 
> regards,
> 
> Leonardo Uribe
> 
> 2012/1/17 Cédric Durmont <cdurmont@gmail.com>:
> > Hello,
> > 
> > Here's my setup :
> > - Myfaces 2.1.5
> > - Trinidad 2.0.0 / 2.0.2-SNAPSHOT (updated yesterday)
> > - Tomahawk .1.1.11, core20 branch (also updated yesterday)
> > 
> > I have a simple test page with a facelets template using Tomahawk's JsCookMenu :
> > [...]
> > <trh:body styleClass="#{styleBody}">
> > <tr:form usesUpload="#{upload}">
> > <t:jscookMenu theme="ThemeMiniBlack" layout="hbr">
> > <t:navigationMenuItem itemLabel="whatever">
> > [...]
> > 
> > (note that the same page runs fine in another application, which uses
> > a JSF1.2 setup)
> > 
> > Upon accessing the page, I get this error :
> > 
> > java.lang.NullPointerException
> > 
> > viewId=/test.xhtml
> > location=C:\devjava\workspace\authentic\src\main\webapp\test.xhtml
> > phaseId=RENDER_RESPONSE(6)
> > java.lang.NullPointerException
> > at org.apache.myfaces.custom.navmenu.jscookmenu.HtmlJSCookMenuRenderer.addThemeSpecificResourcesWithJSF2ResourceAPI(HtmlJSCookMenuRenderer.java:554)
> >  at org.apache.myfaces.custom.navmenu.jscookmenu.HtmlJSCookMenuRenderer.addResourcesToHeaderWithJSF2ResourceAPI(HtmlJSCookMenuRenderer.java:464)
> >  at org.apache.myfaces.custom.navmenu.jscookmenu.HtmlJSCookMenuRenderer.processEvent(HtmlJSCookMenuRenderer.java:103)
> >  at javax.faces.component.UIComponent$EventListenerWrapper.processEvent(UIComponent.java:1522)
> >  at javax.faces.event.SystemEvent.processListener(SystemEvent.java:43)
> > at org.apache.myfaces.application.ApplicationImpl._traverseListenerList(ApplicationImpl.java:2250)
> >  at org.apache.myfaces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:558)
> >  at org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper._publishPreRenderViewAddResourceEvent(ResourceViewHandlerWrapper.java:98)
> >  at org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper._publishPreRenderViewAddResourceEvent(ResourceViewHandlerWrapper.java:105)
> >  at org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper._publishPreRenderViewAddResourceEvent(ResourceViewHandlerWrapper.java:105)
> >  at org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper._publishPreRenderViewAddResourceEvent(ResourceViewHandlerWrapper.java:105)
> >  at org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper._publishPreRenderViewAddResourceEvent(ResourceViewHandlerWrapper.java:105)
> >  at org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper.renderView(ResourceViewHandlerWrapper.java:92)
> >  at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59)
> >  at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:165)
> >  at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:115)
> >  at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:241)
> > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:199)
> > at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
> >  at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:294)
> >  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
> >  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
> >  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
> >  at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
> >  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
> >  at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:357)
> >  at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
> >  at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
> > at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> > at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> > at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
> > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
> > at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
> >  at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> >  at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> > at org.mortbay.jetty.Server.handle(Server.java:326)
> > at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> > at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
> >  at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
> > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> > at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
> > at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> > 
> > 
> > HtmlJSCookMenuRenderer.java contains this:
> > 
> > 553:   Resource resource =
> > context.getApplication().getResourceHandler().createResource(";j","oam.custom.navmenu.jscookmenu."+themeName);
> >                 
> > 554:   buf.append(resource.getRequestPath());
> > 
> > As you may guess, resource on line 554 is null. themeName is "ThemeMiniBlack".
> > I'm not familiar with that code, but I did some debugging, and :
> > - createRessource tries to determine the mime type   of ";j", which -of
> > course- fails
> > - fallback is handled by a class related to CAPTCHAs (it was
> > CAPTCHAResource or CAPTCHAResourceHandlerWrapper, can't remember)
> > 
> > Could it be something in my config files ? Or is there something
> > broken in Tomahawk's resource handling ?
> > 
> > Thanks,
> > Cedric Durmont


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic