Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 1.0
    • Fix Version/s: 1.4
    • Component/s: None
    • Labels:
      None
    • Environment:
      myfaces1.1.5, liferay portal4.3.3, orchestra-core1.0, tomcat 5.5

      Description

      In the portlet environment ConversationManager is not getting initialized. The FrameworkAdapter.getCurrentInstance() is as well NULL.
      The part of the exception is as follows:
      Caused by: java.lang.NullPointerException
      at org.apache.myfaces.orchestra.conversation.ConversationManager.getInstance(ConversationManager.java:90)
      at org.apache.myfaces.orchestra.conversation.ConversationManager.getInstance(ConversationManager.java:76)
      at org.apache.myfaces.orchestra.conversation.spring.AbstractSpringOrchestraScope.getBean(AbstractSpringOrchestraScope.java:125)
      at org.apache.myfaces.orchestra.conversation.spring.AbstractSpringOrchestraScope.get(AbstractSpringOrchestraScope.java:117)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:285)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
      at org.springframework.aop.target.SimpleBeanTargetSource.getTarget(SimpleBeanTargetSource.java:33)
      at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.getTarget(Cglib2AopProxy.java:661)
      at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:611)
      at de.seat.mitarbeiterinfo.view.mitarbeiterlist$$EnhancerByCGLIB$$4f90561b.getMitarbeiterListModel(<generated>)
      ... 125 more

      The filter is not working as expected in Portlet environment but works perfetly well in norman Servlet container.

      Can myfaces-portlet-bridge be used in someway to configure the filter to run in portlet environment?

      Thanks and Regards,
      Rashmi

      1. ORCHESTRA-Portlet-2.patch
        61 kB
        Leonardo Uribe
      2. orchestraPortlet.zip
        1.53 MB
        Rashmi
      3. stacktrace.txt
        233 kB
        Rashmi

        Activity

        Hide
        Leonardo Uribe added a comment -

        There is a basic incompatibility with weblogic portal and any JSR 301 bridge, that falls outside orchestra. At this point, orchestra do everything it needs to do in portlet case, so we can close this one, because I tested it succesfully on liferay 5.2.3 with a JSR-301 bridge.

        Show
        Leonardo Uribe added a comment - There is a basic incompatibility with weblogic portal and any JSR 301 bridge, that falls outside orchestra. At this point, orchestra do everything it needs to do in portlet case, so we can close this one, because I tested it succesfully on liferay 5.2.3 with a JSR-301 bridge.
        Hide
        Leonardo Uribe added a comment -

        Committed solution for the previous comments, but it is still pending test it against weblogic portal using jsr-168 portlet and jsr-301 jsf portlet bridge

        Show
        Leonardo Uribe added a comment - Committed solution for the previous comments, but it is still pending test it against weblogic portal using jsr-168 portlet and jsr-301 jsf portlet bridge
        Hide
        Leonardo Uribe added a comment -

        Ok, I have proposed create jsf 1.2 and 2.0 branches for orchestra in the same way as tomahawk to solve the wrapping problem, and since there are no objections about this issue I'll apply this solution soon.

        In other topic, testing orchestra in liferay 5.2.3 I have this exception:

        20:41:48,906 ERROR [RuntimePortletUtil:242] com.liferay.portal.SystemException:
        org.apache.velocity.exception.MethodInvocationException: Invocation of method 'processColumn' in class com.liferay.portlet.layoutconfiguration.util.velocity.Te
        mplateProcessor threw exception org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: ServletException in '/html/co
        mmon/themes/portlet.jsp': javax.servlet.jsp.JspException: java.lang.IllegalStateException: FrameworkAdapter not found at null_CUSTOM_2_columns_ii[line 5, column
        36]
        com.liferay.portal.SystemException: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'processColumn' in class com.liferay.portlet.
        layoutconfiguration.util.velocity.TemplateProcessor threw exception org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspExce
        ption: ServletException in '/html/common/themes/portlet.jsp': javax.servlet.jsp.JspException: java.lang.IllegalStateException: FrameworkAdapter not found at nul
        l_CUSTOM_2_columns_ii[line 5, column 36]
        at com.liferay.portal.velocity.VelocityEngineImpl.mergeTemplate(VelocityEngineImpl.java:187)
        at com.liferay.portal.kernel.velocity.VelocityEngineUtil.mergeTemplate(VelocityEngineUtil.java:84)
        at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:237)
        at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:190)
        at org.apache.jsp.html.portal.layout.view.portlet_jsp._jspService(portlet_jsp.java:831)
        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:374)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        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:630)
        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535)
        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472)
        at com.liferay.portal.action.LayoutAction.includeLayoutContent(LayoutAction.java:294)
        at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:471)
        at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:195)
        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.doPost(ActionServlet.java:432)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:608)
        at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:846)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        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:630)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
        at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:143)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
        at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:142)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:94)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
        at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:140)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
        at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:282)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:94)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
        at com.liferay.portal.servlet.filters.cache.CacheFilter.processFilter(CacheFilter.java:425)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
        at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:257)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
        at com.liferay.portal.servlet.filters.sso.opensso.OpenSSOFilter.processFilter(OpenSSOFilter.java:73)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
        at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:193)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
        at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.doFilter(VirtualHostFilter.java:191)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
        at com.liferay.portal.servlet.filters.threadlocalcache.ThreadLocalCacheFilter.processFilter(ThreadLocalCacheFilter.java:55)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:94)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
        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:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        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:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:595)
        Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'processColumn' in class com.liferay.portlet.layoutconfiguration.util.
        velocity.TemplateProcessor threw exception org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: ServletException i
        n '/html/common/themes/portlet.jsp': javax.servlet.jsp.JspException: java.lang.IllegalStateException: FrameworkAdapter not found at null_CUSTOM_2_columns_ii[lin
        e 5, column 36]
        at org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:337)
        at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:284)
        at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:252)
        at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:332)
        at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
        at org.apache.velocity.Template.merge(Template.java:328)
        at org.apache.velocity.Template.merge(Template.java:235)
        at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:381)
        at com.liferay.portal.velocity.VelocityEngineImpl.mergeTemplate(VelocityEngineImpl.java:179)
        ... 107 more
        Caused by: org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: ServletException in '/html/common/themes/portlet.jsp': javax.servlet.jsp.JspException: java.lang.IllegalStateException: FrameworkAdapter not found
        at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        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:630)
        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535)
        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472)
        at com.liferay.portal.util.PortalImpl.renderPortlet(PortalImpl.java:2884)
        at com.liferay.portal.util.PortalUtil.renderPortlet(PortalUtil.java:897)
        at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:170)
        at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:103)
        at com.liferay.portlet.layoutconfiguration.util.velocity.PortletColumnLogic.processContent(PortletColumnLogic.java:133)
        at com.liferay.portlet.layoutconfiguration.util.velocity.TemplateProcessor.processColumn(TemplateProcessor.java:68)
        at sun.reflect.GeneratedMethodAccessor300.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
        at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
        at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
        ... 114 more
        Caused by: javax.servlet.ServletException: javax.servlet.jsp.JspException: Servl
        etException in '/html/common/themes/portlet.jsp': javax.servlet.jsp.JspException
        : java.lang.IllegalStateException: FrameworkAdapter not found
        at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:852)
        at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
        at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:2038)
        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:374)
        ... 134 more
        Caused by: javax.servlet.jsp.JspException: ServletException in '/html/common/themes/portlet.jsp': javax.servlet.jsp.JspException: java.lang.IllegalStateExceptio
        n: FrameworkAdapter not found
        at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:923)
        at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:462)
        at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:1866)
        ... 137 more
        20:41:48,921 WARN [PortalImpl:2948] Current URL /web/guest/testing-jsf?p_p_id=m
        yfacestestorchestraportlets_WAR_myfacestestorchestraportlets100SNAPSHOT_INSTANCE
        _uF0Y&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col
        _count=1&_myfacestestorchestraportlets_WAR_myfacestestorchestraportlets100SNAPSH
        OT_INSTANCE_uF0Y_conversationContext=2&_myfacestestorchestraportlets_WAR_myfaces
        testorchestraportlets100SNAPSHOT_INSTANCE_uF0Y___jpfbJSFTARGET=view%3A%2Findex.j
        sp generates exception: javax.servlet.ServletException: com.liferay.portal.Syste
        mException: org.apache.velocity.exception.MethodInvocationException: Invocation
        of method 'processColumn' in class com.liferay.portlet.layoutconfiguration.util
        .velocity.TemplateProcessor threw exception org.apache.jasper.JasperException: j
        avax.servlet.ServletException: javax.servlet.jsp.JspException: ServletException
        in '/html/common/themes/portlet.jsp': javax.servlet.jsp.JspException: java.lang.
        IllegalStateException: FrameworkAdapter not found at null_CUSTOM_2_columns_ii[li
        ne 5, column 36]
        2009-10-14 20:41:48,921 DEBUG org.apache.myfaces.orchestra.conversation.spring.S
        copedBeanTargetSource - getRealBean for reservationBookView
        2009-10-14 20:41:48,921 DEBUG org.apache.myfaces.orchestra.conversation.spring.A
        bstractSpringOrchestraScope - getRealBean called for bean reservationBookView
        20:41:48,921 ERROR [IncludeTag:79] Current URL /web/guest/testing-jsf?p_p_id=myf
        acestestorchestraportlets_WAR_myfacestestorchestraportlets100SNAPSHOT_INSTANCE_u
        F0Y&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_c
        ount=1&_myfacestestorchestraportlets_WAR_myfacestestorchestraportlets100SNAPSHOT
        _INSTANCE_uF0Y_conversationContext=2&_myfacestestorchestraportlets_WAR_myfaceste
        storchestraportlets100SNAPSHOT_INSTANCE_uF0Y___jpfbJSFTARGET=view%3A%2Findex.jsp
        generates exception: FrameworkAdapter not found
        20:41:48,921 ERROR [IncludeTag:165] java.lang.IllegalStateException: FrameworkAdapter not found
        at org.apache.myfaces.orchestra.conversation.ConversationManager.getInstance(ConversationManager.java:123)
        at org.apache.myfaces.orchestra.conversation.ConversationManager.getInstance(ConversationManager.java:99)
        at org.apache.myfaces.orchestra.conversation.spring.AbstractSpringOrchestraScope.getRealBean(AbstractSpringOrchestraScope.java:330)
        at org.apache.myfaces.orchestra.conversation.spring.ScopedBeanTargetSource.getTarget(ScopedBeanTargetSource.java:73)
        at java.lang.String.valueOf(String.java:2615)
        at com.liferay.util.portlet.PortletRequestUtil._isValidAttributeValue(PortletRequestUtil.java:491)
        at com.liferay.util.portlet.PortletRequestUtil.toXML(PortletRequestUtil.java:231)
        at com.liferay.portal.velocity.VelocityVariables.insertVariables(VelocityVariables.java:382)
        at com.liferay.taglib.util.ThemeUtil.includeVM(ThemeUtil.java:179)
        at com.liferay.taglib.util.ThemeUtil.include(ThemeUtil.java:68)
        at com.liferay.taglib.util.IncludeTag.doEndTag(IncludeTag.java:59)
        at org.apache.jsp.html.common.themes.portal_jsp._jspx_meth_liferay_002dtheme_005finclude_005f1(portal_jsp.java:816)
        at org.apache.jsp.html.common.themes.portal_jsp._jspx_meth_c_005fotherwise_005f0(portal_jsp.java:788)
        at org.apache.jsp.html.common.themes.portal_jsp._jspService(portal_jsp.java:724)
        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:374)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

        The problem here is that liferay serialize request attribute map and AbstractSpringOrchestraScope add proxy beans to this map, causing that orchestra is invoked after FrameworkAdapter is released. Also, it is necessary to fix the case when a filter is used to define a FrameworkAdapter.

        Show
        Leonardo Uribe added a comment - Ok, I have proposed create jsf 1.2 and 2.0 branches for orchestra in the same way as tomahawk to solve the wrapping problem, and since there are no objections about this issue I'll apply this solution soon. In other topic, testing orchestra in liferay 5.2.3 I have this exception: 20:41:48,906 ERROR [RuntimePortletUtil:242] com.liferay.portal.SystemException: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'processColumn' in class com.liferay.portlet.layoutconfiguration.util.velocity.Te mplateProcessor threw exception org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: ServletException in '/html/co mmon/themes/portlet.jsp': javax.servlet.jsp.JspException: java.lang.IllegalStateException: FrameworkAdapter not found at null_CUSTOM_2_columns_ii[line 5, column 36] com.liferay.portal.SystemException: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'processColumn' in class com.liferay.portlet. layoutconfiguration.util.velocity.TemplateProcessor threw exception org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspExce ption: ServletException in '/html/common/themes/portlet.jsp': javax.servlet.jsp.JspException: java.lang.IllegalStateException: FrameworkAdapter not found at nul l_CUSTOM_2_columns_ii [line 5, column 36] at com.liferay.portal.velocity.VelocityEngineImpl.mergeTemplate(VelocityEngineImpl.java:187) at com.liferay.portal.kernel.velocity.VelocityEngineUtil.mergeTemplate(VelocityEngineUtil.java:84) at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:237) at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:190) at org.apache.jsp.html.portal.layout.view.portlet_jsp._jspService(portlet_jsp.java:831) 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:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 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:630) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472) at com.liferay.portal.action.LayoutAction.includeLayoutContent(LayoutAction.java:294) at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:471) at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:195) 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.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:608) at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:846) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 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:630) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:143) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154) at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:142) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:94) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154) at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:140) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154) at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:282) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:94) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154) at com.liferay.portal.servlet.filters.cache.CacheFilter.processFilter(CacheFilter.java:425) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154) at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:257) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154) at com.liferay.portal.servlet.filters.sso.opensso.OpenSSOFilter.processFilter(OpenSSOFilter.java:73) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154) at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:193) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154) at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.doFilter(VirtualHostFilter.java:191) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154) at com.liferay.portal.servlet.filters.threadlocalcache.ThreadLocalCacheFilter.processFilter(ThreadLocalCacheFilter.java:55) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:94) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738) 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:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 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:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:595) Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'processColumn' in class com.liferay.portlet.layoutconfiguration.util. velocity.TemplateProcessor threw exception org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: ServletException i n '/html/common/themes/portlet.jsp': javax.servlet.jsp.JspException: java.lang.IllegalStateException: FrameworkAdapter not found at null_CUSTOM_2_columns_ii[lin e 5, column 36] at org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:337) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:284) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:252) at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:332) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336) at org.apache.velocity.Template.merge(Template.java:328) at org.apache.velocity.Template.merge(Template.java:235) at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:381) at com.liferay.portal.velocity.VelocityEngineImpl.mergeTemplate(VelocityEngineImpl.java:179) ... 107 more Caused by: org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: ServletException in '/html/common/themes/portlet.jsp': javax.servlet.jsp.JspException: java.lang.IllegalStateException: FrameworkAdapter not found at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 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:630) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472) at com.liferay.portal.util.PortalImpl.renderPortlet(PortalImpl.java:2884) at com.liferay.portal.util.PortalUtil.renderPortlet(PortalUtil.java:897) at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:170) at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:103) at com.liferay.portlet.layoutconfiguration.util.velocity.PortletColumnLogic.processContent(PortletColumnLogic.java:133) at com.liferay.portlet.layoutconfiguration.util.velocity.TemplateProcessor.processColumn(TemplateProcessor.java:68) at sun.reflect.GeneratedMethodAccessor300.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) ... 114 more Caused by: javax.servlet.ServletException: javax.servlet.jsp.JspException: Servl etException in '/html/common/themes/portlet.jsp': javax.servlet.jsp.JspException : java.lang.IllegalStateException: FrameworkAdapter not found at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:852) at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781) at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:2038) 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:374) ... 134 more Caused by: javax.servlet.jsp.JspException: ServletException in '/html/common/themes/portlet.jsp': javax.servlet.jsp.JspException: java.lang.IllegalStateExceptio n: FrameworkAdapter not found at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:923) at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:462) at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:1866) ... 137 more 20:41:48,921 WARN [PortalImpl:2948] Current URL /web/guest/testing-jsf?p_p_id=m yfacestestorchestraportlets_WAR_myfacestestorchestraportlets100SNAPSHOT_INSTANCE _uF0Y&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col _count=1&_myfacestestorchestraportlets_WAR_myfacestestorchestraportlets100SNAPSH OT_INSTANCE_uF0Y_conversationContext=2&_myfacestestorchestraportlets_WAR_myfaces testorchestraportlets100SNAPSHOT_INSTANCE_uF0Y___jpfbJSFTARGET=view%3A%2Findex.j sp generates exception: javax.servlet.ServletException: com.liferay.portal.Syste mException: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'processColumn' in class com.liferay.portlet.layoutconfiguration.util .velocity.TemplateProcessor threw exception org.apache.jasper.JasperException: j avax.servlet.ServletException: javax.servlet.jsp.JspException: ServletException in '/html/common/themes/portlet.jsp': javax.servlet.jsp.JspException: java.lang. IllegalStateException: FrameworkAdapter not found at null_CUSTOM_2_columns_ii[li ne 5, column 36] 2009-10-14 20:41:48,921 DEBUG org.apache.myfaces.orchestra.conversation.spring.S copedBeanTargetSource - getRealBean for reservationBookView 2009-10-14 20:41:48,921 DEBUG org.apache.myfaces.orchestra.conversation.spring.A bstractSpringOrchestraScope - getRealBean called for bean reservationBookView 20:41:48,921 ERROR [IncludeTag:79] Current URL /web/guest/testing-jsf?p_p_id=myf acestestorchestraportlets_WAR_myfacestestorchestraportlets100SNAPSHOT_INSTANCE_u F0Y&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_c ount=1&_myfacestestorchestraportlets_WAR_myfacestestorchestraportlets100SNAPSHOT _INSTANCE_uF0Y_conversationContext=2&_myfacestestorchestraportlets_WAR_myfaceste storchestraportlets100SNAPSHOT_INSTANCE_uF0Y___jpfbJSFTARGET=view%3A%2Findex.jsp generates exception: FrameworkAdapter not found 20:41:48,921 ERROR [IncludeTag:165] java.lang.IllegalStateException: FrameworkAdapter not found at org.apache.myfaces.orchestra.conversation.ConversationManager.getInstance(ConversationManager.java:123) at org.apache.myfaces.orchestra.conversation.ConversationManager.getInstance(ConversationManager.java:99) at org.apache.myfaces.orchestra.conversation.spring.AbstractSpringOrchestraScope.getRealBean(AbstractSpringOrchestraScope.java:330) at org.apache.myfaces.orchestra.conversation.spring.ScopedBeanTargetSource.getTarget(ScopedBeanTargetSource.java:73) at java.lang.String.valueOf(String.java:2615) at com.liferay.util.portlet.PortletRequestUtil._isValidAttributeValue(PortletRequestUtil.java:491) at com.liferay.util.portlet.PortletRequestUtil.toXML(PortletRequestUtil.java:231) at com.liferay.portal.velocity.VelocityVariables.insertVariables(VelocityVariables.java:382) at com.liferay.taglib.util.ThemeUtil.includeVM(ThemeUtil.java:179) at com.liferay.taglib.util.ThemeUtil.include(ThemeUtil.java:68) at com.liferay.taglib.util.IncludeTag.doEndTag(IncludeTag.java:59) at org.apache.jsp.html.common.themes.portal_jsp._jspx_meth_liferay_002dtheme_005finclude_005f1(portal_jsp.java:816) at org.apache.jsp.html.common.themes.portal_jsp._jspx_meth_c_005fotherwise_005f0(portal_jsp.java:788) at org.apache.jsp.html.common.themes.portal_jsp._jspService(portal_jsp.java:724) 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:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) The problem here is that liferay serialize request attribute map and AbstractSpringOrchestraScope add proxy beans to this map, causing that orchestra is invoked after FrameworkAdapter is released. Also, it is necessary to fix the case when a filter is used to define a FrameworkAdapter.
        Hide
        Martin Marinschek added a comment -

        Hi Leonardo,

        contrary to your comment on ORCHESTRA-17, I think for JSF 2.0 support we have to give up on the reflection based way of wrapping external-context anyways. So I think we should really go down the route of switching, depending on the active JSF version, between the different wrappers, or work with an extension library.

        See ORCHESTRA-45 (https://issues.apache.org/jira/browse/ORCHESTRA-45) for my Orchestra JSF 2.0 patch which shows this.

        regards,

        Martin

        Show
        Martin Marinschek added a comment - Hi Leonardo, contrary to your comment on ORCHESTRA-17 , I think for JSF 2.0 support we have to give up on the reflection based way of wrapping external-context anyways. So I think we should really go down the route of switching, depending on the active JSF version, between the different wrappers, or work with an extension library. See ORCHESTRA-45 ( https://issues.apache.org/jira/browse/ORCHESTRA-45 ) for my Orchestra JSF 2.0 patch which shows this. regards, Martin
        Hide
        Leonardo Uribe added a comment -

        Committed patch proposed, but it is better to wait for confirmation before close this issue.

        Show
        Leonardo Uribe added a comment - Committed patch proposed, but it is better to wait for confirmation before close this issue.
        Hide
        Leonardo Uribe added a comment -

        This patch (ORCHESTRA-Portlet-2.patch) adds support orchestra in portlets. This one was tested with myfaces portlet bridge and apache pluto (running on jetty) (portlet 1.0). I'll try to enhance its documentation to be committed soon.

        Show
        Leonardo Uribe added a comment - This patch (ORCHESTRA-Portlet-2.patch) adds support orchestra in portlets. This one was tested with myfaces portlet bridge and apache pluto (running on jetty) (portlet 1.0). I'll try to enhance its documentation to be committed soon.
        Hide
        Andreas Niemeyer added a comment -

        What filters has to be set in Portlet 2.0 environment, could someone point me the right configuration of filters?

        Following execption I got:

        18:38:16,430 ERROR [PhaseListenerManager:77] Exception in PhaseListener RENDER_RESPONSE(6) beforePhase.
        java.lang.NullPointerException
        at org.apache.myfaces.orchestra.conversation.AccessScopeManager.getInstance(AccessScopeManager.java:55)
        at org.apache.myfaces.orchestra.conversation.jsf.AccessScopePhaseListener.beforePhase(AccessScopePhaseListener.java:91)
        at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersBefore(PhaseListenerManager.java:73)
        at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:126)
        at org.apache.myfaces.portlet.MyFacesGenericPortlet.nonFacesRequest(MyFacesGenericPortlet.java:397)
        at org.apache.myfaces.portlet.MyFacesGenericPortlet.nonFacesRequest(MyFacesGenericPortlet.java:377)
        at org.apache.myfaces.portlet.MyFacesGenericPortlet.facesRender(MyFacesGenericPortlet.java:474)
        at org.apache.myfaces.portlet.MyFacesGenericPortlet.doView(MyFacesGenericPortlet.java:323)
        at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:328)
        at javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
        at com.liferay.samplejsffacelets.portlet.MyFacesFaceletsPortlet.render(MyFacesFaceletsPortlet.java:52)
        at com.sun.portal.portletcontainer.appengine.filter.FilterChainImpl.doFilter(FilterChainImpl.java:121)
        at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:69)

        Show
        Andreas Niemeyer added a comment - What filters has to be set in Portlet 2.0 environment, could someone point me the right configuration of filters? Following execption I got: 18:38:16,430 ERROR [PhaseListenerManager:77] Exception in PhaseListener RENDER_RESPONSE(6) beforePhase. java.lang.NullPointerException at org.apache.myfaces.orchestra.conversation.AccessScopeManager.getInstance(AccessScopeManager.java:55) at org.apache.myfaces.orchestra.conversation.jsf.AccessScopePhaseListener.beforePhase(AccessScopePhaseListener.java:91) at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersBefore(PhaseListenerManager.java:73) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:126) at org.apache.myfaces.portlet.MyFacesGenericPortlet.nonFacesRequest(MyFacesGenericPortlet.java:397) at org.apache.myfaces.portlet.MyFacesGenericPortlet.nonFacesRequest(MyFacesGenericPortlet.java:377) at org.apache.myfaces.portlet.MyFacesGenericPortlet.facesRender(MyFacesGenericPortlet.java:474) at org.apache.myfaces.portlet.MyFacesGenericPortlet.doView(MyFacesGenericPortlet.java:323) at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:328) at javax.portlet.GenericPortlet.render(GenericPortlet.java:233) at com.liferay.samplejsffacelets.portlet.MyFacesFaceletsPortlet.render(MyFacesFaceletsPortlet.java:52) at com.sun.portal.portletcontainer.appengine.filter.FilterChainImpl.doFilter(FilterChainImpl.java:121) at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:69)
        Hide
        Simon Kitching added a comment -

        Well, it's just that we still have these portal-related issues open:
        https://issues.apache.org/jira/browse/ORCHESTRA-22
        https://issues.apache.org/jira/browse/ORCHESTRA-25

        If someone can confirm that they are using Orchestra in a portal and it is working fine then we can close this and the other two issues together. But if there is a problem, then the orchestraPortlet.zip attachment to this issue could be useful to someone working on this. Closing the issue makes it harder to find that useful attachment.

        Portals are not something I use, so testing/debugging orchestra in a portlet environment is waiting for someone to come along who actually cares about this enough to spend some time on it. It shouldn't be a big deal (in fact it might work now).

        Show
        Simon Kitching added a comment - Well, it's just that we still have these portal-related issues open: https://issues.apache.org/jira/browse/ORCHESTRA-22 https://issues.apache.org/jira/browse/ORCHESTRA-25 If someone can confirm that they are using Orchestra in a portal and it is working fine then we can close this and the other two issues together. But if there is a problem, then the orchestraPortlet.zip attachment to this issue could be useful to someone working on this. Closing the issue makes it harder to find that useful attachment. Portals are not something I use, so testing/debugging orchestra in a portlet environment is waiting for someone to come along who actually cares about this enough to spend some time on it. It shouldn't be a big deal (in fact it might work now).
        Hide
        Andreas Niemeyer added a comment -

        Hi Simon,

        Could you comment on reopening this task in more detail?

        Regards,
        Andreas

        Show
        Andreas Niemeyer added a comment - Hi Simon, Could you comment on reopening this task in more detail? Regards, Andreas
        Hide
        Simon Kitching added a comment -

        Reopening as there are still portlet-related issues with orchestra and this issue has useful information.

        Show
        Simon Kitching added a comment - Reopening as there are still portlet-related issues with orchestra and this issue has useful information.
        Hide
        Martin Marinschek added a comment -

        Testing has resulted in the information that the bug is resolved.

        Thanks Mario for your bug-fix, everything is working smoothly in the portlet environment now! If using the MyFacesGenericPortlet, however, there is a class-cast exception - this is entirely the fault of the MyFacesGenericPortlet, however - it wrongly casts the FacesContext to ServletFacesContextImpl. The portlet should instead provide a FacesContextFactory as well.

        regards,

        Martin

        Show
        Martin Marinschek added a comment - Testing has resulted in the information that the bug is resolved. Thanks Mario for your bug-fix, everything is working smoothly in the portlet environment now! If using the MyFacesGenericPortlet, however, there is a class-cast exception - this is entirely the fault of the MyFacesGenericPortlet, however - it wrongly casts the FacesContext to ServletFacesContextImpl. The portlet should instead provide a FacesContextFactory as well. regards, Martin
        Hide
        Scott O'Bryan added a comment -

        Portlet's don't have the ability to have filters. Well, at least not in the generic sense. You can map a filter to the portlet's servlet if you are using a local portal.

        I've talked several times about my commons configurator project. The code is all but complete, I just have to get the poms working. The configurators work off of a custom FacesContectFactory and will allow you to initialize the types of object automatically, thus replacing much of the logic in your filters. They work in both servlet and portlet environments. Give me a week and I'll try to get something in the MyFaces commons package that you can begin prototyping with.

        Or you can wait till Portlet 2.0 which does add fiter support. The problem with Portlet 2.0 filters is that they may be called even if you don't have a faces request, so for most usecases, the configurators are still the most efficient way to go.

        Scott

        Show
        Scott O'Bryan added a comment - Portlet's don't have the ability to have filters. Well, at least not in the generic sense. You can map a filter to the portlet's servlet if you are using a local portal. I've talked several times about my commons configurator project. The code is all but complete, I just have to get the poms working. The configurators work off of a custom FacesContectFactory and will allow you to initialize the types of object automatically, thus replacing much of the logic in your filters. They work in both servlet and portlet environments. Give me a week and I'll try to get something in the MyFaces commons package that you can begin prototyping with. Or you can wait till Portlet 2.0 which does add fiter support. The problem with Portlet 2.0 filters is that they may be called even if you don't have a faces request, so for most usecases, the configurators are still the most efficient way to go. Scott
        Hide
        Rashmi added a comment -

        Sample portlet application.

        Show
        Rashmi added a comment - Sample portlet application.
        Hide
        Rashmi added a comment -

        Find attached the stack trace of exception

        Show
        Rashmi added a comment - Find attached the stack trace of exception
        Hide
        Rashmi added a comment -

        We tried using the latest build. The problem still exists

        Show
        Rashmi added a comment - We tried using the latest build. The problem still exists
        Hide
        Simon Kitching added a comment -

        Mario and I have discussed this and found both some problems and opportunities.

        As a result of our discussions I've pushed a lot of Orchestra config down into the FacesContextFactory now, making orchestra less dependent on filters for JSF requests.

        This will hopefully simplify configuration for people doing JSF, and might resolve some filter-related issues in portlets.
        Be warned: the code hasn't been well tested yet. It would be great if you could try this. You will need to build from the source.

        Show
        Simon Kitching added a comment - Mario and I have discussed this and found both some problems and opportunities. As a result of our discussions I've pushed a lot of Orchestra config down into the FacesContextFactory now, making orchestra less dependent on filters for JSF requests. This will hopefully simplify configuration for people doing JSF, and might resolve some filter-related issues in portlets. Be warned: the code hasn't been well tested yet. It would be great if you could try this. You will need to build from the source.
        Hide
        Mario Ivankovits added a comment -

        I've commited a try to fix this issue.

        By checking out Orchestra from svn using [1] you should be able to "mvn install" your own version. Afterwards you can copy the resulting jar to your project and give it a try. Or wait for the next nightly.

        I am not sure if there is any side effect I've overlooked, but a quick test showed me that the Orchestra at least started up again

        Ciao,
        Mario

        [1] http://svn.apache.org/repos/asf/myfaces/orchestra/trunk

        Show
        Mario Ivankovits added a comment - I've commited a try to fix this issue. By checking out Orchestra from svn using [1] you should be able to "mvn install" your own version. Afterwards you can copy the resulting jar to your project and give it a try. Or wait for the next nightly. I am not sure if there is any side effect I've overlooked, but a quick test showed me that the Orchestra at least started up again Ciao, Mario [1] http://svn.apache.org/repos/asf/myfaces/orchestra/trunk

          People

          • Assignee:
            Leonardo Uribe
            Reporter:
            Rashmi
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development