Fix ArrayIndexOutOfBoundsException in XhtmlBaseSink
---------------------------------------------------
Key: DOXIA-221
URL: http://jira.codehaus.org/browse/DOXIA-221
Project: Maven Doxia
Issue Type: Bug
Components: Module - Xdoc
Affects Versions: 1.0-beta-1
Reporter: Benjamin Bentmann
Attachments: cell-justify.patch
Attempt to render a multi column table using XDoc:
{noformat}
java.lang.ArrayIndexOutOfBoundsException: 1
at
org.apache.maven.doxia.sink.XhtmlBaseSink.tableCell(XhtmlBaseSink.java:807)
at
org.apache.maven.doxia.sink.XhtmlBaseSink.tableCell(XhtmlBaseSink.java:780)
at
org.apache.maven.doxia.sink.XhtmlBaseSink.tableHeaderCell(XhtmlBaseSink.java:768)
at
org.apache.maven.doxia.parser.XhtmlBaseParser.baseStartTag(XhtmlBaseParser.java:300)
at
org.apache.maven.doxia.module.xdoc.XdocParser.handleStartTag(XdocParser.java:213)
at
org.apache.maven.doxia.parser.AbstractXmlParser.parseXml(AbstractXmlParser.java:103)
at
org.apache.maven.doxia.parser.AbstractXmlParser.parse(AbstractXmlParser.java:54)
at
org.apache.maven.doxia.module.xdoc.XdocParser.parse(XdocParser.java:93)
at org.apache.maven.doxia.DefaultDoxia.parse(DefaultDoxia.java:63)
at
org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderDocument(DefaultSiteRenderer.java:345)
at
org.apache.maven.doxia.siterenderer.DoxiaDocumentRenderer.renderDocument(DoxiaDocumentRenderer.java:46)
at
org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderModule(DefaultSiteRenderer.java:272)
at
org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render(DefaultSiteRenderer.java:102)
at
org.apache.maven.plugins.site.SiteMojo.renderLocale(SiteMojo.java:137)
at org.apache.maven.plugins.site.SiteMojo.execute(SiteMojo.java:96)
{noformat}
The XDocParser/XHtmlBaseParser calls sink.tableRows() always with a
single-element array. This is usually not enough to describe all columns of the
table individually. Hence, XHtmlBaseSink should be prepared to render a table
cell that does not have a corresponding cellJustif entry. The patch simply
repeats the justification of the last array element.
Last but not least, it might be worth to consider changing the default cell
alignment to left alignment to match the default behavior of HTML for table
body cells. Additionally, left-alignment seems to be the current behavior of
the xdoc module in the alpha branch.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira