Uploaded image for project: 'FOP'
  1. FOP
  2. FOP-1456

NullPointerException throw if there is no fo:root

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Resolution: Fixed
    • 0.94
    • None
    • fo/unqualified
    • None
    • Operating System: All
      Platform: All
    • 43910

    Description

      in AreaTreeHandler, if no fo:root was found in document (which can arise from
      time to time when you use fo together with xslt), the endDocument() method
      throws a nullpointerexception instead of making clean fallback (either generate
      empty document or throw a SAXException). Because NullPointerException is quite
      anonymous error, it makes it difficult for caller to properly catch it and
      handle it in calling code.

      Please note javadoc of endDocument states that it "throws SAXException if there
      is some error". So this probably should be throwing a SAXException("no fo:root
      found in document")

      Caused by: java.lang.NullPointerException
      at org.apache.fop.area.AreaTreeHandler.endDocument(AreaTreeHandler.java:264)
      at org.apache.fop.fo.FOTreeBuilder.endDocument(FOTreeBuilder.java:171)
      at net.sf.saxon.event.ContentHandlerProxy.close(ContentHandlerProxy.java:255)
      at net.sf.saxon.event.ImplicitResultChecker.close(ImplicitResultChecker.java:69)
      at net.sf.saxon.event.ProxyReceiver.close(ProxyReceiver.java:86)
      at
      net.sf.saxon.event.ComplexContentOutputter.close(ComplexContentOutputter.java:458)
      at net.sf.saxon.Controller.transformDocument(Controller.java:1655)
      at net.sf.saxon.Controller.transform(Controller.java:1438)

      Attachments

        1. patch.43910
          2 kB
          David Delbecq

        Activity

          People

            fop-dev@xmlgraphics.apache.org fop-dev
            tchize David Delbecq
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: