OpenXML Filter: DOCX document merge is crashing with an RTL target language

Issue #930 resolved
Denis Konovalyenko created an issue

A try to merge the extracted document is resulted in a crash with the following exception:

java.lang.UnsupportedOperationException
    at java.util.Collections$EmptyListIterator.add(Collections.java:4240)
    at net.sf.okapi.filters.openxml.BlockPropertiesClarifierStrategy$PropertiesClarifierStrategy.addBlockProperty(BlockPropertiesClarifierStrategy.java:229)
    at net.sf.okapi.filters.openxml.BlockPropertiesClarifierStrategy$PropertiesClarifierStrategy.clarifyBlockProperties(BlockPropertiesClarifierStrategy.java:217)
    at net.sf.okapi.filters.openxml.BlockPropertiesClarifier.clarify(BlockPropertiesClarifier.java:37)
    at net.sf.okapi.filters.openxml.BidirectionalityClarifier.clarifyParagraphProperties(BidirectionalityClarifier.java:108)
    at net.sf.okapi.filters.openxml.BidirectionalityClarifier.clarifyWordStyle(BidirectionalityClarifier.java:188)
    at net.sf.okapi.filters.openxml.BidirectionalityClarifier.clarifyWordStyles(BidirectionalityClarifier.java:121)
    at net.sf.okapi.filters.openxml.BidirectionalityClarifier.clarifyMarkup(BidirectionalityClarifier.java:76)
    at net.sf.okapi.filters.openxml.OpenXMLFilterWriter.clarifyMarkup(OpenXMLFilterWriter.java:398)
    at net.sf.okapi.filters.openxml.OpenXMLFilterWriter.processDocumentPart(OpenXMLFilterWriter.java:352)
    at net.sf.okapi.filters.openxml.OpenXMLFilterWriter.handleEvent(OpenXMLFilterWriter.java:229)

This is related to the way the table styles are processed by the filter. It is allowed to have w:pPr and w:rPr besides of w:tblPrproperties, however, they tend to be empty and thus unchanged most of the time. So, the merge with an RTL target language is failing at the modification attempt of empty w:pPr properties.

Comments (3)

  1. Log in to comment