Uploaded image for project: 'PUBLIC - Liferay Faces'
  1. PUBLIC - Liferay Faces
  2. FACES-1584

IllegalStateException when rendering jsf2-export-pdf-portlet and icefaces3-crud-portlet with Liferay 6.0.x/5.2.x

    Details

      Description

      Steps to Reproduce:

      1. Deploy the jsf2-export-pdf-portlet and the icefaces3-crud-portlet to Liferay Portal 6.0.12 or Liferay Portal 5.2.9

      2. Deploy the test-setup-hook

      3. Navigate to the "Bridge Demos" site

      4. Click on page link for "JSF2-PDF" and "ICE3-CRUD"

      If the error still exists, you will see a "temporarily unavailable" error message in the browser, and the following in the Tomcat console:

      16:32:16,582 ERROR [render_portlet_jsp:154] java.lang.IllegalStateException: Could not find backup for factory javax.faces.lifecycle.LifecycleFactory. 
      	at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1010)
      	at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:342)
      	at com.liferay.faces.bridge.BridgePhaseBaseImpl.<init>(BridgePhaseBaseImpl.java:102)
      	at com.liferay.faces.bridge.BridgePhaseCompatImpl.<init>(BridgePhaseCompatImpl.java:38)
      	at com.liferay.faces.bridge.BridgePhaseRenderImpl.<init>(BridgePhaseRenderImpl.java:66)
      	at com.liferay.faces.bridge.BridgePhaseFactoryImpl.getBridgeRenderPhase(BridgePhaseFactoryImpl.java:49)
      	at com.liferay.faces.bridge.BridgeImpl.doFacesRequest(BridgeImpl.java:110)
      	at javax.portlet.faces.GenericFacesPortlet.doView(GenericFacesPortlet.java:255)
      	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:328)
      	at javax.portlet.faces.GenericFacesPortlet.doDispatch(GenericFacesPortlet.java:204)
      	at javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
      	at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100)
      	at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64)
      	at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:653)
      	at com.liferay.portlet.InvokerPortletImpl.invokeRender(InvokerPortletImpl.java:726)
      	at com.liferay.portlet.InvokerPortletImpl.render(InvokerPortletImpl.java:426)
      	at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:1417)
      	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
      

      It turns out that this was caused by FACES-1491. Specifically, when we removed the <instanceable>true</instanceable> entry from WEB-INF/liferay-portlet.xml, we neglected to remove the "INSTANCE" from the corresponding entry in the TestPages.java class in the test-setup-hook. Liferay 6.1+ must be able to straighten this out at runtime and display the portlets without error.

        Attachments

          Activity

            People

            • Assignee:
              neil.griffin Neil Griffin
              Reporter:
              neil.griffin Neil Griffin
              Participants of an Issue:
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Packages

                Version Package
                liferay-faces-3.0.2-legacy-ga3
                liferay-faces-3.0.2-ga3
                liferay-faces-3.1.2-ga3