You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2012/12/20 16:55:27 UTC

svn commit: r1424548 [1/5] - in /webservices/axiom/branches/AXIOM-201: ./ etc/ legal/ modules/axiom-all/ modules/axiom-api/ modules/axiom-api/src/main/java/org/apache/axiom/om/ modules/axiom-api/src/main/java/org/apache/axiom/om/dom/ modules/axiom-api/...

Author: veithen
Date: Thu Dec 20 15:55:24 2012
New Revision: 1424548

URL: http://svn.apache.org/viewvc?rev=1424548&view=rev
Log:
Merged latest changes from trunk.

Added:
    webservices/axiom/branches/AXIOM-201/legal/stax2-api-LICENSE.txt
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/legal/stax2-api-LICENSE.txt
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/ContentHandlerWriter.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/ContentHandlerWriter.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/util/UUIDCache.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/UUIDCache.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/util/base64/NoCopyCharArrayWriter.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/base64/NoCopyCharArrayWriter.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/test/resources/soap/soap11/additional-element-after-body.xml
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/resources/soap/soap11/additional-element-after-body.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-compat/src/main/java/org/apache/axiom/om/util/Base64.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-compat/src/main/java/org/apache/axiom/om/util/Base64.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMUtils.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMUtils.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/attr/TestLookupNamespaceURI.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/attr/TestLookupNamespaceURI.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/attr/TestLookupNamespaceURIWithoutOwnerElement.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/attr/TestLookupNamespaceURIWithoutOwnerElement.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/document/TestCreateAttributeNSInvalid.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/document/TestCreateAttributeNSInvalid.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/document/TestLookupNamespaceURI.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/document/TestLookupNamespaceURI.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/document/TestLookupNamespaceURIWithEmptyDocument.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/document/TestLookupNamespaceURIWithEmptyDocument.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/documentfragment/TestLookupNamespaceURI.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/documentfragment/TestLookupNamespaceURI.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/ReplaceChildTestCase.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/ReplaceChildTestCase.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestLookupNamespaceURIExplicit.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestLookupNamespaceURIExplicit.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestLookupNamespaceURIImplicit.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestLookupNamespaceURIImplicit.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestSetAttributeNSExisting.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestSetAttributeNSExisting.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestSetAttributeNSInvalid.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestSetAttributeNSInvalid.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/text/TestLookupNamespaceURIWithNSDeclInScope.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/text/TestLookupNamespaceURIWithNSDeclInScope.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/text/TestLookupNamespaceURIWithoutParent.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/text/TestLookupNamespaceURIWithoutParent.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NSDeclIterator.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NSDeclIterator.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestCreateOMBuilderFromDOM.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestCreateOMBuilderFromDOM.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestCreateOMBuilderFromDOMElement.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestCreateOMBuilderFromDOMElement.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestGetDocumentElementWithDiscardDocumentIllFormedEpilog.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestGetDocumentElementWithDiscardDocumentIllFormedEpilog.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetFirstOMChildAfterConsume.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetFirstOMChildAfterConsume.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetFirstOMChildAfterDiscard.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetFirstOMChildAfterDiscard.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderGetElementTextFromParser.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderGetElementTextFromParser.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/factory/TestCreateOMEntityReference.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/factory/TestCreateOMEntityReference.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/factory/TestCreateOMEntityReferenceWithNullParent.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/factory/TestCreateOMEntityReferenceWithNullParent.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/TestBase64StreamingWithGetSAXSource.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/TestBase64StreamingWithGetSAXSource.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/TestBase64StreamingWithSerialize.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/TestBase64StreamingWithSerialize.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/TestGetTextCharactersFromDataHandler.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/TestGetTextCharactersFromDataHandler.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/omdom/element/TestRemoveAttributeNSNamespaceDeclaration.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/omdom/element/TestRemoveAttributeNSNamespaceDeclaration.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/omdom/element/TestReplaceChildFirstIncomplete.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/omdom/element/TestReplaceChildFirstIncomplete.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/omdom/element/TestReplaceChildMiddleIncomplete.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/omdom/element/TestReplaceChildMiddleIncomplete.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/
      - copied from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQName.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQName.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQNameWithParser.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQNameWithParser.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValue.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValue.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValueWithParser.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValueWithParser.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/
      - copied from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetSubCodeNestedWithParser.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetSubCodeNestedWithParser.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetSubCodeWithParser.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetSubCodeWithParser.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueAsQNameWithParser.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueAsQNameWithParser.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueNestedWithParser.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueNestedWithParser.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueWithParser.java
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueWithParser.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/resources/badsoap/soap12/additional-element-after-body.xml
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/resources/badsoap/soap12/additional-element-after-body.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-testutils/src/main/resources/org/apache/axiom/testutils/conformance/entity-reference-nested.xml
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testutils/src/main/resources/org/apache/axiom/testutils/conformance/entity-reference-nested.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-testutils/src/main/resources/org/apache/axiom/testutils/conformance/entity-reference-with-markup.xml
      - copied unchanged from r1424543, webservices/commons/trunk/modules/axiom/modules/axiom-testutils/src/main/resources/org/apache/axiom/testutils/conformance/entity-reference-with-markup.xml
Removed:
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/util/Base64.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/factory/SAXOMXMLParserWrapper.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestCreateOMBuilderFromDOMSource.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/TestBase64Streaming.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/omdom/element/TestReplaceChildIncomplete.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestGetTextAsQNameWithParser.java
Modified:
    webservices/axiom/branches/AXIOM-201/   (props changed)
    webservices/axiom/branches/AXIOM-201/RELEASE-NOTE.txt
    webservices/axiom/branches/AXIOM-201/etc/axiom.rdf
    webservices/axiom/branches/AXIOM-201/modules/axiom-all/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMCloneOptions.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMConstants.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMDataSourceExt.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMElement.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMFactory.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMMetaFactory.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMXMLBuilderFactory.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/dom/DOMMetaFactory.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractOMDataSource.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractPullOMDataSource.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractPushOMDataSource.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/OMDataSourceExtBase.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/OMElementEx.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/SAXOMBuilder.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXBuilder.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/OMXMLReader.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/util/OMSerializerUtil.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/util/StAXUtils.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/soap/SOAPFaultClassifier.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/SOAP11BuilderHelper.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/SOAP12BuilderHelper.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/SOAPBuilderHelper.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/StAXSOAPModelBuilder.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/util/UIDGenerator.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/util/base64/Base64Utils.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/util/stax/AbstractXMLStreamReader.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/test/java/org/apache/axiom/soap/SOAPFaultCodeTestBase.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/test/java/org/apache/axiom/soap/SOAPFaultSubCodeTestBase.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/test/java/org/apache/axiom/util/UIDGeneratorTest.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/test/resources/soap/soap11/message.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/test/resources/soap/soap12/message.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-buildutils/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-c14n/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-common-impl-testsuite/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-common-impl/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMContainerHelper.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMNodeHelper.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/SwitchingWrapper.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/factory/AbstractOMMetaFactory.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/factory/DOMXMLStreamReader.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-compat/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMTestSuiteBuilder.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/document/TestCreateAttributeNS.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestReplaceChildFirst.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestReplaceChildFirstWithDocumentFragment.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestReplaceChildLast.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestReplaceChildLastWithDocumentFragment.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestReplaceChildMiddle.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestReplaceChildMiddleWithDocumentFragment.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestReplaceChildSingle.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/main/java/org/apache/axiom/ts/dom/element/TestSetAttributeNS.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom-testsuite/src/test/java/org/apache/axiom/ts/dom/XercesTest.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttributeMap.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/CharacterImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMUtil.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentFragmentImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/LeafNode.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NamedNodeHelper.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/TextNodeImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultCodeImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultCodeImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultSubCodeImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-impl/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMTextImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultCodeImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultSubCodeImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultCodeImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultSubCodeImpl.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-integration/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-jaxb/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-jaxen-testsuite/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-osgi-tests/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-parent/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-samples/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-samples/src/test/java/org/apache/axiom/samples/FragmentsSample.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-tests/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-tests/src/test/java/org/apache/axiom/om/StaxParserTest.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-tests/src/test/java/org/apache/axiom/soap/SOAPFaultValueTestBase.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/ConformanceTestCase.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestCreateOMBuilderFromSAXSource.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/builder/TestGetDocumentElementWithDiscardDocument.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/container/BuilderFactory.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/container/TestGetXMLStreamReader.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderCommentEvent.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/omdom/OMDOMTestSuiteBuilder.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultAfterReplace.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testutils/pom.xml
    webservices/axiom/branches/AXIOM-201/modules/axiom-testutils/src/main/java/org/apache/axiom/testutils/activation/RandomDataSource.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testutils/src/main/java/org/apache/axiom/testutils/conformance/ConformanceTestFile.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testutils/src/main/java/org/apache/axiom/testutils/stax/Normalizer.java
    webservices/axiom/branches/AXIOM-201/modules/axiom-testutils/src/main/java/org/apache/axiom/testutils/stax/XMLStreamReaderComparator.java
    webservices/axiom/branches/AXIOM-201/pom.xml
    webservices/axiom/branches/AXIOM-201/src/docbkx/userguide.xml
    webservices/axiom/branches/AXIOM-201/src/main/assembly/bin.xml
    webservices/axiom/branches/AXIOM-201/src/site/apt/index.apt
    webservices/axiom/branches/AXIOM-201/src/site/resources/css/site.css
    webservices/axiom/branches/AXIOM-201/src/site/xdoc/download.xml.vm

Propchange: webservices/axiom/branches/AXIOM-201/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Thu Dec 20 15:55:24 2012
@@ -1,5 +1,4 @@
 target
-test-resources
 .project
 .classpath
 .settings

Propchange: webservices/axiom/branches/AXIOM-201/
------------------------------------------------------------------------------
  Merged /webservices/commons/trunk/modules/axiom:r1369632-1424543

Modified: webservices/axiom/branches/AXIOM-201/RELEASE-NOTE.txt
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/RELEASE-NOTE.txt?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/RELEASE-NOTE.txt (original)
+++ webservices/axiom/branches/AXIOM-201/RELEASE-NOTE.txt Thu Dec 20 15:55:24 2012
@@ -1,24 +1,26 @@
 
 ===========================================
 
-     Apache Axiom 1.2.13 Release Note
+     Apache Axiom 1.2.14 Release Note
 
 ===========================================
 
-  Axiom 1.2.13 contains fixes for over thirty JIRA issues [1] as well as lots of other improvements,
-  mainly related to XOP/MTOM processing, namespace handling, DOM support, documentation and code
-  quality.
+  Axiom 1.2.14 contains fixes for more than twenty JIRA issues [1] as well as lots of other
+  improvements.
   
-  The most prominent change in 1.2.13 is that Axiom no longer uses its own MIME parser, but instead
-  relies on Apache James Mime4J [2] for XOP/MTOM processing. This was done in order to support
-  streaming of the content of MIME parts in XOP/MTOM messages: they can now be processed without
-  writing them to memory or disk first. This also applies to the root/SOAP part, which in previous
-  versions was always read into memory before parsing could start.
+  Users upgrading to 1.2.14 should take into account the following changes:
   
-  For more information about the possible impact on existing application code of the changes
-  included in Axiom 1.2.13, please refer to the user guide.
+    * Axiom now uses Woodstox 4.1.x as StAX implementation (although 3.2.x and 4.0.x are still
+      supported).
+    
+    * OMFactory implementations for DOOM are now stateless.
+    
+    * Several deprecated classes have been moved to a new JAR file named axiom-compat and are no
+      longer included in the core artifacts (axiom-api, axiom-impl and axiom-dom).
+  
+  For more information about the possible impact on existing application code of these changes,
+  please refer to the user guide.
 
-  [1] https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311190&version=12316677
-  [2] http://james.apache.org/mime4j/
+  [1] https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311190&version=12318340
 
 - The Apache Axiom Team.

Modified: webservices/axiom/branches/AXIOM-201/etc/axiom.rdf
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/etc/axiom.rdf?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/etc/axiom.rdf [UTF-8] (original)
+++ webservices/axiom/branches/AXIOM-201/etc/axiom.rdf [UTF-8] Thu Dec 20 15:55:24 2012
@@ -54,6 +54,7 @@
     <release><Version><name>Apache Axiom</name><created>2011-02-03</created><revision>1.2.11</revision></Version></release>
     <release><Version><name>Apache Axiom</name><created>2011-07-02</created><revision>1.2.12</revision></Version></release>
     <release><Version><name>Apache Axiom</name><created>2012-04-02</created><revision>1.2.13</revision></Version></release>
