Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-9661

Empty dynamictasklist breaks pdf export

    XMLWordPrintable

Details

    Description

      I think this problem may be specific to an older version of the dynamictasklist macro (1.5).

      If you have a task list on a page which has no items then this will render HTML which has an empty 'ul' tag and this causes the following exception in the PDF Export.

      2007-10-08 13:26:57,004 ERROR [Export Space task] [core.task.longrunning.AbstractLongRunningTask] doInTransactionWithoutResult Error during export
       -- url: /spaces/doexportspace.action | userName: pcurren | action: doexportspace
      com.atlassian.confluence.importexport.ImportExportException: Error while generating PDF!
              at com.atlassian.confluence.importexport.impl.PdfExporter.foToPdf(PdfExporter.java:137)
              at com.atlassian.confluence.importexport.impl.PdfExporter.doExportEntity(PdfExporter.java:98)
              at com.atlassian.confluence.importexport.impl.AbstractRendererExporterImpl.exportSpace(AbstractRendererExporterImpl.java:127)
              at com.atlassian.confluence.importexport.impl.AbstractRendererExporterImpl.doExport(AbstractRendererExporterImpl.java:109)
              at com.atlassian.confluence.importexport.impl.PdfExporter.doExport(PdfExporter.java:63)
              at com.atlassian.confluence.importexport.DefaultImportExportManager.exportAs(DefaultImportExportManager.java:112)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
              at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
              at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
              at $Proxy49.exportAs(Unknown Source)
              at com.atlassian.confluence.importexport.actions.ExportSpaceLongRunningTask$2.doInTransactionWithoutResult(ExportSpaceLongRunningTask.java:87)
              at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
              at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:114)
              at com.atlassian.confluence.importexport.actions.ExportSpaceLongRunningTask.runInternal(ExportSpaceLongRunningTask.java:63)
              at com.atlassian.confluence.util.longrunning.ConfluenceAbstractLongRunningTask.run(ConfluenceAbstractLongRunningTask.java:21)
              at java.lang.Thread.run(Thread.java:613)
      Caused by: javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: file:///Users/pcurren/Atlassian/data/confluence/cac/temp/export_10082007_131342/CONF256-20071008-13_13_42.fo:16961:0: Error(16961/0): fo:list-block is missing child elements. 
      Required Content Model: marker* (list-item)+
              at com.icl.saxon.IdentityTransformer.transform(IdentityTransformer.java:61)
              at com.atlassian.confluence.importexport.impl.PdfExporter.foToPdf(PdfExporter.java:132)
              ... 22 more
      Caused by: org.apache.fop.fo.ValidationException: file:///Users/pcurren/Atlassian/data/confluence/cac/temp/export_10082007_131342/CONF256-20071008-13_13_42.fo:16961:0: Error(16961/0): fo:list-block is missing child elements. 
      Required Content Model: marker* (list-item)+
              at org.apache.fop.fo.FONode.missingChildElementError(FONode.java:408)
              at org.apache.fop.fo.flow.ListBlock.endOfNode(ListBlock.java:105)
              at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:379)
              at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:195)
              at com.caucho.xml.XmlParser.addElement(XmlParser.java:2608)
              at com.caucho.xml.XmlParser.parseElement(XmlParser.java:641)
              at com.caucho.xml.XmlParser.parseNode(XmlParser.java:367)
              at com.caucho.xml.XmlParser.parseInt(XmlParser.java:242)
              at com.caucho.xml.AbstractParser.parse(AbstractParser.java:633)
              at com.icl.saxon.IdentityTransformer.transform(IdentityTransformer.java:59)
              ... 23 more
      

      While the fault is with the macro for rendering illegal HTML, the PDF export should probably be robust enough to cope.

      Attachments

        Activity

          People

            Unassigned Unassigned
            pcurren Paul Curren
            Votes:
            4 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: