2 Replies Latest reply on Dec 18, 2007 3:28 AM by ng.tech

    ui:fragment and pdf generation problems

    ng.tech

      Hey there,

      I've got a problem when i'm using the facelets ui:fragment component and generating a pdf.

      I have a endless loop when the rendered expression is true. Works fine when the expression is false.

      My code:

      <p:cell borderWidthRight="0.5">
       <ui:fragment rendered="#{broker.gender eq 'F'}">
       <p:paragraph> Female </p:paragraph>
       </ui:fragment>
      </p:cell>
      



      14:45:18,843 ERROR [ExceptionFilter] handling uncaught exception
      javax.servlet.ServletException: Servlet execution threw an exception
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:313)
       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:44)
       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:128)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
       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:241)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
       at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
       at java.lang.Thread.run(Thread.java:595)
      Caused by: java.lang.StackOverflowError
       at sun.nio.cs.SingleByteEncoder.encodeArrayLoop(SingleByteEncoder.java:95)
       at sun.nio.cs.SingleByteEncoder.encodeLoop(SingleByteEncoder.java:134)
       at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:544)
       at sun.nio.cs.StreamEncoder$CharsetSE.implWrite(StreamEncoder.java:384)
       at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:136)
       at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:146)
       at java.io.OutputStreamWriter.write(OutputStreamWriter.java:204)
       at java.io.Writer.write(Writer.java:126)
       at org.apache.log4j.helpers.QuietWriter.write(QuietWriter.java:47)
       at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:301)
       at org.apache.log4j.DailyRollingFileAppender.subAppend(DailyRollingFileAppender.java:358)
       at org.apache.log4j.WriterAppender.append(WriterAppender.java:159)
       at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230)
       at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65)
       at org.apache.log4j.Category.callAppenders(Category.java:203)
       at org.apache.log4j.Category.forcedLog(Category.java:388)
       at org.apache.log4j.Category.log(Category.java:853)
       at org.jboss.seam.log.Log4JProvider.debug(Log4JProvider.java:42)
       at org.jboss.seam.Component.initialize(Component.java:1374)
       at org.jboss.seam.Component.instantiateJavaBean(Component.java:1307)
       at org.jboss.seam.Component.instantiate(Component.java:1260)
       at org.jboss.seam.Component.newInstance(Component.java:1958)
       at org.jboss.seam.Component.getInstance(Component.java:1865)
       at org.jboss.seam.Component.getInstance(Component.java:1844)
       at org.jboss.seam.Component.getInstance(Component.java:1821)
       at org.jboss.seam.Component.getInstance(Component.java:1816)
       at org.jboss.seam.core.ResourceLoader.instance(ResourceLoader.java:97)
       at org.jboss.seam.navigation.Page.getResourceBundle(Page.java:82)
       at org.jboss.seam.navigation.Pages.getResourceBundles(Pages.java:658)
       at org.jboss.seam.core.SeamResourceBundle.getPageResourceBundles(SeamResourceBundle.java:134)
       at org.jboss.seam.core.SeamResourceBundle.handleGetObject(SeamResourceBundle.java:97)
       at java.util.ResourceBundle.getObject(ResourceBundle.java:319)
       at java.util.ResourceBundle.getString(ResourceBundle.java:285)
       at org.jboss.seam.international.Messages$1.get(Messages.java:56)
       at org.jboss.seam.international.Messages$1.get(Messages.java:72)
       at javax.el.MapELResolver.getValue(MapELResolver.java:51)
       at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
       at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
       at org.jboss.el.parser.AstBracketSuffix.getValue(AstBracketSuffix.java:59)
       at org.jboss.el.parser.AstValue.getValue(AstValue.java:67)
       at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
       at com.sun.facelets.el.ELText$ELTextVariable.writeText(ELText.java:184)
       at com.sun.facelets.el.ELText$ELTextComposite.writeText(ELText.java:108)
       at com.sun.facelets.compiler.TextInstruction.write(TextInstruction.java:45)
       at com.sun.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:39)
       at org.jboss.seam.ui.util.JSF.renderChild(JSF.java:172)
       at org.jboss.seam.pdf.ui.ITextComponent.extractText(ITextComponent.java:226)
       at org.jboss.seam.pdf.ui.ITextComponent.encodeChildren(ITextComponent.java:203)
       at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:248)
       at org.jboss.seam.pdf.ui.ITextComponent.encodeChildren(ITextComponent.java:213)
       at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:248)
       at org.jboss.seam.pdf.ui.ITextComponent.encodeChildren(ITextComponent.java:213)
       at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:248)
       at org.jboss.seam.pdf.ui.ITextComponent.encodeChildren(ITextComponent.java:213)
       at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:248)
       at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:251)
       at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:251)
       at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:251)
       at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:251)
      ...
      


      Thanks,
      Nicolas