+    <release><Version><name>Apache Axiom</name><created>2012-12-02</created><revision>1.2.14</revision></Version></release>
     <repository>
       <SVNRepository>
         <location rdf:resource="http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/axiom"/>

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-all/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-all/pom.xml?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-all/pom.xml (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-all/pom.xml Thu Dec 20 15:55:24 2012
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.ws.commons.axiom</groupId>
         <artifactId>axiom-parent</artifactId>
-        <version>1.2.14-SNAPSHOT</version>
+        <version>1.2.15-SNAPSHOT</version>
         <relativePath>../axiom-parent/pom.xml</relativePath>
     </parent>
     <artifactId>axiom-all</artifactId>
@@ -60,6 +60,11 @@
         </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
+            <artifactId>axiom-jaxb</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
             <artifactId>axiom-c14n</artifactId>
             <version>${project.version}</version>
         </dependency>

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/pom.xml?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/pom.xml (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/pom.xml Thu Dec 20 15:55:24 2012
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.ws.commons.axiom</groupId>
         <artifactId>axiom-parent</artifactId>
-        <version>1.2.14-SNAPSHOT</version>
+        <version>1.2.15-SNAPSHOT</version>
         <relativePath>../axiom-parent/pom.xml</relativePath>
     </parent>
     <artifactId>axiom-api</artifactId>
@@ -148,6 +148,11 @@
                                 <artifactItem>
                                     <groupId>org.codehaus.woodstox</groupId>
                                     <artifactId>woodstox-core-asl</artifactId>
+                                    <version>4.0.11</version>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.codehaus.woodstox</groupId>
+                                    <artifactId>woodstox-core-asl</artifactId>
                                     <version>4.1.0</version>
                                 </artifactItem>
                                 <artifactItem>
@@ -161,6 +166,11 @@
                                     <version>4.1.3</version>
                                 </artifactItem>
                                 <artifactItem>
+                                    <groupId>org.codehaus.woodstox</groupId>
+                                    <artifactId>woodstox-core-asl</artifactId>
+                                    <version>4.1.4</version>
+                                </artifactItem>
+                                <artifactItem>
                                     <groupId>com.sun.xml.stream</groupId>
                                     <artifactId>sjsxp</artifactId>
                                     <version>1.0.1</version>

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMCloneOptions.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMCloneOptions.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMCloneOptions.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMCloneOptions.java Thu Dec 20 15:55:24 2012
@@ -18,6 +18,8 @@
  */
 package org.apache.axiom.om;
 
+import javax.activation.DataHandler;
+
 import org.apache.axiom.ext.stax.datahandler.DataHandlerProvider;
 
 public class OMCloneOptions {

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMConstants.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMConstants.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMConstants.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMConstants.java Thu Dec 20 15:55:24 2012
@@ -19,43 +19,60 @@
 
 package org.apache.axiom.om;
 
+import javax.xml.XMLConstants;
+
 /** Interface OMConstants */
 public interface OMConstants {
 
     // OMBuilder constants
     /** Field PUSH_TYPE_BUILDER */
-    static final short PUSH_TYPE_BUILDER = 0;
+    short PUSH_TYPE_BUILDER = 0;
 
     /** Field PULL_TYPE_BUILDER */
-    static final short PULL_TYPE_BUILDER = 1;
+    short PULL_TYPE_BUILDER = 1;
 
-    /** Field ARRAY_ITEM_NSURI */
-    static final String ARRAY_ITEM_NSURI =
+    /**
+     * @deprecated This constant was used in early prototypes of Axis2 and is no longer relevant.
+     */
+    String ARRAY_ITEM_NSURI =
             "http://axis.apache.org/encoding/Arrays";
 
-    /** Field ARRAY_ITEM_LOCALNAME */
-    static final String ARRAY_ITEM_LOCALNAME = "item";
+    /**
+     * @deprecated This constant was used in early prototypes of Axis2 and is no longer relevant.
+     */
+    String ARRAY_ITEM_LOCALNAME = "item";
 
-    /** Field ARRAY_ITEM_NS_PREFIX */
-    static final String ARRAY_ITEM_NS_PREFIX = "arrays";
+    /**
+     * @deprecated This constant was used in early prototypes of Axis2 and is no longer relevant.
+     */
+    String ARRAY_ITEM_NS_PREFIX = "arrays";
 
-    /** Field ARRAY_ITEM_QNAME */
-    static final String ARRAY_ITEM_QNAME =
+    /**
+     * @deprecated This constant was used in early prototypes of Axis2 and is no longer relevant.
+     */
+    String ARRAY_ITEM_QNAME =
             OMConstants.ARRAY_ITEM_NS_PREFIX + ':'
                     + OMConstants.ARRAY_ITEM_LOCALNAME;
 
     /** Field DEFAULT_CHAR_SET_ENCODING specifies the default character encoding scheme to be used */
-    static final String DEFAULT_CHAR_SET_ENCODING = "utf-8";
-    static final String DEFAULT_XML_VERSION = "1.0";
+    String DEFAULT_CHAR_SET_ENCODING = "utf-8";
+    String DEFAULT_XML_VERSION = "1.0";
 
 
-    static final String XMLNS_URI =
+    String XMLNS_URI =
             "http://www.w3.org/XML/1998/namespace";
 
-    static final String XMLNS_NS_URI = "http://www.w3.org/2000/xmlns/";
-    final static String XMLNS_NS_PREFIX = "xmlns";
+    /**
+     * @deprecated Use {@link XMLConstants#XMLNS_ATTRIBUTE_NS_URI} instead.
+     */
+    String XMLNS_NS_URI = "http://www.w3.org/2000/xmlns/";
+    
+    /**
+     * @deprecated Use {@link XMLConstants#XMLNS_ATTRIBUTE} instead.
+     */
+    String XMLNS_NS_PREFIX = "xmlns";
 
-    static final String XMLNS_PREFIX =
+    String XMLNS_PREFIX =
             "xml";
     
     /**
@@ -82,16 +99,16 @@ public interface OMConstants {
     /**
      * @deprecated
      */
-    static final String DEFAULT_DEFAULT_NAMESPACE = "\"\"";
+    String DEFAULT_DEFAULT_NAMESPACE = "\"\"";
     
-	static final String XMLATTRTYPE_CDATA = "CDATA";
-	static final String XMLATTRTYPE_ID = "ID";
-	static final String XMLATTRTYPE_IDREF = "IDREF"; 
-	static final String XMLATTRTYPE_IDREFS = "IDREFS"; 
-	static final String XMLATTRTYPE_NMTOKEN = "NMTOKEN"; 
-	static final String XMLATTRTYPE_NMTOKENS = "NMTOKENS"; 
-	static final String XMLATTRTYPE_ENTITY = "ENTITY"; 
-	static final String XMLATTRTYPE_ENTITIES = "ENTITIES";  
-	static final String XMLATTRTYPE_NOTATION = "NOTATION"; 
+    String XMLATTRTYPE_CDATA = "CDATA";
+    String XMLATTRTYPE_ID = "ID";
+    String XMLATTRTYPE_IDREF = "IDREF"; 
+    String XMLATTRTYPE_IDREFS = "IDREFS"; 
+    String XMLATTRTYPE_NMTOKEN = "NMTOKEN"; 
+    String XMLATTRTYPE_NMTOKENS = "NMTOKENS"; 
+    String XMLATTRTYPE_ENTITY = "ENTITY"; 
+    String XMLATTRTYPE_ENTITIES = "ENTITIES";  
+    String XMLATTRTYPE_NOTATION = "NOTATION"; 
 
 }

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMDataSourceExt.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMDataSourceExt.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMDataSourceExt.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMDataSourceExt.java Thu Dec 20 15:55:24 2012
@@ -97,7 +97,7 @@ public interface OMDataSourceExt extends
     
     /**
      * Create a copy of the data source. This method is used by
-     * {@link OMElement#cloneOMElement(OMCloneOptions)} when the
+     * {@link OMInformationItem#clone(OMCloneOptions)} when the
      * {@link OMCloneOptions#isCopyOMDataSources()} option is enabled. If the data source is
      * immutable and stateless, then it may return a reference to itself instead of creating a new
      * data source instance.

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMElement.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMElement.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMElement.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMElement.java Thu Dec 20 15:55:24 2012
@@ -566,7 +566,7 @@ public interface OMElement extends OMNod
 
     /**
      * Clones this element and its descendants using default options. This method has the same
-     * effect as {@link #cloneOMElement(OMCloneOptions)} with default options.
+     * effect as {@link #clone(OMCloneOptions)} with default options.
      * 
      * @return the cloned element
      */

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMFactory.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMFactory.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMFactory.java Thu Dec 20 15:55:24 2012
@@ -358,4 +358,16 @@ public interface OMFactory {
      * @return Returns OMComment.
      */
     OMComment createOMComment(OMContainer parent, String content);
+    
+    /**
+     * Create an entity reference.
+     * 
+     * @param parent
+     *            the parent to which the newly created entity reference node will be added; this
+     *            may be <code>null</code>
+     * @param name
+     *            the name of the entity
+     * @return the newly created {@link OMEntityReference} node
+     */
+    OMEntityReference createOMEntityReference(OMContainer parent, String name);
 }

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMMetaFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMMetaFactory.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMMetaFactory.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMMetaFactory.java Thu Dec 20 15:55:24 2012
@@ -21,7 +21,6 @@ package org.apache.axiom.om;
 
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.transform.Source;
-import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.sax.SAXSource;
 
 import org.apache.axiom.om.util.StAXParserConfiguration;
@@ -29,6 +28,7 @@ import org.apache.axiom.soap.SOAPFactory
 import org.apache.axiom.soap.SOAPModelBuilder;
 import org.apache.axiom.util.stax.xop.MimePartProvider;
 import org.w3c.dom.EntityReference;
+import org.w3c.dom.Node;
 import org.xml.sax.InputSource;
 import org.xml.sax.ext.LexicalHandler;
 
@@ -116,7 +116,7 @@ public interface OMMetaFactory {
     OMXMLParserWrapper createOMBuilder(OMFactory omFactory, Source source);
     
     /**
-     * Create an object model builder for plain XML that gets its input from a {@link DOMSource}.
+     * Create an object model builder for plain XML that gets its input from a DOM tree.
      * 
      * @param omFactory
      *            The object model factory to use. This factory must be obtained from the same
@@ -124,6 +124,8 @@ public interface OMMetaFactory {
      *            the factory will be retrieved from {@link #getOMFactory()}), but in some cases it
      *            may be necessary to pass a {@link SOAPFactory} instance, although this method will
      *            never produce a SOAP infoset.
+     * @param node
+     *            the DOM node; must be a {@link Node#DOCUMENT_NODE} or {@link Node#ELEMENT_NODE}
      * @param expandEntityReferences
      *            Determines how {@link EntityReference} nodes are handled:
      *            <ul>
@@ -134,11 +136,9 @@ public interface OMMetaFactory {
      *            are created and the children of {@link EntityReference} nodes are converted and
      *            inserted into the Axiom tree.
      *            </ul>
-     * @param source
-     *            the source of the XML document
      * @return the builder
      */
-    OMXMLParserWrapper createOMBuilder(OMFactory omFactory, DOMSource source, boolean expandEntityReferences);
+    OMXMLParserWrapper createOMBuilder(OMFactory omFactory, Node node, boolean expandEntityReferences);
     
     /**
      * Create an object model builder for plain XML that gets its input from a {@link SAXSource}.

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMXMLBuilderFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMXMLBuilderFactory.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMXMLBuilderFactory.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/OMXMLBuilderFactory.java Thu Dec 20 15:55:24 2012
@@ -26,7 +26,6 @@ import javax.mail.internet.ParseExceptio
 import javax.xml.stream.XMLStreamConstants;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.transform.Source;
-import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.sax.SAXSource;
 
 import org.apache.axiom.attachments.Attachments;
@@ -35,6 +34,7 @@ import org.apache.axiom.om.util.StAXPars
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.SOAPModelBuilder;
 import org.w3c.dom.EntityReference;
+import org.w3c.dom.Node;
 import org.xml.sax.InputSource;
 import org.xml.sax.ext.LexicalHandler;
 
@@ -297,11 +297,10 @@ public class OMXMLBuilderFactory {
     }
     
     /**
-     * Create an object model builder that reads a plain XML document from the provided
-     * {@link DOMSource}.
+     * Create an object model builder that reads a plain XML document from the provided DOM tree.
      * 
-     * @param source
-     *            the source of the XML document
+     * @param node
+     *            the DOM node; must be a {@link Node#DOCUMENT_NODE} or {@link Node#ELEMENT_NODE}
      * @param expandEntityReferences
      *            Determines how {@link EntityReference} nodes are handled:
      *            <ul>
@@ -314,9 +313,9 @@ public class OMXMLBuilderFactory {
      *            </ul>
      * @return the builder
      */
-    public static OMXMLParserWrapper createOMBuilder(DOMSource source, boolean expandEntityReferences) {
+    public static OMXMLParserWrapper createOMBuilder(Node node, boolean expandEntityReferences) {
         OMMetaFactory metaFactory = OMAbstractFactory.getMetaFactory();
-        return metaFactory.createOMBuilder(metaFactory.getOMFactory(), source, expandEntityReferences);
+        return metaFactory.createOMBuilder(metaFactory.getOMFactory(), node, expandEntityReferences);
     }
     
     /**
@@ -362,13 +361,13 @@ public class OMXMLBuilderFactory {
     }
     
     /**
-     * Create an object model builder that reads an XML document from the provided {@link DOMSource}
-     * using a specified object model factory.
+     * Create an object model builder that reads an XML document from the provided DOM tree using a
+     * specified object model factory.
      * 
      * @param omFactory
      *            the object model factory to use
-     * @param source
-     *            the source of the XML document
+     * @param node
+     *            the DOM node; must be a {@link Node#DOCUMENT_NODE} or {@link Node#ELEMENT_NODE}
      * @param expandEntityReferences
      *            Determines how {@link EntityReference} nodes are handled:
      *            <ul>
@@ -381,8 +380,8 @@ public class OMXMLBuilderFactory {
      *            </ul>
      * @return the builder
      */
-    public static OMXMLParserWrapper createOMBuilder(OMFactory omFactory, DOMSource source, boolean expandEntityReferences) {
-        return omFactory.getMetaFactory().createOMBuilder(omFactory, source, expandEntityReferences);
+    public static OMXMLParserWrapper createOMBuilder(OMFactory omFactory, Node node, boolean expandEntityReferences) {
+        return omFactory.getMetaFactory().createOMBuilder(omFactory, node, expandEntityReferences);
     }
     
     /**

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/dom/DOMMetaFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/dom/DOMMetaFactory.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/dom/DOMMetaFactory.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/dom/DOMMetaFactory.java Thu Dec 20 15:55:24 2012
@@ -23,6 +23,9 @@ import javax.xml.parsers.DocumentBuilder
 
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMAttribute;
+import org.apache.axiom.om.OMComment;
+import org.apache.axiom.om.OMContainer;
+import org.apache.axiom.om.OMDocType;
 import org.apache.axiom.om.OMDocument;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMEntityReference;

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractOMDataSource.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractOMDataSource.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractOMDataSource.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractOMDataSource.java Thu Dec 20 15:55:24 2012
@@ -27,14 +27,22 @@ import java.io.Writer;
 import java.util.HashMap;
 
 import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
 
+import org.apache.axiom.om.OMDataSource;
 import org.apache.axiom.om.OMDataSourceExt;
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMOutputFormat;
 import org.apache.axiom.om.impl.MTOMXMLStreamWriter;
 import org.apache.axiom.om.util.StAXUtils;
 
+/**
+ * Base class for {@link OMDataSourceExt} implementations. This class should only be used by data
+ * sources that can equally well produce an {@link XMLStreamReader} and have a meaningful
+ * implementation of {@link OMDataSource#serialize(XMLStreamWriter)}. Most implementations should
+ * actually use {@link AbstractPullOMDataSource} or {@link AbstractPushOMDataSource}.
+ */
 public abstract class AbstractOMDataSource implements OMDataSourceExt {
     private HashMap properties = null;
 

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractPullOMDataSource.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractPullOMDataSource.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractPullOMDataSource.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractPullOMDataSource.java Thu Dec 20 15:55:24 2012
@@ -33,7 +33,7 @@ import org.apache.axiom.om.impl.serializ
 public abstract class AbstractPullOMDataSource extends AbstractOMDataSource {
     public final boolean isDestructiveWrite() {
         // Since we serialize by copying the events from the XMLStreamReader returned by getReader(),
-        // obviously write is destructive if and only if read is destructiveñ
+        // obviously write is destructive if and only if read is destructive
         return isDestructiveRead();
     }
 

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractPushOMDataSource.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractPushOMDataSource.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractPushOMDataSource.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractPushOMDataSource.java Thu Dec 20 15:55:24 2012
@@ -28,6 +28,7 @@ import javax.xml.stream.XMLStreamWriter;
 import org.apache.axiom.om.OMDataSource;
 import org.apache.axiom.om.OMDataSourceExt;
 import org.apache.axiom.om.OMOutputFormat;
+import org.apache.axiom.om.OMSourcedElement;
 import org.apache.axiom.om.util.StAXUtils;
 
 /**

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/OMDataSourceExtBase.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/OMDataSourceExtBase.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/OMDataSourceExtBase.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/ds/OMDataSourceExtBase.java Thu Dec 20 15:55:24 2012
@@ -31,6 +31,7 @@ import javax.xml.stream.XMLStreamExcepti
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
 
+import org.apache.axiom.om.OMDataSource;
 import org.apache.axiom.om.OMDataSourceExt;
 import org.apache.axiom.om.OMDocument;
 import org.apache.axiom.om.OMNode;
@@ -43,6 +44,12 @@ import org.apache.commons.logging.LogFac
 /**
  * OMDataSourceExtBase is a convenient base class that can be extended
  * by other OMDataSourceExt implementations.
+ * 
+ * @deprecated As described in <a
+ *             href="https://issues.apache.org/jira/browse/AXIOM-419">AXIOM-419</a>, this class has
+ *             multiple issues and should no longer be used as a base class for {@link OMDataSource}
+ *             implementations. Instead, use {@link AbstractOMDataSource},
+ *             {@link AbstractPullOMDataSource} or {@link AbstractPushOMDataSource}.
  */
 public abstract class OMDataSourceExtBase implements OMDataSourceExt {
 

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/OMElementEx.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/OMElementEx.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/OMElementEx.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/OMElementEx.java Thu Dec 20 15:55:24 2012
@@ -35,9 +35,9 @@ public interface OMElementEx extends OME
      * declare the default namespace.
      * 
      * @param uri
-     *            the namespace to declare
+     *            the namespace to declare; must not be <code>null</code>
      * @param prefix
-     *            the prefix to associate with the given namespace
+     *            the prefix to associate with the given namespace; must not be <code>null</code>
      * @return the created namespace information item
      */
     OMNamespace addNamespaceDeclaration(String uri, String prefix);

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/SAXOMBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/SAXOMBuilder.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/SAXOMBuilder.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/SAXOMBuilder.java Thu Dec 20 15:55:24 2012
@@ -28,6 +28,7 @@ import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.OMNode;
+import org.apache.axiom.om.OMXMLBuilderFactory;
 import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axiom.om.impl.OMContainerEx;
 import org.apache.axiom.om.impl.OMElementEx;
@@ -35,16 +36,22 @@ import org.apache.axiom.om.impl.OMNodeEx
 import org.xml.sax.Attributes;
 import org.xml.sax.Locator;
 import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
 import org.xml.sax.ext.DeclHandler;
 import org.xml.sax.ext.LexicalHandler;
 import org.xml.sax.helpers.DefaultHandler;
 
+import java.io.IOException;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.xml.XMLConstants;
+import javax.xml.transform.sax.SAXSource;
 
 public class SAXOMBuilder extends DefaultHandler implements LexicalHandler, DeclHandler, OMXMLParserWrapper {
+    private final SAXSource source;
     private final boolean expandEntityReferences;
     
     private OMDocument document;
@@ -68,6 +75,11 @@ public class SAXOMBuilder extends Defaul
      * Stores the internal subset if there is a DTD.
      */
     private StringBuilder internalSubset;
+
+    /**
+     * Stores the replacement values for entities.
+     */
+    private Map entities;
     
     /**
      * Flag indicating that the parser is processing the external subset.
@@ -87,16 +99,35 @@ public class SAXOMBuilder extends Defaul
     int textNodeType = OMNode.TEXT_NODE;
     
     private boolean inEntityReference;
+    private int entityReferenceDepth;
 
-    public SAXOMBuilder(OMFactory factory, boolean expandEntityReferences) {
+    /**
+     * For internal use only.
+     * 
+     * @param factory
+     * @param source
+     * @param expandEntityReferences
+     */
+    public SAXOMBuilder(OMFactory factory, SAXSource source, boolean expandEntityReferences) {
         this.factory = (OMFactoryEx)factory;
+        this.source = source;
         this.expandEntityReferences = expandEntityReferences;
     }
     
+    /**
+     * @deprecated Instead of creating an instance of this class directly, create a
+     *             {@link SAXSource} and use
+     *             {@link OMXMLBuilderFactory#createOMBuilder(OMFactory, SAXSource, boolean)}.
+     */
     public SAXOMBuilder(OMFactory factory) {
-        this(factory, true);
+        this(factory, null, true);
     }
     
+    /**
+     * @deprecated Instead of creating an instance of this class directly, create a
+     *             {@link SAXSource} and use
+     *             {@link OMXMLBuilderFactory#createOMBuilder(SAXSource, boolean)}.
+     */
     public SAXOMBuilder() {
         this(OMAbstractFactory.getOMFactory());
     }
@@ -179,6 +210,10 @@ public class SAXOMBuilder extends Defaul
     }
 
     public void internalEntityDecl(String name, String value) throws SAXException {
+        if (entities == null) {
+            entities = new HashMap();
+        }
+        entities.put(name, value);
         if (!inExternalSubset) {
             internalSubset.append("<!ENTITY ");
             internalSubset.append(name);
@@ -241,10 +276,12 @@ public class SAXOMBuilder extends Defaul
      */
     public void startPrefixMapping(String prefix, String uri)
             throws SAXException {
-        if (nextElem == null) {
-            nextElem = createNextElement("DUMMY");
+        if (!inEntityReference) {
+            if (nextElem == null) {
+                nextElem = createNextElement("DUMMY");
+            }
+            ((OMElementEx)nextElem).addNamespaceDeclaration(uri, prefix);
         }
-        ((OMElementEx)nextElem).addNamespaceDeclaration(uri, prefix);
     }
 
     public void endPrefixMapping(String prefix) throws SAXException {
@@ -258,49 +295,51 @@ public class SAXOMBuilder extends Defaul
      */
     public void startElement(String namespaceURI, String localName,
                              String qName, Attributes atts) throws SAXException {
-        if (localName == null || localName.trim().equals(""))
-            localName = qName.substring(qName.indexOf(':') + 1);
-        if (nextElem == null)
-            nextElem = createNextElement(localName);
-        else
-            nextElem.setLocalName(localName);
-
-        int idx = qName.indexOf(':');
-        String prefix = idx == -1 ? "" : qName.substring(0, idx);
-        BuilderUtil.setNamespace(nextElem, namespaceURI, prefix, false);
-        
-        int j = atts.getLength();
-        for (int i = 0; i < j; i++) {
-            // Note that some SAX parsers report namespace declarations as attributes in addition
-            // to calling start/endPrefixMapping.
-            // NOTE: This filter was introduced to make SAXOMBuilder work with some versions of
-            //       XMLBeans (2.3.0). It is not clear whether this is a bug in XMLBeans or not.
-            //       See http://forum.springframework.org/showthread.php?t=43958 for a discussion.
-            //       If this test causes problems with other parsers, don't hesitate to remove it.
-            if (!atts.getQName(i).startsWith("xmlns")) {
-                String attrNamespaceURI = atts.getURI(i);
-                OMNamespace ns;
-                if (attrNamespaceURI.length() > 0) {
-                    ns = nextElem.findNamespace(atts.getURI(i), null);
-                    if (ns == null) {
-                        // The "xml" prefix is not necessarily declared explicitly; in this case,
-                        // create a new OMNamespace instance.
-                        if (attrNamespaceURI.equals(XMLConstants.XML_NS_URI)) {
-                            ns = factory.createOMNamespace(XMLConstants.XML_NS_URI, XMLConstants.XML_NS_PREFIX);
-                        } else {
-                            throw new SAXException("Unbound namespace " + attrNamespaceURI);
+        if (!inEntityReference) {
+            if (localName == null || localName.trim().equals(""))
+                localName = qName.substring(qName.indexOf(':') + 1);
+            if (nextElem == null)
+                nextElem = createNextElement(localName);
+            else
+                nextElem.setLocalName(localName);
+    
+            int idx = qName.indexOf(':');
+            String prefix = idx == -1 ? "" : qName.substring(0, idx);
+            BuilderUtil.setNamespace(nextElem, namespaceURI, prefix, false);
+            
+            int j = atts.getLength();
+            for (int i = 0; i < j; i++) {
+                // Note that some SAX parsers report namespace declarations as attributes in addition
+                // to calling start/endPrefixMapping.
+                // NOTE: This filter was introduced to make SAXOMBuilder work with some versions of
+                //       XMLBeans (2.3.0). It is not clear whether this is a bug in XMLBeans or not.
+                //       See http://forum.springframework.org/showthread.php?t=43958 for a discussion.
+                //       If this test causes problems with other parsers, don't hesitate to remove it.
+                if (!atts.getQName(i).startsWith("xmlns")) {
+                    String attrNamespaceURI = atts.getURI(i);
+                    OMNamespace ns;
+                    if (attrNamespaceURI.length() > 0) {
+                        ns = nextElem.findNamespace(atts.getURI(i), null);
+                        if (ns == null) {
+                            // The "xml" prefix is not necessarily declared explicitly; in this case,
+                            // create a new OMNamespace instance.
+                            if (attrNamespaceURI.equals(XMLConstants.XML_NS_URI)) {
+                                ns = factory.createOMNamespace(XMLConstants.XML_NS_URI, XMLConstants.XML_NS_PREFIX);
+                            } else {
+                                throw new SAXException("Unbound namespace " + attrNamespaceURI);
+                            }
                         }
+                    } else {
+                        ns = null;
                     }
-                } else {
-                    ns = null;
+                    OMAttribute attr = nextElem.addAttribute(atts.getLocalName(i), atts.getValue(i), ns);
+                    attr.setAttributeType(atts.getType(i));
                 }
-                OMAttribute attr = nextElem.addAttribute(atts.getLocalName(i), atts.getValue(i), ns);
-                attr.setAttributeType(atts.getType(i));
             }
+            
+            lastNode = nextElem;
+            nextElem = null;
         }
-        
-        lastNode = nextElem;
-        nextElem = null;
     }
 
     /*
@@ -311,27 +350,35 @@ public class SAXOMBuilder extends Defaul
      */
     public void endElement(String uri, String localName, String qName)
             throws SAXException {
-        if (lastNode.isComplete()) {
-            OMContainer parent = lastNode.getParent();
-            ((OMNodeEx) parent).setComplete(true);
-            lastNode = (OMNode) parent;
-        } else {
-            OMElement e = (OMElement) lastNode;
-            ((OMNodeEx) e).setComplete(true);
+        if (!inEntityReference) {
+            if (lastNode.isComplete()) {
+                OMContainer parent = lastNode.getParent();
+                ((OMNodeEx) parent).setComplete(true);
+                lastNode = (OMNode) parent;
+            } else {
+                OMElement e = (OMElement) lastNode;
+                ((OMNodeEx) e).setComplete(true);
+            }
         }
     }
 
     public void startCDATA() throws SAXException {
-        textNodeType = OMNode.CDATA_SECTION_NODE;
+        if (!inEntityReference) {
+            textNodeType = OMNode.CDATA_SECTION_NODE;
+        }
     }
 
     public void endCDATA() throws SAXException {
-        textNodeType = OMNode.TEXT_NODE;
+        if (!inEntityReference) {
+            textNodeType = OMNode.TEXT_NODE;
+        }
     }
 
     public void characterData(char[] ch, int start, int length, int nodeType)
             throws SAXException {
-        addNode(factory.createOMText(getContainer(), new String(ch, start, length), nodeType, true));
+        if (!inEntityReference) {
+            addNode(factory.createOMText(getContainer(), new String(ch, start, length), nodeType, true));
+        }
     }
 
     public void characters(char[] ch, int start, int length)
@@ -343,43 +390,77 @@ public class SAXOMBuilder extends Defaul
     
     public void ignorableWhitespace(char[] ch, int start, int length)
             throws SAXException {
-        characterData(ch, start, length, OMNode.SPACE_NODE);
+        if (!inEntityReference) {
+            characterData(ch, start, length, OMNode.SPACE_NODE);
+        }
     }
 
     public void processingInstruction(String target, String data)
             throws SAXException {
-        addNode(factory.createOMProcessingInstruction(getContainer(), target, data, true));
+        if (!inEntityReference) {
+            addNode(factory.createOMProcessingInstruction(getContainer(), target, data, true));
+        }
     }
 
     public void comment(char[] ch, int start, int length) throws SAXException {
-        if (lastNode == null) {
-            // Do nothing: the comment appears before the root element.
-            return;
-        } 
-        addNode(factory.createOMComment(getContainer(), new String(ch, start, length), true));
+        if (!inEntityReference) {
+            if (lastNode == null) {
+                // Do nothing: the comment appears before the root element.
+                return;
+            } 
+            addNode(factory.createOMComment(getContainer(), new String(ch, start, length), true));
+        }
     }
 
     public void skippedEntity(String name) throws SAXException {
     }
 
     public void startEntity(String name) throws SAXException {
-        if (name.equals("[dtd]")) {
+        if (inEntityReference) {
+            entityReferenceDepth++;
+        } else if (name.equals("[dtd]")) {
             inExternalSubset = true;
         } else if (!expandEntityReferences) {
-            addNode(factory.createOMEntityReference(getContainer(), name, null, true));
+            addNode(factory.createOMEntityReference(getContainer(), name, entities == null ? null : (String)entities.get(name), true));
             inEntityReference = true;
+            entityReferenceDepth = 1;
         }
     }
 
     public void endEntity(String name) throws SAXException {
-        if (name.equals("[dtd]")) {
+        if (inEntityReference) {
+            entityReferenceDepth--;
+            if (entityReferenceDepth == 0) {
+                inEntityReference = false;
+            }
+        } else if (name.equals("[dtd]")) {
             inExternalSubset = false;
-        } else {
-            inEntityReference = false;
         }
     }
 
     public OMDocument getDocument() {
+        if (document == null && source != null) {
+            XMLReader reader = source.getXMLReader();
+            reader.setContentHandler(this);
+            reader.setDTDHandler(this);
+            try {
+                reader.setProperty("http://xml.org/sax/properties/lexical-handler", this);
+            } catch (SAXException ex) {
+                // Ignore
+            }
+            try {
+                reader.setProperty("http://xml.org/sax/properties/declaration-handler", this);
+            } catch (SAXException ex) {
+                // Ignore
+            }
+            try {
+                reader.parse(source.getInputSource());
+            } catch (IOException ex) {
+                throw new OMException(ex);
+            } catch (SAXException ex) {
+                throw new OMException(ex);
+            }
+        }
         if (document != null && document.isComplete()) {
             return document;
         } else {
@@ -422,15 +503,17 @@ public class SAXOMBuilder extends Defaul
     }
 
     public boolean isCompleted() {
-        throw new UnsupportedOperationException();
+        return document != null && document.isComplete();
     }
 
     public OMElement getDocumentElement() {
-        throw new UnsupportedOperationException();
+        return getDocument().getOMDocumentElement();
     }
 
     public OMElement getDocumentElement(boolean discardDocument) {
-        throw new UnsupportedOperationException();
+        OMElement documentElement = getDocument().getOMDocumentElement();
+        documentElement.detach();
+        return documentElement;
     }
 
     public short getBuilderType() {
@@ -450,6 +533,6 @@ public class SAXOMBuilder extends Defaul
     }
 
     public void close() {
-        throw new UnsupportedOperationException();
+        // This is a no-op
     }
 }

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXBuilder.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXBuilder.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXBuilder.java Thu Dec 20 15:55:24 2012
@@ -46,6 +46,7 @@ import javax.xml.stream.XMLStreamReader;
 
 import java.io.InputStream;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.Map;
 
 /**
@@ -112,6 +113,12 @@ public abstract class StAXBuilder implem
     protected Exception parserException;
     
     /**
+     * Stores the stack trace of the code that caused a node to be discarded or consumed. This is
+     * only used if debug logging was enabled when builder was created.
+     */
+    private final Map/*<OMContainer,Throwable>*/ discardTracker = log.isDebugEnabled() ? new LinkedHashMap() : null;
+    
+    /**
      * Constructor StAXBuilder.
      * This constructor is used if the parser is at the beginning (START_DOCUMENT).
      *
@@ -273,6 +280,27 @@ public abstract class StAXBuilder implem
         }
     }
 
+    private void discarded(OMContainerEx container) {
+        container.discarded();
+        if (discardTracker != null) {
+            discardTracker.put(container, new Throwable());
+        }
+    }
+    
+    /**
+     * For internal use only.
+     * 
+     * @param container
+     */
+    public void debugDiscarded(Object container) {
+        if (log.isDebugEnabled() && discardTracker != null) {
+            Throwable t = (Throwable)discardTracker.get(container);
+            if (t != null) {
+                log.debug("About to throw NodeUnavailableException. Location of the code that caused the node to be discarded/consumed:", t);
+            }
+        }
+    }
+    
     // For compatibility only
     public void discard(OMElement element) throws OMException {
         discard((OMContainer)element);
@@ -314,7 +342,7 @@ public abstract class StAXBuilder implem
             // Mark nodes as discarded
             OMContainerEx current = target;
             while (true) {
-                current.discarded();
+                discarded(current);
                 if (current == container) {
                     break;
                 }
@@ -505,6 +533,16 @@ public abstract class StAXBuilder implem
         }
         if (!cache) {
             parserAccessed = true;
+            // Mark all containers in the hierarchy as discarded because they can no longer be built
+            OMContainerEx current = target;
+            while (current != null) {
+                discarded(current);
+                if (current instanceof OMElement) {
+                    current = (OMContainerEx)((OMElement)current).getParent();
+                } else {
+                    current = null;
+                }
+            }
             return parser;
         } else {
             throw new IllegalStateException(

Modified: webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java?rev=1424548&r1=1424547&r2=1424548&view=diff
==============================================================================
--- webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java (original)
+++ webservices/axiom/branches/AXIOM-201/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java Thu Dec 20 15:55:24 2012
@@ -21,6 +21,7 @@ package org.apache.axiom.om.impl.builder
 
 import org.apache.axiom.ext.stax.DTDReader;
 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;
@@ -119,6 +120,7 @@ public class StAXOMBuilder extends StAXB
                          String characterEncoding) {
         // Use this constructor because the parser is passed the START_DOCUMENT state.
         super(factory, parser, characterEncoding);  
+        elementLevel = 1;
         target = (OMContainerEx)element;
         populateOMElement(element);
     }
@@ -269,6 +271,23 @@ public class StAXOMBuilder extends StAXB
                     default :
                         throw new OMException();
                 }
+                
+                if (target == null && !done) {
+                    // We get here if the document has been discarded (using getDocumentElement(true)) and
+                    // we just processed the END_ELEMENT event for the root element. In this case, we consume
+                    // the remaining events until we reach the end of the document. This serves several purposes:
+                    //  * It allows us to detect documents that have an epilog that is not well formed.
+                    //  * Many parsers will perform some cleanup when the end of the document is reached.
+                    //    For example, Woodstox will recycle the symbol table if the parser gets past the
+                    //    last END_ELEMENT. This improves performance because Woodstox by default interns
+                    //    all symbols; if the symbol table can be recycled, then this reduces the number of
+                    //    calls to String#intern().
+                    while (parserNext() != XMLStreamConstants.END_DOCUMENT) {
+                        // Just loop
+                    }
+                    done = true;
+                }
+                
                 return token;
             }
         } catch (XMLStreamException e) {
@@ -424,13 +443,32 @@ public class StAXOMBuilder extends StAXB
      * @return Returns OMNode.
      * @throws OMException
      */
-    protected OMNode createOMElement() throws OMException {
-        OMElement node = omfactory.createOMElement(parser.getLocalName(), target, this);
+    // This method is not meant to be overridden. Override constructNode to create model specific OMElement instances.
+    protected final OMNode createOMElement() throws OMException {
+        OMElement node = constructNode(target, parser.getLocalName());
         populateOMElement(node);
         return node;
     }
 
     /**
+     * Instantiate the appropriate {@link OMElement} implementation for the current element. This
+     * method may be overridden by subclasses to support model specific {@link OMElement} types. The
+     * implementation of this method is expected to initialize the {@link OMElement} with the
+     * specified local name and to add it to the specified parent. However, the implementation
+     * should not set the namespace of the element or process the attributes of the element. This is
+     * taken care of by the caller of this method.
+     * 
+     * @param parent
+     *            the parent for the element
+     * @param elementName
+     *            the local name for the element
+     * @return the newly created {@link OMElement}; must not be <code>null</code>
+     */
+    protected OMElement constructNode(OMContainer parent, String elementName) {
+        return omfactory.createOMElement(parser.getLocalName(), target, this);
+    }
+    
+    /**
      * Method createOMText.
      *
      * @return Returns OMNode.
@@ -511,9 +549,16 @@ public class StAXOMBuilder extends StAXB
         return omfactory.createOMEntityReference(target, parser.getLocalName(), parser.getText(), true);
     }
     
-    protected void endElement() {
+    private void endElement() {
         target.setComplete(true);
-        target = (OMContainerEx)((OMElement)target).getParent();
+        if (elementLevel == 0) {
+            // This is relevant for OMSourcedElements and for the case where the document has been discarded
+            // using getDocumentElement(true). In these cases, this will actually set target to null. In all
+            // other cases, this will have the same effect as the instruction in the else clause.
+            target = (OMContainerEx)document;
+        } else {
+            target = (OMContainerEx)((OMElement)target).getParent();
+        }
     }
 
     public OMElement getDocumentElement() {
@@ -527,6 +572,7 @@ public class StAXOMBuilder extends StAXB
             nodeEx.setParent(null);
             nodeEx.setPreviousOMSibling(null);
             nodeEx.setNextOMSibling(null);
+            document = null;
         }
         return element;
     }
@@ -545,14 +591,19 @@ public class StAXOMBuilder extends StAXB
             // check whether this is the default namespace and make sure we have not declared that earlier
             String namespaceURI = parser.getNamespaceURI(i);
             
-            // NOTE_A:
-            // By default most parsers don't intern the namespace.
-            // Unfortunately the property to detect interning on the delegate parsers is hard to detect.
-            // Woodstox has a proprietary property on the XMLInputFactory.
-            // IBM has a proprietary property on the XMLStreamReader.
-            // For now only force the interning if requested.
-            if (isNamespaceURIInterning()) {
-                namespaceURI = namespaceURI.intern();
+            if (namespaceURI == null) {
+                // No need to care about interning here; String literals are always interned
+                namespaceURI = "";
+            } else {
+                // NOTE_A:
+                // By default most parsers don't intern the namespace.
+                // Unfortunately the property to detect interning on the delegate parsers is hard to detect.
+                // Woodstox has a proprietary property on the XMLInputFactory.
+                // IBM has a proprietary property on the XMLStreamReader.
+                // For now only force the interning if requested.
+                if (isNamespaceURIInterning()) {
+                    namespaceURI = namespaceURI.intern();
+                }
             }
             
             if (prefix == null) {
@@ -677,8 +728,7 @@ public class StAXOMBuilder extends StAXB
      * 
      * @return A return value of <code>true</code> indicates that the parser is one token ahead
      *         of the builder, i.e. that the node for the current token has not been created yet.
-     *         In this case {@link #getLastNode()} returns the node corresponding to the previous
-     *         token. This state can only be reached by a call to {@link #lookahead()}, and the
+     *         This state can only be reached by a call to {@link #lookahead()}, and the
      *         current token is always a {@link XMLStreamConstants#START_ELEMENT START_ELEMENT}.
      *         The information related to that element can be obtained by calls to
      *         {@link #getName()}, {@link #getNamespace()}, {@link #getPrefix()},
@@ -688,8 +738,7 @@ public class StAXOMBuilder extends StAXB
      *         {@link #getNamespaceUri(int)}.
      *         <p>
      *         A return value of <code>false</code> indicates that the node corresponding to the
-     *         current token hold by the parser has already been created, i.e.
-     *         {@link #getLastNode()} returns the node corresponding to the current token.
+     *         current token hold by the parser has already been created.
      */
     public boolean isLookahead() {
         return lookAheadToken >= 0;