[richfaces-issues] [JBoss JIRA] Commented: (RF-1270) getting default view from portlet.xml broke in 3.1.2.GA

Jeff Messner (JIRA) jira-events at lists.jboss.org
Fri Jan 4 17:22:43 EST 2008


    [ http://jira.jboss.com/jira/browse/RF-1270?page=comments#action_12393903 ] 
            
Jeff Messner commented on RF-1270:
----------------------------------

I've re-tested my app with the new 3.1.3.GA jars, including portletbridge-api-3.1.3.GA.jar and portletbridge-impl-3.1.3.GA.jar.  Like Rajeev, I have a Liferay 4.3.x portal with a jsf / facelets / richfaces portlet (no Seam).

I reconfigured web.xml and faces-config.xml using  http://anonsvn.jboss.org/repos/portletswap/portlets/src/framework/SeamBookingPortlet as a template (I see that quite a few ajax4jsf-specific configurations have been commented out, and that web.xml refers to the bridge impl class.  Nice and clean...)

But I believe the null view root problem is still here (stacktrace below).

Like Rajeev, the only way I've ever gotten anything to work at all is by using this portlet-3.1.0-SNAPSHOT.jar for the bridge.  And even then, there are many problems:

-- javax.faces.STATE_SAVING_METHOD *MUST* be set to client (otherwise portlet crashes); this fact alone has caused countless other problems / limitations

-- almost all <a4j:xxx> tags crash any page with a session-scope bean; only request beans work (we found a hack around this: declare the session bean in an a4j:keepalive tag.  Strange but it works...)

I've previously been using 3.1.2.SP1 jars for richfaces-api, richfaces-impl, and richfaces-ui, with one custom source code modification (some important class didn't "implements Serializable").  The new 3.1.3.GA api, impl, and ui jars worked without modification (but with the same problems/limitations mentioned above).

So I was REEEEEALLY hoping the new bridge would have corrected this stuff, but the portlet crashes immediately upon accessing it.

Here is the stack trace:

Jan 4, 2008 9:45:19 PM com.sun.faces.lifecycle.Phase doPhase
SEVERE: JSF1054: (Phase ID: RENDER_RESPONSE 6, View ID: ) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl at 192492a]
21:45:19,776 ERROR [AjaxFacesPortlet:206] Error processing execute lifecycle
javax.faces.FacesException: java.lang.NullPointerException
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:128)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
        at org.ajax4jsf.portlet.AjaxFacesPortlet.render(AjaxFacesPortlet.java:317)
        at org.ajax4jsf.portlet.AjaxFacesPortlet.doFacesRequest(AjaxFacesPortlet.java:188)
        at org.ajax4jsf.portlet.AjaxFacesPortlet.doView(AjaxFacesPortlet.java:252)
        at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:235)
        at javax.portlet.GenericPortlet.render(GenericPortlet.java:163)
        at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:107)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:557)
        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:481)
        at com.liferay.portlet.CachePortlet._invoke(CachePortlet.java:359)
        at com.liferay.portlet.CachePortlet.render(CachePortlet.java:229)
        at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:1309)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:557)
        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:481)
        at com.liferay.portal.util.PortalUtil.renderPortlet(PortalUtil.java:1540)
        at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:165)
        at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:102)
        at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:270)
        at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:189)
        at org.apache.jsp.html.portal.layout.view.portlet_jsp._jspService(portlet_jsp.java:762)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:557)
        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:481)
        at com.liferay.portal.action.LayoutAction.includeLayoutContent(LayoutAction.java:292)
        at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:175)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
        at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:157)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:293)
        at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:528)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
        at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:134)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:92)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.filters.compression.CompressionFilter.doFilter(CompressionFilter.java:113)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.filters.secure.SecureFilter.doFilter(SecureFilter.java:144)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.filters.doubleclick.DoubleClickFilter.doFilter(DoubleClickFilter.java:135)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.portal.servlet.filters.layoutcache.LayoutCacheFilter.doFilter(LayoutCacheFilter.java:188)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.doFilter(AutoLoginFilter.java:117)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.doFilter(VirtualHostFilter.java:166)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.portal.servlet.filters.sessionid.SessionIdFilter.doFilter(SessionIdFilter.java:85)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
        at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:520)
        at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
        at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:243)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
        ... 100 more
21:45:19,784 ERROR [jsp:52] java.lang.NullPointerException
        at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:520)
        at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
        at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:243)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
        at org.ajax4jsf.portlet.AjaxFacesPortlet.render(AjaxFacesPortlet.java:317)
        at org.ajax4jsf.portlet.AjaxFacesPortlet.doFacesRequest(AjaxFacesPortlet.java:188)
        at org.ajax4jsf.portlet.AjaxFacesPortlet.doView(AjaxFacesPortlet.java:252)
        at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:235)
        at javax.portlet.GenericPortlet.render(GenericPortlet.java:163)
        at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:107)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:557)
        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:481)
        at com.liferay.portlet.CachePortlet._invoke(CachePortlet.java:359)
        at com.liferay.portlet.CachePortlet.render(CachePortlet.java:229)


Please let me know anything else you might need to help diagnose this problem.  Thanks!


> getting default view from portlet.xml broke in 3.1.2.GA
> -------------------------------------------------------
>
>                 Key: RF-1270
>                 URL: http://jira.jboss.com/jira/browse/RF-1270
>             Project: RichFaces
>          Issue Type: Bug
>    Affects Versions: 3.1.2
>            Reporter: Rajeev Chandrasekaran
>         Assigned To: Aleksej Yanul
>             Fix For: 3.2.0, 3.1.3
>
>
> It seems that the fix to RF-1109, may have broken portlet support? I've been using richfaces since a 3.1.0-snapshot (mostly) successfully in liferay 4.3.x. When I tried to upgrade to richfaces 3.1.2.GA, I noticed that the view root is null coming in through the AjaxFacesPortlet and blowing up later on. I think it may be possible that the view root may not be set as a result of commenting out restoreView in AjaxFacesPortlet.doView. This restoreView call used to call the portletStateHolder.getViewId(facesContext), which in turn grabbed the default viewid from the portlet config on the first rendering of the portlet. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the richfaces-issues mailing list