You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by Andreas Delmelle <an...@telenet.be> on 2008/02/15 17:23:22 UTC

FYI: NPE in a personal table-test

Hi all

To whom it may concern: the following small test ends in a  
NullPointerException on my end (latest Trunk, with some local  
differences)

<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
   <fo:layout-master-set>
     <fo:simple-page-master master-name="page" page-height="5in" page- 
width="6in">
       <fo:region-body />
     </fo:simple-page-master>
   </fo:layout-master-set>
   <fo:page-sequence master-reference="page">
     <fo:flow flow-name="xsl-region-body">
       <fo:table width="100%" table-layout="fixed">
         <fo:table-column column-width="proportional-column-width(1)" />
         <fo:table-body>
           <fo:table-cell starts-row="true" background-color="red">
             <fo:block break-after="page">First page</fo:block>
             <fo:block break-after="page">Second page</fo:block>
             <fo:block break-after="page">Third page</fo:block>
             <fo:block break-after="page">Fourth page</fo:block>
             <fo:block>Fifth page</fo:block>
           </fo:table-cell>
         </fo:table-body>
       </fo:table>
     </fo:flow>
   </fo:page-sequence>
</fo:root>

Head of the relevant stacktrace:
java.lang.NullPointerException
	at org.apache.fop.fo.flow.table.CollapsingBorderResolver.endRow 
(CollapsingBorderResolver.java:380)
	at org.apache.fop.fo.flow.table.FixedColRowGroupBuilder.handleRowEnd 
(FixedColRowGroupBuilder.java:145)
	at org.apache.fop.fo.flow.table.FixedColRowGroupBuilder.endRow 
(FixedColRowGroupBuilder.java:133)
	at org.apache.fop.fo.flow.table.TableBody.finishLastRowGroup 
(TableBody.java:145)
	at org.apache.fop.fo.flow.table.TableBody.endOfNode(TableBody.java:130)
	at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement 
(FOTreeBuilder.java:345)

I suspect this is simply an uncommon case that was overlooked. (no  
fo:table-row and no specified borders?)

Certainly not a deal-breaker for me, but just thought I'd point out.  
Is this related to an existing Bugzilla entry, or do I create one?


Cheers

Andreas

Re: FYI: NPE in a personal table-test

Posted by Vincent Hennebert <vi...@anyware-tech.com>.
Hi Andreas,

Thanks for spotting this. There was a flag that was set a bit early in 
TableBody, which wasn’t necessary anyway. See the commit message from 
rev. 628140. I updated a testcase so that it also triggers the 
collapsing-border resolver.
Grrr at myself.

Have a good week-end,
Vincent


Andreas Delmelle wrote:
> 
> Hi all
> 
> To whom it may concern: the following small test ends in a
> NullPointerException on my end (latest Trunk, with some local differences)
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
>   <fo:layout-master-set>
>     <fo:simple-page-master master-name="page" page-height="5in"
> page-width="6in">
>       <fo:region-body />
>     </fo:simple-page-master>
>   </fo:layout-master-set>
>   <fo:page-sequence master-reference="page">
>     <fo:flow flow-name="xsl-region-body">
>       <fo:table width="100%" table-layout="fixed">
>         <fo:table-column column-width="proportional-column-width(1)" />
>         <fo:table-body>
>           <fo:table-cell starts-row="true" background-color="red">
>             <fo:block break-after="page">First page</fo:block>
>             <fo:block break-after="page">Second page</fo:block>
>             <fo:block break-after="page">Third page</fo:block>
>             <fo:block break-after="page">Fourth page</fo:block>
>             <fo:block>Fifth page</fo:block>
>           </fo:table-cell>
>         </fo:table-body>
>       </fo:table>
>     </fo:flow>
>   </fo:page-sequence>
> </fo:root>
> 
> Head of the relevant stacktrace:
> java.lang.NullPointerException
>     at
> org.apache.fop.fo.flow.table.CollapsingBorderResolver.endRow(CollapsingBorderResolver.java:380)
> 
>     at
> org.apache.fop.fo.flow.table.FixedColRowGroupBuilder.handleRowEnd(FixedColRowGroupBuilder.java:145)
> 
>     at
> org.apache.fop.fo.flow.table.FixedColRowGroupBuilder.endRow(FixedColRowGroupBuilder.java:133)
> 
>     at
> org.apache.fop.fo.flow.table.TableBody.finishLastRowGroup(TableBody.java:145)
> 
>     at org.apache.fop.fo.flow.table.TableBody.endOfNode(TableBody.java:130)
>     at
> org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:345)
> 
> 
> I suspect this is simply an uncommon case that was overlooked. (no
> fo:table-row and no specified borders?)
> 
> Certainly not a deal-breaker for me, but just thought I'd point out. Is
> this related to an existing Bugzilla entry, or do I create one?
> 
> 
> Cheers
> 
> Andreas

-- 
Vincent Hennebert                            Anyware Technologies
http://people.apache.org/~vhennebert         http://www.anyware-tech.com
Apache FOP Committer                         FOP Development/Consulting