2 Replies Latest reply on Feb 12, 2008 5:51 PM by Guillaume Jeudy

    Trinidad Integration Issue

    raoul schmidiger Newbie

      Hi all

      I'€™m struggling with the integration of Apache Trinidad 1.2.5 into our existing web-application that uses SEAM 2.0.0GA + Richfaces 3.1.4GA so far. I adapted all configuration settings from the seamdiscs example.

      The application works and I can use the Trinidad controls. However when I request a page that includes Richfaces components for the first time JBoss shows to following message in the console:

      17:05:20,160 ERROR [STDERR] 30.01.2008 17:05:20 org.apache.myfaces.trinidadinternal.renderkit.core.CoreRenderKit createResponseWriter SCHWERWIEGEND: No RenderingContext has been created.

      This message is not shown upon further requests. But no matter if I request the page for the first time or later the functionality of the commandButtons is broken. If I click on one of them the page just gets rerendered without executing the method specified with the action attribute of the button. Using the Trinidad libraries coming with the seamdiscs example (1.2.1) the error is not shown in the console. However switching back to the old library does not fix the issue with the commandButtons. Everything works smoothly as before when I remove the default-render-kit-id entry in the faces-config.xml file. But obviously this poses that the Trinidad controls can no longer be rendered. – Thus this is not an applicable solution.

      Has anybody got these components to work together? Any help is highly appreciated.

      Thank you very much!
      Raoul

        • 1. Re: Trinidad Integration Issue
          Alexander Seitz Newbie

          @Raoul:

          In our project we are also using Richfaces and Trinidad together. I encountered exactly the same problem. I created a jira issue for that:

          http://jira.jboss.org/jira/browse/JBSEAM-2374

          Well, until now I have found no solution to the problem and just live with the error message in the log.. but you are right, that is not an applicable solution.
          Even worse since the Richfaces version prior 3.1.3 show the error *every* time the page is loading, not only the first. And I have to use Richfaces 3.1.2 because later versions have a still unsolved memory leak with the dropdown menue in Firefox.

          Well, all in all Richfaces work together with Trinidad however, there are small but nasty issues when using them together... one thing for example is the different approach of partial page rendering.. And the use of Trinidad tables (tr:table is much better than Richfaces tables imho and this is the main reason why we are using Trinidad) with Richfaces a4jsf controls can also be a bit tricky sometimes...

          Please let me know if you find a solution... or encounter other problems.. maybe I could help..

          Regards,

          Alexander

          • 2. Re: Trinidad Integration Issue
            Guillaume Jeudy Master

            I am having a very similar issue with seam 2.0.1GA, richfaces 3.1.4GA, trinidad 1.2.1 (the version used in the seamdiscs example)

            When i try to use a richfaces component rich:listShuttle I get a No Rendering Context exception.

            I followed the setup of seamdics example in 2.0.1GA distribution and I still get this error. The control triggering the request is a ajax control.

            <a4j:commandButton id="findRefDomains" value="Find Reference Domain Objects" action="#{refDomainSearch.find}" reRender="searchResults"/>


            The contents of the searchResults is a list:shuttle:

            <a4j:outputPanel id="searchResults">
             <h:outputText value="No Reference Domain Objects Found" rendered="#{empty refDomainSearch.refDomains}"/>
             <h:form id="multiselectorform">
             <rich:listShuttle id="existitemshuttle2"
             targetValue="#{refDomainSearch.selectedRefDomains}"
             sourceValue="#{refDomainSearch.refDomains}"
             targetCaptionLabel="Ref Domain Objects Selected"
             sourceCaptionLabel="Ref Domain Objects Found"
             rendered="#{not empty refDomainSearch.refDomains}"
             fastOrderControlsVisible="false"
             orderControlsVisible="false"
             listsHeight="300px"
             sourceListWidth="200px"
             targetListWidth="200px"
             converter="#{org.jboss.seam.ui.entityConverter}"
             var="refDomain">
             <h:column>
             <f:facet name="header">
             <h:outputText value="Domain Name" />
             </f:facet>
             <h:outputText value="#{refDomain.domainName}" />
             </h:column>
             </rich:listShuttle>
             <h:commandButton type="submit" value="#{targetBtnlabel}"
             action="#{targetBean[targetAction]}" rendered="#{not empty refDomainSearch.refDomains}" />
             </h:form>
             </a4j:outputPanel>


            This combination works fine with seam1.2.1, richfaces 3.1.4, trinidad 1.0.2

            Here's the stacktrace I get:

            2008-02-12 17:38:48,806 DEBUG [org.jboss.seam.contexts.FacesLifecycle] <<< End JSF request for /ReferenceDataManager/editPackageItems.seam
            2008-02-12 17:38:48,806 ERROR [org.jboss.seam.web.ExceptionFilter] handling uncaught exception
            javax.servlet.ServletException: No RenderingContext
             at javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
             at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:118)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
             at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:208)
             at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:165)
             at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138)
             at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
             at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
             at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
             at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
             at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
             at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
             at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
             at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
             at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
             at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
             at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
             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.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
             at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
             at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
             at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
             at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
             at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
             at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
             at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
             at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
             at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
             at java.lang.Thread.run(Thread.java:595)
            Caused by: java.lang.IllegalStateException: No RenderingContext
             at org.apache.myfaces.trinidad.render.CoreRenderer.encodeBegin(CoreRenderer.java:181)
             at org.apache.myfaces.trinidadinternal.renderkit.htmlBasic.HtmlFormRenderer.encodeBegin(HtmlFormRenderer.java:56)
             at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:788)
             at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:280)
             at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
             at org.ajax4jsf.renderkit.html.AjaxOutputPanelRenderer.encodeChildren(AjaxOutputPanelRenderer.java:79)
             at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
             at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:282)
             at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:143)
             at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxChildren(AjaxChildrenRenderer.java:86)
             at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:134)
             at org.ajax4jsf.renderkit.AjaxContainerRenderer.encodeAjax(AjaxContainerRenderer.java:122)
             at org.ajax4jsf.component.AjaxViewRoot.encodeAjax(AjaxViewRoot.java:553)
             at org.ajax4jsf.context.AjaxContextImpl.renderAjaxRegion(AjaxContextImpl.java:286)
             at org.ajax4jsf.context.AjaxContextImpl$2.invoke(AjaxContextImpl.java:201)
             at org.ajax4jsf.context.JsfOneOneInvoker.invokeOnComponent(JsfOneOneInvoker.java:78)
             at org.ajax4jsf.context.AjaxContextImpl.invokeOnComponent(AjaxContextImpl.java:157)
             at org.ajax4jsf.context.AjaxContextImpl.renderSubmittedAjaxRegion(AjaxContextImpl.java:215)
             at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:239)
             at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
             at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
             at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
             at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
             ... 45 more
            2008-02-12 17:38:48,806 ERROR [org.jboss.seam.web.ExceptionFilter] exception root cause
            java.lang.IllegalStateException: No RenderingContext
             at org.apache.myfaces.trinidad.render.CoreRenderer.encodeBegin(CoreRenderer.java:181)
             at org.apache.myfaces.trinidadinternal.renderkit.htmlBasic.HtmlFormRenderer.encodeBegin(HtmlFormRenderer.java:56)
             at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:788)
             at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:280)
             at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
             at org.ajax4jsf.renderkit.html.AjaxOutputPanelRenderer.encodeChildren(AjaxOutputPanelRenderer.java:79)
             at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
             at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:282)
             at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:143)
             at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxChildren(AjaxChildrenRenderer.java:86)
             at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:134)
             at org.ajax4jsf.renderkit.AjaxContainerRenderer.encodeAjax(AjaxContainerRenderer.java:122)
             at org.ajax4jsf.component.AjaxViewRoot.encodeAjax(AjaxViewRoot.java:553)
             at org.ajax4jsf.context.AjaxContextImpl.renderAjaxRegion(AjaxContextImpl.java:286)
             at org.ajax4jsf.context.AjaxContextImpl$2.invoke(AjaxContextImpl.java:201)
             at org.ajax4jsf.context.JsfOneOneInvoker.invokeOnComponent(JsfOneOneInvoker.java:78)
             at org.ajax4jsf.context.AjaxContextImpl.invokeOnComponent(AjaxContextImpl.java:157)
             at org.ajax4jsf.context.AjaxContextImpl.renderSubmittedAjaxRegion(AjaxContextImpl.java:215)
             at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:239)
             at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
             at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
             at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
             at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
             at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:118)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
             at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:208)
             at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:165)
             at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138)
             at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
             at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
             at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
             at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
             at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
             at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
             at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
             at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
             at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
             at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
             at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
             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.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
             at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
             at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
             at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
             at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
             at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
             at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
             at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
             at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
             at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
             at java.lang.Thread.run(Thread.java:595)


            I would appreciate if anyone came about the same issues and were able to resolve them and could tell me the resolution.

            Thanks,
            -Guillaume