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;