Achim, The ResourceResolver in JSF2.2 has been deprecated and replaced by the ResourceHandler. See: http://docs.oracle.com/javaee/7/api/javax/faces/view/facelets/ResourceResolver.html http://docs.oracle.com/javaee/7/api/javax/faces/application/ResourceHandler.html
Thank you for the instruction on installing Pax Web 4.0. I will give it a try, but it may take a week or so. Paul Spencer On Sep 15, 2014, at 3:25 AM, Achim Nierbeck <[email protected]> wrote: > Hi Paul, > > I've read the thread, interesting. Right now the resolver doesn't seem to use > the resolver provided by Pax Web. Maybe this could be enhanced in some way, > I'll try to dig into this. > > Regarding Pax Web 4.0 and Karaf 3.0.1. Won't work easily, but for testing try > with Karaf 3.0.2 cause I added an enhancement for that. So using > 3.0.2-SNAPSHOT just add the feature url for Pax Web 4.0 to Karaf by issuing > this command: > > feature:addRepo org.ops4j.pax.web/pax-web-features/4.0.0/xml/features > > after that just install the pax-war feature first and after that install the > war feature. This way you'll also have the required commands available. > > regards, Achim > > > 2014-09-15 0:11 GMT+02:00 Paul Spencer <[email protected]>: > Achim, > I reported this issue to the MyFaces user mailing list on September 5, > http://myfaces.10567.n7.nabble.com/NPE-in-DefaultFaceletFactory-createViewMetadataFacelet-from-MyFaces-2-2-4-and-Karaf-3-0-1-td118664.html, > but they have not acknowledge this as a MyFaces issue. Running the same use > case with MyFaces 2.1.x and 2.2.x, results in different results implying a > regression bug. > > How to I run Pax Web 4.0 with Karaf 3.0.1? > > Paul Spencer > > > > On Sep 13, 2014, at 6:22 PM, Achim Nierbeck <[email protected]> wrote: > > > Ok, I drilled it down to one issue: > > the following code in DefaultFaceletFactory._createViewMetadataFacelet > > String faceletId = "/"+ _removeFirst(url.getFile(), getBaseUrl().getFile()); > > > > runs into the nullpointer because getBaseUrl, tries to resolve "/" as > > resource which doesn't exist and therefore is null, therefore returning a > > nullpointer as a getFile on null doesn't work. > > > > Now I'm out of Ideas why this does work for Pax Web 4, but not for 3.1 > > > > regards, Achim > > > > > > 2014-09-13 13:53 GMT+02:00 Achim Nierbeck <[email protected]>: > > For your info, at Pax Web those Issues are connected to this: > > > > https://ops4j1.jira.com/browse/PAXWEB-732 > > https://ops4j1.jira.com/browse/PAXWEB-733 > > > > regards, Achim > > > > 2014-09-13 0:05 GMT+02:00 Achim Nierbeck <[email protected]>: > > Hi, > > > > as MyFaces has been the only OSGi Ready JSF impl, I only used that one. > > It might be an issue of Pax Web though, because it works with Pax Web 4.0. > > > > I'll try to investigate ore on this. > > > > rgards, Achim > > > > 2014-09-12 22:16 GMT+02:00 Paul Spencer <[email protected]>: > > Achim, > > Have you tried using a different JSF 2.2 implementation? > > > > I suspect there is a regression bug in MyFaces 2.2.4, but the developer > > have yet to acknowledge one. > > > > Paul Spencer > > > > > > On Sep 12, 2014, at 12:08 PM, Achim Nierbeck <[email protected]> > > wrote: > > > > > Ok, > > > > > > so far I got it working properly, only the PrimeFaces integration test > > > isn't working. > > > Though I sometimes think those simple tests I got aren't really a "good" > > > match to catch all trip-wires regarding JSF. > > > > > > The failure I got for PrimeFaces is actually the same you reported. > > > So I'll try to look into this a bit more. > > > > > > regards, Achim > > > > > > > > > > > > > > > 2014-09-12 15:29 GMT+02:00 Achim Nierbeck <[email protected]>: > > > Hi Paul, > > > > > > After I've got it working in a integration test, I'm gonna check how a > > > backport to Pax Web 3.1.x turns out, cause I think this should work there > > > as well already. I'll keep you posted. > > > > > > regards, Achim > > > > > > > > > 2014-09-12 4:31 GMT+02:00 Paul Spencer <[email protected]>: > > > Achim, > > > This is encouraging! > > > > > > Will this be supported in Karaf 3.0.x? > > > > > > Paul Spencer > > > > > > > > > On Sep 11, 2014, at 7:22 PM, Achim Nierbeck <[email protected]> > > > wrote: > > > > > > > Hi Paul, > > > > > > > > I tested to use Pax Web 4.0 with MyFaces 2.2.4 and it worked very well, > > > > right now I'm working on fixing the automatic test for the 4.0.x branch. > > > > > > > > regards, Achim > > > > > > > > 2014-09-06 3:18 GMT+02:00 Paul Spencer <[email protected]>: > > > > Achim, > > > > MyFaces is trying to create a Facelet from the url > > > > “bundle://636.1:0/helloWorld.xhtml” and I suspect the second colon is > > > > causing a problem. I have posted a question on the MyFaces list asking > > > > this question. > > > > Creating Facelet used to create View Metadata for: > > > > bundle://636.1:0/helloWorld.xhtml > > > > > > > > Paul Spencer > > > > > > > > On Sep 5, 2014, at 11:56 AM, Achim Nierbeck <[email protected]> > > > > wrote: > > > > > > > > > hmm, I've just checked, looks like you're working on the myfaces > > > > > project. > > > > > So looks like I could learn a lot from you :D > > > > > > > > > > regards, Achim > > > > > > > > > > > > > > > 2014-09-05 17:53 GMT+02:00 Achim Nierbeck <[email protected]>: > > > > > Paul, > > > > > > > > > > short answer no. > > > > > Cause the use case you used is the only test I have right now for JSF. > > > > > Long answer, JSF is just major PITA with lots of strange classloading > > > > > going on under the hood. > > > > > I'm glad I somehow got it working so right now Myfaces 2.1.x is the > > > > > only version working. > > > > > > > > > > So if there is one standing up to get this fixed, be my guest :) > > > > > > > > > > regards, Achim > > > > > > > > > > > > > > > > > > > > > > > > > 2014-09-05 17:47 GMT+02:00 Paul Spencer <[email protected]>: > > > > > Achim, > > > > > Use Case aside, should MyFaces 2.2.x work in Karaf 3.0.1? > > > > > > > > > > Paul Spencer > > > > > > > > > > On Sep 5, 2014, at 11:40 AM, Achim Nierbeck <[email protected]> > > > > > wrote: > > > > > > > > > > > Hi, > > > > > > > > > > > > the use case you're referencing is using MyFaces 2.1.9. > > > > > > Anything else has not been tested so far. > > > > > > > > > > > > regards, Achim > > > > > > > > > > > > > > > > > > > > > > > > 2014-09-05 16:13 GMT+02:00 Paul Spencer <[email protected]>: > > > > > > I am getting the following exception when browsing to a JSF page > > > > > > when using MyFaces 2.2.4 and Karaf 3.0.1. No exception is thrown > > > > > > when using MyFaces 2.1.15. The only difference is which version of > > > > > > myfaces-api and myfaces-impl are installed. > > > > > > > > > > > > Should MyFaces 2.2 work in Karaf 3.0.1? > > > > > > If so, what needed to make it work? > > > > > > > > > > > > *** > > > > > > * Exception thrown when using MyFaces 2.2.4 > > > > > > *** > > > > > > > > > > > > java.lang.NullPointerException > > > > > > at > > > > > > org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory._createViewMetadataFacelet(DefaultFaceletFactory.java:410) > > > > > > at > > > > > > org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory.access$100(DefaultFaceletFactory.java:57) > > > > > > at > > > > > > org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory$2.newInstance(DefaultFaceletFactory.java:131) > > > > > > at > > > > > > org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory$2.newInstance(DefaultFaceletFactory.java:128) > > > > > > at > > > > > > org.apache.myfaces.view.facelets.impl.FaceletCacheImpl.getViewMetadataFacelet(FaceletCacheImpl.java:114) > > > > > > at > > > > > > org.apache.myfaces.view.facelets.impl.FaceletCacheImpl.getViewMetadataFacelet(FaceletCacheImpl.java:51) > > > > > > at > > > > > > org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory.getViewMetadataFacelet(DefaultFaceletFactory.java:509) > > > > > > at > > > > > > org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory.getViewMetadataFacelet(DefaultFaceletFactory.java:493) > > > > > > at > > > > > > org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage._getViewMetadataFacelet(FaceletViewDeclarationLanguage.java:2584) > > > > > > at > > > > > > org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.access$000(FaceletViewDeclarationLanguage.java:147) > > > > > > at > > > > > > org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage$FaceletViewMetadata.createMetadataView(FaceletViewDeclarationLanguage.java:2738) > > > > > > at > > > > > > org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:243) > > > > > > at > > > > > > org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:196) > > > > > > at > > > > > > org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:143) > > > > > > at > > > > > > javax.faces.webapp.FacesServlet.service(FacesServlet.java:198) > > > > > > at > > > > > > org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684) > > > > > > at > > > > > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496) > > > > > > at > > > > > > org.ops4j.pax.web.service.internal.WelcomeFilesFilter.doFilter(WelcomeFilesFilter.java:185) > > > > > > at > > > > > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) > > > > > > at > > > > > > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) > > > > > > at > > > > > > org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:69) > > > > > > at > > > > > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) > > > > > > at > > > > > > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) > > > > > > at > > > > > > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) > > > > > > at > > > > > > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) > > > > > > at > > > > > > org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:240) > > > > > > at > > > > > > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) > > > > > > at > > > > > > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) > > > > > > at > > > > > > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) > > > > > > at > > > > > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) > > > > > > at > > > > > > org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:77) > > > > > > > > > > > > > > > > > > I am using the following to as a use case: > > > > > > > > > > > > https://github.com/ops4j/org.ops4j.pax.web/tree/master/samples/war-jsf-primefaces > > > > > > > > > > > > Paul Spencer > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > Apache Member > > > > > > Apache Karaf <http://karaf.apache.org/> Committer & PMC > > > > > > OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> > > > > > > Committer & Project Lead > > > > > > blog <http://notizblog.nierbeck.de/> > > > > > > > > > > > > Software Architect / Project Manager / Scrum Master > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Apache Member > > > > > Apache Karaf <http://karaf.apache.org/> Committer & PMC > > > > > OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> > > > > > Committer & Project Lead > > > > > blog <http://notizblog.nierbeck.de/> > > > > > > > > > > Software Architect / Project Manager / Scrum Master > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Apache Member > > > > > Apache Karaf <http://karaf.apache.org/> Committer & PMC > > > > > OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> > > > > > Committer & Project Lead > > > > > blog <http://notizblog.nierbeck.de/> > > > > > > > > > > Software Architect / Project Manager / Scrum Master > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > Apache Member > > > > Apache Karaf <http://karaf.apache.org/> Committer & PMC > > > > OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer > > > > & Project Lead > > > > blog <http://notizblog.nierbeck.de/> > > > > > > > > Software Architect / Project Manager / Scrum Master > > > > > > > > > > > > > > > > > > > -- > > > > > > Apache Member > > > Apache Karaf <http://karaf.apache.org/> Committer & PMC > > > OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & > > > Project Lead > > > blog <http://notizblog.nierbeck.de/> > > > > > > Software Architect / Project Manager / Scrum Master > > > > > > > > > > > > > > > -- > > > > > > Apache Member > > > Apache Karaf <http://karaf.apache.org/> Committer & PMC > > > OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & > > > Project Lead > > > blog <http://notizblog.nierbeck.de/> > > > > > > Software Architect / Project Manager / Scrum Master > > > > > > > > > > > > > -- > > > > Apache Member > > Apache Karaf <http://karaf.apache.org/> Committer & PMC > > OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & > > Project Lead > > blog <http://notizblog.nierbeck.de/> > > > > Software Architect / Project Manager / Scrum Master > > > > > > > > > > -- > > > > Apache Member > > Apache Karaf <http://karaf.apache.org/> Committer & PMC > > OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & > > Project Lead > > blog <http://notizblog.nierbeck.de/> > > > > Software Architect / Project Manager / Scrum Master > > > > > > > > > > -- > > > > Apache Member > > Apache Karaf <http://karaf.apache.org/> Committer & PMC > > OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & > > Project Lead > > blog <http://notizblog.nierbeck.de/> > > > > Software Architect / Project Manager / Scrum Master > > > > > > > -- > > Apache Member > Apache Karaf <http://karaf.apache.org/> Committer & PMC > OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & > Project Lead > blog <http://notizblog.nierbeck.de/> > > Software Architect / Project Manager / Scrum Master >
