[ https://issues.apache.org/jira/browse/WSCOMMONS-480?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andreas Veithen reassigned WSCOMMONS-480: ----------------------------------------- Assignee: Andreas Veithen > Some of the serialize/serializeAndConsume methods are declared on the wrong > interface > ------------------------------------------------------------------------------------- > > Key: WSCOMMONS-480 > URL: https://issues.apache.org/jira/browse/WSCOMMONS-480 > Project: WS-Commons > Issue Type: Bug > Components: AXIOM > Affects Versions: Axiom 1.2.8 > Reporter: Andreas Veithen > Assignee: Andreas Veithen > Priority: Minor > > OMNode declares a set of serialize and serializeAndConsume methods taking an > OutputStream or a Writer as argument. This is conceptually wrong because > these methods only make sense for OMElements, not for other OMNodes. > Note that any attempt to call these methods on anything else than an > OMElement will fail. Consider for example the following code: > OMFactory factory = OMAbstractFactory.getOMFactory(); > OMText text = factory.createOMText("This is a test"); > text.serialize(System.out); > It will fail with the following exception: > Exception in thread "main" javax.xml.stream.XMLStreamException: Trying to > write END_DOCUMENT when document has no root (ie. trying to output empty > document). > at > com.ctc.wstx.sw.BaseStreamWriter.throwOutputError(BaseStreamWriter.java:1473) > at > com.ctc.wstx.sw.BaseStreamWriter.reportNwfStructure(BaseStreamWriter.java:1502) > at > com.ctc.wstx.sw.BaseStreamWriter.finishDocument(BaseStreamWriter.java:1663) > at com.ctc.wstx.sw.BaseStreamWriter.close(BaseStreamWriter.java:288) > at > org.apache.axiom.om.impl.llom.OMNodeImpl.serialize(OMNodeImpl.java:333) > at Test.main(Test.java:14) > The serialize and serializeAndConsume methods declared by OMNode should be > moved to the right interface, which would be either OMElement or OMContainer. > The latter choice would be justified by the fact that all these methods make > sense for OMDocument as well and some of them are already declared in > OMDocument. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.