-
1. Re: NullPointerException in D2DViewHandler.calculateRenderKi
jalupa Jan 15, 2007 5:25 PM (in response to ccrouch)Yes, I tried to combine JSF 1.2 with IceFaces and Facelets and came to the conclusion that this requires a lot of patching of IceFaces (despite Ted Goddard's claims elsewhere on this forum).
I encountered and investigated your problem:
Section 10.4.5 of the JSF 1.2 specification states that you must "provide a constructor that takes a single argument of the appropriate type (in casu ViewHandler), if you want that the custom implementation receives a reference to the implementation that was previously fulfilling the role."
The D2DViewHandler uses the "original" (id est the Default ViewHandler) ViewHandler in the calculateRenderKitId method, unfortunately, the D2DSeamFaceletViewHandler doesn't provide the aforementioned constructor, so the original view handler is never passed in this custom view handler, causing the NullPointerException (as we all know, constructors aren't inherited). The patch is trivial, however, when you patch this, you will run into other issues. See for example my post in "Seam doesn't play with ICEFaces".
Apparently the ICEFaces people don't seem to have a public bug tracking system (yet), ... -
2. Re: NullPointerException in D2DViewHandler.calculateRenderKi
jessicasant Jan 16, 2007 10:50 AM (in response to ccrouch)I reproduced this using the "icefaces" seam example
environment:
Seam 1.1.GA
JBoss 4.0.5.GA
Sun RI 1.2
I followed the "Running the booking example on JBoss with the JSF 1.2 RI" sticky (http://www.jboss.com/index.html?module=bb&op=viewtopic&t=94738), namely:
1- setup a configuration of JBossAS 4.0.5 to use the SunRI instead of myFaces
2- modified the iceFaces\resources\META-INF\application.xml, commented out the el-api.jar and el-ri.jar:<!-- <module> <java>el-api.jar</java> </module> <module> <java>el-ri.jar</java> </module> -->
3- modified iceFaces\resources\WEB-INF\faces-config.xml to use the SeamELResolver<application> <el-resolver>org.jboss.seam.jsf.SeamELResolver</el-resolver> </application>
4- modified iceFaces\resources\WEB-INF\web.xml to use SunRI:<!-- MyFaces --> <!-- <listener> <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class> </listener> --> <!-- JSF RI --> <listener> <listener-class>com.sun.faces.config.ConfigureListener</listener-class> </listener>
5- built the ear, then removed the el-ri.jar and el-api.jar from the generated ear.
6- deployed jboss-seam-icefaces.ear and icefaces-ds.xml to the SunRI configured JBossAS
7- when I run, I get a NullPointerException10:41:31,890 ERROR [STDERR] Jan 16, 2007 10:41:31 AM com.sun.faces.config.ConfigureListener isJspTwoOne WARNING: Incorrect JSP version found, method getJspApplicationContext does not exist. 10:41:31,906 ERROR [STDERR] Jan 16, 2007 10:41:31 AM com.sun.faces.config.ConfigureListener contextInitialized INFO: Completed initializing Sun's JavaServer Faces implementation (1.2_02-b03-FCS) for context 'null' 10:41:31,921 INFO [ResponseStateManager] using response state manager: com.icesoft.faces.webapp.xmlhttp.ResponseStateManager 10:41:32,000 INFO [EARDeployer] Started J2EE application: file:/F:/jboss-4.0.5.GA-ejb3/server/default/deploy/jboss-seam-icefaces.ear 10:41:37,531 ERROR [STDERR] Jan 16, 2007 10:41:37 AM com.sun.faces.lifecycle.ELResolverInitPhaseListener populateFacesELResolverForJsp INFO: JSF1027: [null] The ELResolvers for JSF were not registered with the JSP container. 10:41:37,531 INFO [Events] no events.xml file found 10:41:37,531 ERROR [STDERR] Jan 16, 2007 10:41:37 AM com.sun.faces.lifecycle.LifecycleImpl phase WARNING: executePhase(RESTORE_VIEW 1,com.icesoft.faces.context.BridgeFacesContext@1155013) threw exception java.lang.NullPointerException at com.icesoft.faces.application.D2DViewHandler.calculateRenderKitId(D2DViewHandler.java:696) at com.sun.faces.lifecycle.RestoreViewPhase.isPostback(RestoreViewPhase.java:241) at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:170) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:244) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:113) at com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet.service(PersistentFacesServlet.java:389) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) .... 10:41:37,546 ERROR [PersistentFacesServlet] Exception executing lifecycle or setting up persistent context. java.lang.NullPointerException javax.faces.FacesException: java.lang.NullPointerException at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:305) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:113) at com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet.service(PersistentFacesServlet.java:389) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) ... 10:41:37,562 ERROR [SeamExceptionFilter] uncaught exception handled by Seam javax.servlet.ServletException: java.lang.NullPointerException at com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet.service(PersistentFacesServlet.java:437) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) 10:41:37,562 ERROR [[Persistent Faces Servlet]] Servlet.service() for servlet Persistent Faces Servlet threw exception javax.faces.FacesException: java.lang.NullPointerException at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:305) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:113) at com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet.service(PersistentFacesServlet.java:389) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) ... Caused by: java.lang.NullPointerException at com.icesoft.faces.application.D2DViewHandler.calculateRenderKitId(D2DViewHandler.java:696) at com.sun.faces.lifecycle.RestoreViewPhase.isPostback(RestoreViewPhase.java:241) at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:170) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:244) ... 25 more
-
3. Re: NullPointerException in D2DViewHandler.calculateRenderKi
jessicasant Jan 16, 2007 11:27 AM (in response to ccrouch)I posted the problem on the ICEfaces forum here: http://www.icefaces.org/JForum/posts/list/3410.page
-
4. Re: NullPointerException in D2DViewHandler.calculateRenderKi
tedgoddard Jan 18, 2007 11:59 AM (in response to ccrouch)
This specific bug has been addressed in ICEfaces 1.5.2, so that the seam-icefaces application is now functional with JSF 1.2.(Effects, such as the highlight effect, are not working, however.)