6 Replies Latest reply on May 26, 2009 7:54 AM by Paulo Pinto

    extendedDataTable  makes my application crash with class not

    Paulo Pinto Novice

      Hi everyone,

      I have a very simple data table, where I use a <rich:dataTable>
      component.

      If I replace it with an extendedDataTable. as shown below. I get several exceptions related with Xalan.



       <rich:extendedDataTable id="wrList" var="worldRecord" value="#{tableManagedBean.worldRecords}">
       <rich:column>
       <f:facet name="header">
       <h:outputText value="Event"/>
       </f:facet>
       <h:outputText value="#{worldRecord.event}" />
       </rich:column>
       </rich:extendedDataTable>
      


      Any idea what might be wrong?

      Thanks in advance,
      Paulo

        • 1. Re: extendedDataTable  makes my application crash with class
          Nick Belaevski Master

          Hi Paulo,

          Can you please post stack trace?

          • 2. Re: extendedDataTable  makes my application crash with class
            Paulo Pinto Novice

            Hi,

            here is the stack trace:

            javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found
             at javax.xml.transform.TransformerFactory.newInstance(Unknown Source)
             at org.richfaces.renderkit.TemplateEncoderRendererBase.getTransformerFactory(TemplateEncoderRendererBase.java:68)
             at org.richfaces.renderkit.TemplateEncoderRendererBase.writeScriptBody(TemplateEncoderRendererBase.java:113)
             at org.richfaces.renderkit.TemplateEncoderRendererBase.writeScriptBody(TemplateEncoderRendererBase.java:176)
             at org.richfaces.renderkit.html.ContextMenuRendererBase.encodeChildren(ContextMenuRendererBase.java:177)
             at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:611)
             at javax.faces.component.UIComponent.encodeAll(UIComponent.java:250)
             at org.richfaces.renderkit.html.RichTableMenuRenderer.render(RichTableMenuRenderer.java:85)
             at org.richfaces.renderkit.html.TableMenuRenderer.renderMenu(TableMenuRenderer.java:74)
             at org.richfaces.renderkit.AbstractExtendedTableRenderer.encodeTableMenu(AbstractExtendedTableRenderer.java:1765)
             at org.richfaces.renderkit.html.ExtendedDataTableRenderer.doEncodeEnd(ExtendedDataTableRenderer.java:370)
             at org.richfaces.renderkit.html.ExtendedDataTableRenderer.doEncodeEnd(ExtendedDataTableRenderer.java:378)
             at org.ajax4jsf.renderkit.RendererBase.encodeEnd(RendererBase.java:135)
             at org.richfaces.renderkit.AbstractExtendedTableRenderer.encodeEnd(AbstractExtendedTableRenderer.java:1331)
             at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:624)
             at javax.faces.component.UIData.encodeEnd(UIData.java:752)
             at javax.faces.component.UIComponent.encodeAll(UIComponent.java:261)
             at javax.faces.component.UIComponent.encodeAll(UIComponent.java:257)
             at javax.faces.component.UIComponent.encodeAll(UIComponent.java:257)
             at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
             at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
             at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
             at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
             at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
             at javax.faces.webapp.FacesServlet.service(FacesServlet.java:155)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
             at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
             at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
             at com.xxx.yyyyyyy.LocaleFilter.doFilter(LocaleFilter.java:72)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
             at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:301)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
             at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
             at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
             at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
             at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
             at com.xxxx.yyyyyy.security.BackButtonFilter.doFilter(BackButtonFilter.java:32)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
             at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
             at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
             at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
             at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
             at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
             at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:420)
             at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
             at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
             at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
             at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
             at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
             at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
             at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
             at java.lang.Thread.run(Thread.java:595)
            


            If I add the Xalan jars to the war file then the problem is solved, but this is really a nuisance because on this project we really have to fight for adding jars to the build.



            • 3. Re: extendedDataTable  makes my application crash with class
              Nick Belaevski Master

              I see. Looks like Xalan is configured as default XSLT transformer, that's why this is happening. We are not deploying Xalan with richfaces-demo and it works ok with Tomcat. Please check your environment.

              • 4. Re: extendedDataTable  makes my application crash with class
                Paulo Pinto Novice

                It is strange that this problem only happens with the extendedDataTable and all the other components work without problems.

                I will check your suggestion.

                • 5. Re: extendedDataTable  makes my application crash with class
                  Nick Belaevski Master

                  rich:contextMenu and rich:calendar should be failing too - all use the same codebase.

                  • 6. Re: extendedDataTable  makes my application crash with class
                    Paulo Pinto Novice

                    Hi,

                    I have found the reason behind my problem.

                    When we started using Richfaces, it was still the JSF 1.1 based version with Java 1.4. So we had to install the tomcat Java 1.4 compatibility pack for Tomcat 5.5.x.

                    We are now using JSF 1.2 and Java 1.5, but we kept on installing this compatibility pack.

                    The XML transformation classes provided by the compatibility pack are replacements for the ones provided with Java 1.5, but depend on Xalan being available.

                    This was the reason for my Xalan dependency. Now with the compatibility pack removed, everything works as expected.