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;


Reply via email to