Author: veithen Date: Sun Feb 15 23:41:42 2009 New Revision: 744780 URL: http://svn.apache.org/viewvc?rev=744780&view=rev Log: Correctly set the xmlVersion and standalone properties on the OMDocument when the StAXOMBuilder is created (in StAXOMBuilder#next it is too late for that).
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java?rev=744780&r1=744779&r2=744780&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java Sun Feb 15 23:41:42 2009 @@ -21,6 +21,7 @@ import org.apache.axiom.om.OMAbstractFactory; import org.apache.axiom.om.OMContainer; +import org.apache.axiom.om.OMDocument; import org.apache.axiom.om.OMElement; import org.apache.axiom.om.OMException; import org.apache.axiom.om.OMFactory; @@ -69,10 +70,7 @@ */ public StAXOMBuilder(OMFactory ombuilderFactory, XMLStreamReader parser) { super(ombuilderFactory, parser); - document = ombuilderFactory.createOMDocument(this); - if (charEncoding != null) { - document.setCharsetEncoding(charEncoding); - } + document = createDocument(); } /** @@ -92,10 +90,7 @@ doTrace = log.isDebugEnabled(); namespaceURIInterning = false; lookAheadToken = -1; - document = factory.createOMDocument(this); - if (charEncoding != null) { - document.setCharsetEncoding(charEncoding); - } + document = createDocument(); lastNode = element; document.setOMDocumentElement(element); populateOMElement(element); @@ -132,10 +127,7 @@ namespaceURIInterning = false; lookAheadToken = -1; omfactory = OMAbstractFactory.getOMFactory(); - document = omfactory.createOMDocument(this); - if (charEncoding != null) { - document.setCharsetEncoding(charEncoding); - } + document = createDocument(); } /** @@ -156,6 +148,16 @@ lookAheadToken = -1; } + private OMDocument createDocument() { + OMDocument document = omfactory.createOMDocument(this); + if (charEncoding != null) { + document.setCharsetEncoding(charEncoding); + } + document.setXMLVersion(parser.getVersion()); + document.setStandalone(parser.isStandalone() ? "yes" : "no"); + return document; + } + /** * Method next. * @@ -206,13 +208,6 @@ elementLevel++; lastNode = createNextOMElement(); break; - case XMLStreamConstants.START_DOCUMENT: - // Document has already being created. - - document.setXMLVersion(parser.getVersion()); - document.setCharsetEncoding(parser.getEncoding()); - document.setStandalone(parser.isStandalone() ? "yes" : "no"); - break; case XMLStreamConstants.CHARACTERS: lastNode = createOMText(XMLStreamConstants.CHARACTERS); break;