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 2015/07/24 23:05:21 UTC
svn commit: r1692581 - in /webservices/axiom/trunk:
aspects/core-aspects/src/main/java/org/apache/axiom/core/
aspects/dom-aspects/src/main/java/org/apache/axiom/dom/
aspects/fom-aspects/src/main/java/org/apache/axiom/fom/
aspects/om-aspects/src/main/ja...
Author: veithen
Date: Fri Jul 24 21:05:20 2015
New Revision: 1692581
URL: http://svn.apache.org/r1692581
Log:
Move the character data handling code to core-aspects.
Added:
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CharacterData.java (with props)
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataSinkNode.java (with props)
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataSourceNode.java
- copied, changed from r1692333, webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainer.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreLeafNode.java (with props)
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreLeafNodeSupport.aj (with props)
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreParentNode.java (with props)
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreParentNodeSupport.aj (with props)
Removed:
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCommentSupport.aj
Modified:
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCDATASection.java
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainer.java
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainingParentNode.java
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainingParentNodeSupport.aj
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataNode.java
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataNodeSupport.aj
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreComment.java
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreElementSupport.aj
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreMixedContentContainer.java
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreMixedContentContainerSupport.aj
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNode.java
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNodeSupport.aj
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreProcessingInstruction.java
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreProcessingInstructionSupport.aj
webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttributeSupport.aj
webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCDATASectionSupport.aj
webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCommentSupport.aj
webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentFragmentSupport.aj
webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj
webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMElementSupport.aj
webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMProcessingInstructionSupport.aj
webservices/axiom/trunk/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaProcessingInstructionSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomAttributeSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCDATASection.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCharacterDataNode.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomComment.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCommentSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomContainer.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomContainerSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomDocType.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomEntityReference.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomLeafNodeSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomNamespaceDeclarationSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomProcessingInstruction.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomProcessingInstructionSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomText.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomTextSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/TextContent.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AxiomNodeFactorySupport.aj
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ChildNode.java
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/CommentImpl.java
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ProcessingInstructionImpl.java
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMCommentImpl.java
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMLeafNode.java
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMProcessingInstructionImpl.java
Added: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CharacterData.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CharacterData.java?rev=1692581&view=auto
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CharacterData.java (added)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CharacterData.java Fri Jul 24 21:05:20 2015
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.core;
+
+/**
+ * Represents character data stored by a {@link CoreCharacterDataNode} instance. The content of a
+ * {@link CoreCharacterDataNode} is either a {@link String} object or an instance of this interface.
+ */
+public interface CharacterData {
+ String toString();
+}
Propchange: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CharacterData.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCDATASection.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCDATASection.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCDATASection.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCDATASection.java Fri Jul 24 21:05:20 2015
@@ -18,6 +18,6 @@
*/
package org.apache.axiom.core;
-public interface CoreCDATASection extends CoreChildNode, CoreCharacterDataContainer {
- void coreSetCharacterData(String data);
+public interface CoreCDATASection extends CoreChildNode, CoreCharacterDataContainingParentNode {
+
}
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainer.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainer.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainer.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainer.java Fri Jul 24 21:05:20 2015
@@ -18,6 +18,6 @@
*/
package org.apache.axiom.core;
-public interface CoreCharacterDataContainer extends CoreNode {
- String coreGetCharacterData();
+public interface CoreCharacterDataContainer extends CoreCharacterDataSourceNode, CoreCharacterDataSinkNode {
+
}
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainingParentNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainingParentNode.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainingParentNode.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainingParentNode.java Fri Jul 24 21:05:20 2015
@@ -18,6 +18,6 @@
*/
package org.apache.axiom.core;
-public interface CoreCharacterDataContainingParentNode extends CoreCharacterDataContainer, CoreParentNode {
+public interface CoreCharacterDataContainingParentNode extends CoreCharacterDataContainer, NonDeferringParentNode {
}
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainingParentNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainingParentNodeSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainingParentNodeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainingParentNodeSupport.aj Fri Jul 24 21:05:20 2015
@@ -19,8 +19,8 @@
package org.apache.axiom.core;
public aspect CoreCharacterDataContainingParentNodeSupport {
- public final String CoreCharacterDataContainingParentNode.coreGetCharacterData() {
- String characterData = internalGetCharacterData(ElementAction.RETURN_NULL);
+ public final Object CoreCharacterDataContainingParentNode.coreGetCharacterData() {
+ Object characterData = internalGetCharacterData(ElementAction.RETURN_NULL);
if (characterData == null) {
throw new IllegalStateException();
}
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataNode.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataNode.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataNode.java Fri Jul 24 21:05:20 2015
@@ -19,7 +19,7 @@
package org.apache.axiom.core;
public interface CoreCharacterDataNode extends CoreChildNode, CoreCharacterDataContainer {
- void coreSetCharacterData(String data);
+ void coreSetCharacterData(Object data);
/**
* Check whether this text node contains element content whitespace (also called
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataNodeSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataNodeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataNodeSupport.aj Fri Jul 24 21:05:20 2015
@@ -19,6 +19,11 @@
package org.apache.axiom.core;
public aspect CoreCharacterDataNodeSupport {
+ /**
+ * Either a {@link String} or a {@link CharacterData} object.
+ */
+ private Object CoreCharacterDataNode.data;
+
public final boolean CoreCharacterDataNode.coreIsIgnorable() {
return getFlag(Flags.IGNORABLE);
}
@@ -26,4 +31,16 @@ public aspect CoreCharacterDataNodeSuppo
public final void CoreCharacterDataNode.coreSetIgnorable(boolean ignorable) {
setFlag(Flags.IGNORABLE, ignorable);
}
+
+ public final Object CoreCharacterDataNode.coreGetCharacterData() {
+ return data == null ? "" : data;
+ }
+
+ public final void CoreCharacterDataNode.coreSetCharacterData(Object data) {
+ this.data = data;
+ }
+
+ public final void CoreCharacterDataNode.coreSetCharacterData(Object data, DetachPolicy detachPolicy) {
+ this.data = data;
+ }
}
Added: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataSinkNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataSinkNode.java?rev=1692581&view=auto
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataSinkNode.java (added)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataSinkNode.java Fri Jul 24 21:05:20 2015
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.core;
+
+public interface CoreCharacterDataSinkNode {
+ void coreSetCharacterData(Object data, DetachPolicy detachPolicy);
+}
Propchange: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataSinkNode.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataSourceNode.java (from r1692333, webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainer.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataSourceNode.java?p2=webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataSourceNode.java&p1=webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainer.java&r1=1692333&r2=1692581&rev=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataContainer.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreCharacterDataSourceNode.java Fri Jul 24 21:05:20 2015
@@ -18,6 +18,6 @@
*/
package org.apache.axiom.core;
-public interface CoreCharacterDataContainer extends CoreNode {
- String coreGetCharacterData();
+public interface CoreCharacterDataSourceNode extends CoreNode {
+ Object coreGetCharacterData();
}
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreComment.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreComment.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreComment.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreComment.java Fri Jul 24 21:05:20 2015
@@ -18,6 +18,6 @@
*/
package org.apache.axiom.core;
-public interface CoreComment extends CoreChildNode, CoreCharacterDataContainer {
- void coreSetCharacterData(String data);
+public interface CoreComment extends CoreChildNode, CoreCharacterDataContainingParentNode {
+
}
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreElementSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreElementSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreElementSupport.aj Fri Jul 24 21:05:20 2015
@@ -196,7 +196,7 @@ public aspect CoreElementSupport {
if (attr instanceof CoreNamespaceDeclaration) {
CoreNamespaceDeclaration decl = (CoreNamespaceDeclaration)attr;
if (prefix.equals(decl.coreGetDeclaredPrefix())) {
- return decl.coreGetCharacterData();
+ return decl.coreGetCharacterData().toString();
}
}
}
@@ -225,7 +225,7 @@ public aspect CoreElementSupport {
for (CoreAttribute attr = coreGetFirstAttribute(); attr != null; attr = attr.coreGetNextAttribute()) {
if (attr instanceof CoreNamespaceDeclaration) {
CoreNamespaceDeclaration decl = (CoreNamespaceDeclaration)attr;
- if (decl.coreGetCharacterData().equals(namespaceURI)) {
+ if (decl.coreGetCharacterData().toString().equals(namespaceURI)) {
return decl.coreGetDeclaredPrefix();
}
}
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreMixedContentContainer.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreMixedContentContainer.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreMixedContentContainer.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreMixedContentContainer.java Fri Jul 24 21:05:20 2015
@@ -18,6 +18,6 @@
*/
package org.apache.axiom.core;
-public interface CoreMixedContentContainer extends CoreParentNode {
- String coreGetCharacterData(ElementAction elementAction);
+public interface CoreMixedContentContainer extends CoreParentNode, CoreCharacterDataSinkNode {
+ Object coreGetCharacterData(ElementAction elementAction);
}
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreMixedContentContainerSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreMixedContentContainerSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreMixedContentContainerSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreMixedContentContainerSupport.aj Fri Jul 24 21:05:20 2015
@@ -19,7 +19,7 @@
package org.apache.axiom.core;
public aspect CoreMixedContentContainerSupport {
- public final String CoreMixedContentContainer.coreGetCharacterData(ElementAction elementAction) {
+ public final Object CoreMixedContentContainer.coreGetCharacterData(ElementAction elementAction) {
return internalGetCharacterData(elementAction);
}
}
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNode.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNode.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNode.java Fri Jul 24 21:05:20 2015
@@ -34,6 +34,4 @@ public interface CoreParentNode extends
int getState();
void coreSetState(int state);
void build();
-
- void coreSetCharacterData(String text, DetachPolicy detachPolicy);
}
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNodeSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNodeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNodeSupport.aj Fri Jul 24 21:05:20 2015
@@ -200,11 +200,11 @@ public aspect CoreParentNodeSupport {
}
}
- final String CoreParentNode.internalGetCharacterData(ElementAction elementAction) {
+ final Object CoreParentNode.internalGetCharacterData(ElementAction elementAction) {
if (getState() == COMPACT) {
return (String)content;
} else {
- String textContent = null;
+ Object textContent = null;
StringBuilder buffer = null;
int depth = 0;
CoreChildNode child = coreGetFirstChild();
@@ -229,8 +229,8 @@ public aspect CoreParentNodeSupport {
}
} else {
if (child instanceof CoreCharacterDataNode || child instanceof CoreCDATASection) {
- String textValue = ((CoreCharacterDataContainer)child).coreGetCharacterData();
- if (textValue.length() != 0) {
+ Object textValue = ((CoreCharacterDataContainer)child).coreGetCharacterData();
+ if (textValue instanceof CharacterData || ((String)textValue).length() != 0) {
if (textContent == null) {
// This is the first non empty text node. Just save the string.
textContent = textValue;
@@ -240,9 +240,9 @@ public aspect CoreParentNodeSupport {
if (buffer == null) {
// This is the first text node we need to append. Initialize the
// StringBuilder.
- buffer = new StringBuilder(textContent);
+ buffer = new StringBuilder(textContent.toString());
}
- buffer.append(textValue);
+ buffer.append(textValue.toString());
}
}
}
@@ -267,11 +267,11 @@ public aspect CoreParentNodeSupport {
}
}
- public final void CoreParentNode.coreSetCharacterData(String text, DetachPolicy detachPolicy) {
+ public final void CoreParentNode.coreSetCharacterData(Object data, DetachPolicy detachPolicy) {
coreRemoveChildren(detachPolicy);
- if (text != null && text.length() > 0) {
+ if (data != null && (data instanceof CharacterData || ((String)data).length() > 0)) {
coreSetState(COMPACT);
- content = text;
+ content = data;
}
}
}
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreProcessingInstruction.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreProcessingInstruction.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreProcessingInstruction.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreProcessingInstruction.java Fri Jul 24 21:05:20 2015
@@ -18,6 +18,6 @@
*/
package org.apache.axiom.core;
-public interface CoreProcessingInstruction extends CoreChildNode, CoreCharacterDataContainer {
+public interface CoreProcessingInstruction extends CoreChildNode, CoreCharacterDataContainingParentNode {
}
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreProcessingInstructionSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreProcessingInstructionSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreProcessingInstructionSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreProcessingInstructionSupport.aj Fri Jul 24 21:05:20 2015
@@ -20,7 +20,6 @@ package org.apache.axiom.core;
public aspect CoreProcessingInstructionSupport {
private String CoreProcessingInstruction.target;
- private String CoreProcessingInstruction.value;
public final String CoreProcessingInstruction.coreGetTarget() {
return target;
@@ -29,12 +28,4 @@ public aspect CoreProcessingInstructionS
public final void CoreProcessingInstruction.coreSetTarget(String target) {
this.target = target;
}
-
- public final String CoreProcessingInstruction.coreGetCharacterData() {
- return value;
- }
-
- public final void CoreProcessingInstruction.coreSetCharacterData(String value) {
- this.value = value;
- }
}
Modified: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttributeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttributeSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttributeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttributeSupport.aj Fri Jul 24 21:05:20 2015
@@ -62,7 +62,7 @@ public aspect DOMAttributeSupport {
}
public final String DOMAttribute.getValue() {
- return coreGetCharacterData();
+ return coreGetCharacterData().toString();
}
public final void DOMAttribute.setValue(String value) {
Modified: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCDATASectionSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCDATASectionSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCDATASectionSupport.aj (original)
+++ webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCDATASectionSupport.aj Fri Jul 24 21:05:20 2015
@@ -30,6 +30,6 @@ public aspect DOMCDATASectionSupport {
}
public final void DOMCDATASection.setData(String data) {
- coreSetCharacterData(data);
+ coreSetCharacterData(data, Policies.DETACH_POLICY);
}
}
Modified: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCommentSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCommentSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCommentSupport.aj (original)
+++ webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMCommentSupport.aj Fri Jul 24 21:05:20 2015
@@ -30,12 +30,10 @@ public aspect DOMCommentSupport {
}
public final String DOMComment.getData() {
- String data = coreGetCharacterData();
- // TODO: review this
- return data != null ? data : "";
+ return coreGetCharacterData().toString();
}
public final void DOMComment.setData(String data) {
- coreSetCharacterData(data);
+ coreSetCharacterData(data, Policies.DETACH_POLICY);
}
}
Modified: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentFragmentSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentFragmentSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentFragmentSupport.aj (original)
+++ webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentFragmentSupport.aj Fri Jul 24 21:05:20 2015
@@ -76,7 +76,7 @@ public aspect DOMDocumentFragmentSupport
}
public final String DOMDocumentFragment.getTextContent() {
- return coreGetCharacterData(ElementAction.RECURSE);
+ return coreGetCharacterData(ElementAction.RECURSE).toString();
}
public final void DOMDocumentFragment.setTextContent(String textContent) {
Modified: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj (original)
+++ webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj Fri Jul 24 21:05:20 2015
@@ -118,7 +118,7 @@ public aspect DOMDocumentSupport {
public final CDATASection DOMDocument.createCDATASection(String data) throws DOMException {
DOMCDATASection cdataSection = (DOMCDATASection)coreGetNodeFactory().createCDATASection();
cdataSection.coreSetOwnerDocument(this);
- cdataSection.coreSetCharacterData(data);
+ cdataSection.coreSetCharacterData(data, Policies.DETACH_POLICY);
return cdataSection;
}
@@ -151,7 +151,7 @@ public aspect DOMDocumentSupport {
DOMProcessingInstruction pi = (DOMProcessingInstruction)coreGetNodeFactory().createProcessingInstruction();
pi.coreSetOwnerDocument(this);
pi.coreSetTarget(target);
- pi.coreSetCharacterData(data);
+ pi.coreSetCharacterData(data, Policies.DETACH_POLICY);
return pi;
}
}
Modified: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMElementSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMElementSupport.aj (original)
+++ webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMElementSupport.aj Fri Jul 24 21:05:20 2015
@@ -179,7 +179,7 @@ public aspect DOMElementSupport {
}
public final String DOMElement.getTextContent() {
- return coreGetCharacterData(ElementAction.RECURSE);
+ return coreGetCharacterData(ElementAction.RECURSE).toString();
}
public final void DOMElement.setTextContent(String textContent) {
Modified: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMProcessingInstructionSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMProcessingInstructionSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMProcessingInstructionSupport.aj (original)
+++ webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMProcessingInstructionSupport.aj Fri Jul 24 21:05:20 2015
@@ -24,11 +24,11 @@ public aspect DOMProcessingInstructionSu
}
public final String DOMProcessingInstruction.getData() {
- return coreGetCharacterData();
+ return coreGetCharacterData().toString();
}
public final void DOMProcessingInstruction.setData(String data) {
- coreSetCharacterData(data);
+ coreSetCharacterData(data, Policies.DETACH_POLICY);
}
public final String DOMProcessingInstruction.getNodeName() {
@@ -36,10 +36,10 @@ public aspect DOMProcessingInstructionSu
}
public final String DOMProcessingInstruction.getNodeValue() {
- return coreGetCharacterData();
+ return getData();
}
public final void DOMProcessingInstruction.setNodeValue(String nodeValue) {
- coreSetCharacterData(nodeValue);
+ setData(nodeValue);
}
}
Modified: webservices/axiom/trunk/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaProcessingInstructionSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaProcessingInstructionSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaProcessingInstructionSupport.aj (original)
+++ webservices/axiom/trunk/aspects/fom-aspects/src/main/java/org/apache/axiom/fom/AbderaProcessingInstructionSupport.aj Fri Jul 24 21:05:20 2015
@@ -22,12 +22,12 @@ import org.apache.abdera.model.Processin
public aspect AbderaProcessingInstructionSupport {
public final String AbderaProcessingInstruction.getText() {
- return coreGetCharacterData();
+ return coreGetCharacterData().toString();
}
@SuppressWarnings("unchecked")
public final <T extends ProcessingInstruction> T AbderaProcessingInstruction.setText(String text) {
- coreSetCharacterData(text);
+ coreSetCharacterData(text, Policies.DETACH_POLICY);
return (T)this;
}
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomAttributeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomAttributeSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomAttributeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomAttributeSupport.aj Fri Jul 24 21:05:20 2015
@@ -38,7 +38,7 @@ public aspect AxiomAttributeSupport {
}
public final String AxiomAttribute.getAttributeValue() {
- return coreGetCharacterData();
+ return coreGetCharacterData().toString();
}
public final void AxiomAttribute.setAttributeValue(String value) {
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCDATASection.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCDATASection.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCDATASection.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCDATASection.java Fri Jul 24 21:05:20 2015
@@ -20,6 +20,6 @@ package org.apache.axiom.om.impl.common;
import org.apache.axiom.core.CoreCDATASection;
-public interface AxiomCDATASection extends CoreCDATASection, AxiomText {
+public interface AxiomCDATASection extends CoreCDATASection, AxiomText, AxiomCoreParentNode {
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCharacterDataNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCharacterDataNode.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCharacterDataNode.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCharacterDataNode.java Fri Jul 24 21:05:20 2015
@@ -20,6 +20,6 @@ package org.apache.axiom.om.impl.common;
import org.apache.axiom.core.CoreCharacterDataNode;
-public interface AxiomCharacterDataNode extends CoreCharacterDataNode, AxiomText {
+public interface AxiomCharacterDataNode extends CoreCharacterDataNode, AxiomText, AxiomCoreLeafNode {
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomComment.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomComment.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomComment.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomComment.java Fri Jul 24 21:05:20 2015
@@ -21,6 +21,6 @@ package org.apache.axiom.om.impl.common;
import org.apache.axiom.core.CoreComment;
import org.apache.axiom.om.OMComment;
-public interface AxiomComment extends OMComment, AxiomLeafNode, CoreComment {
+public interface AxiomComment extends OMComment, AxiomLeafNode, CoreComment, AxiomCoreParentNode {
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCommentSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCommentSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCommentSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCommentSupport.aj Fri Jul 24 21:05:20 2015
@@ -29,14 +29,14 @@ public aspect AxiomCommentSupport {
}
public String AxiomComment.getValue() {
- return coreGetCharacterData();
+ return coreGetCharacterData().toString();
}
public void AxiomComment.setValue(String text) {
- coreSetCharacterData(text);
+ coreSetCharacterData(text, Policies.DETACH_POLICY);
}
public final void AxiomComment.internalSerialize(Serializer serializer, OMOutputFormat format, boolean cache) throws OutputException {
- serializer.writeComment(coreGetCharacterData());
+ serializer.writeComment(coreGetCharacterData().toString());
}
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomContainer.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomContainer.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomContainer.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomContainer.java Fri Jul 24 21:05:20 2015
@@ -18,12 +18,11 @@
*/
package org.apache.axiom.om.impl.common;
-import org.apache.axiom.core.CoreParentNode;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.impl.OMContainerEx;
-public interface AxiomContainer extends OMContainerEx, CoreParentNode, AxiomSerializable {
+public interface AxiomContainer extends OMContainerEx, AxiomCoreParentNode {
/**
* Check if the node can be added as a child of this container.
*
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomContainerSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomContainerSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomContainerSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomContainerSupport.aj Fri Jul 24 21:05:20 2015
@@ -59,11 +59,6 @@ public aspect AxiomContainerSupport {
private static final OMXMLStreamReaderConfiguration defaultReaderConfiguration = new OMXMLStreamReaderConfiguration();
- public final boolean AxiomContainer.isComplete() {
- int state = getState();
- return state == COMPLETE || state == COMPACT;
- }
-
public final void AxiomContainer.discarded() {
coreSetState(DISCARDED);
}
Added: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreLeafNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreLeafNode.java?rev=1692581&view=auto
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreLeafNode.java (added)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreLeafNode.java Fri Jul 24 21:05:20 2015
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.om.impl.common;
+
+public interface AxiomCoreLeafNode extends AxiomLeafNode {
+
+}
Propchange: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreLeafNode.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreLeafNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreLeafNodeSupport.aj?rev=1692581&view=auto
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreLeafNodeSupport.aj (added)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreLeafNodeSupport.aj Fri Jul 24 21:05:20 2015
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.om.impl.common;
+
+import org.apache.axiom.om.OMXMLParserWrapper;
+
+public aspect AxiomCoreLeafNodeSupport {
+ public final OMXMLParserWrapper AxiomCoreLeafNode.getBuilder() {
+ return null;
+ }
+
+ public final boolean AxiomCoreLeafNode.isComplete() {
+ return true;
+ }
+
+ public void AxiomCoreLeafNode.build() {
+ // Do nothing; a leaf node is always complete
+ }
+}
Propchange: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreLeafNodeSupport.aj
------------------------------------------------------------------------------
svn:eol-style = native
Added: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreParentNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreParentNode.java?rev=1692581&view=auto
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreParentNode.java (added)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreParentNode.java Fri Jul 24 21:05:20 2015
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.om.impl.common;
+
+import org.apache.axiom.core.CoreParentNode;
+
+public interface AxiomCoreParentNode extends CoreParentNode, AxiomSerializable {
+
+}
Propchange: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreParentNode.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreParentNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreParentNodeSupport.aj?rev=1692581&view=auto
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreParentNodeSupport.aj (added)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreParentNodeSupport.aj Fri Jul 24 21:05:20 2015
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.om.impl.common;
+
+public aspect AxiomCoreParentNodeSupport {
+ public final boolean AxiomCoreParentNode.isComplete() {
+ int state = getState();
+ return state == COMPLETE || state == COMPACT;
+ }
+}
Propchange: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomCoreParentNodeSupport.aj
------------------------------------------------------------------------------
svn:eol-style = native
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomDocType.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomDocType.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomDocType.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomDocType.java Fri Jul 24 21:05:20 2015
@@ -21,6 +21,6 @@ package org.apache.axiom.om.impl.common;
import org.apache.axiom.om.OMDocType;
import org.apache.axiom.shared.IDocumentTypeDeclaration;
-public interface AxiomDocType extends OMDocType, AxiomLeafNode, IDocumentTypeDeclaration {
+public interface AxiomDocType extends OMDocType, AxiomCoreLeafNode, IDocumentTypeDeclaration {
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj Fri Jul 24 21:05:20 2015
@@ -131,7 +131,7 @@ public aspect AxiomElementSupport {
// TODO: this is (incorrectly) overridden by the SOAPFaultReason implementations for SOAP 1.2
public String AxiomElement.getText() {
- return coreGetCharacterData(ElementAction.SKIP);
+ return coreGetCharacterData(ElementAction.SKIP).toString();
}
// Note: must not be final because it is (incorrectly) overridden in the SOAPFaultCode implementation for SOAP 1.2
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomEntityReference.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomEntityReference.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomEntityReference.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomEntityReference.java Fri Jul 24 21:05:20 2015
@@ -20,6 +20,6 @@ package org.apache.axiom.om.impl.common;
import org.apache.axiom.om.OMEntityReference;
-public interface AxiomEntityReference extends OMEntityReference, AxiomLeafNode {
+public interface AxiomEntityReference extends OMEntityReference, AxiomCoreLeafNode {
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomLeafNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomLeafNodeSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomLeafNodeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomLeafNodeSupport.aj Fri Jul 24 21:05:20 2015
@@ -23,6 +23,7 @@ import java.io.Writer;
import javax.xml.stream.XMLStreamException;
+import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMOutputFormat;
public aspect AxiomLeafNodeSupport {
@@ -57,4 +58,14 @@ public aspect AxiomLeafNodeSupport {
public final void AxiomLeafNode.serializeAndConsume(Writer writer2, OMOutputFormat format) throws XMLStreamException {
throw new UnsupportedOperationException("Only supported on OMContainer instances");
}
+
+ public final void AxiomLeafNode.setComplete(boolean state) {
+ if (state != true) {
+ throw new IllegalStateException();
+ }
+ }
+
+ public final void AxiomLeafNode.discard() throws OMException {
+ detach();
+ }
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomNamespaceDeclarationSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomNamespaceDeclarationSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomNamespaceDeclarationSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomNamespaceDeclarationSupport.aj Fri Jul 24 21:05:20 2015
@@ -28,7 +28,7 @@ public aspect AxiomNamespaceDeclarationS
}
public final OMNamespace AxiomNamespaceDeclaration.getDeclaredNamespace() {
- String namespaceURI = coreGetCharacterData();
+ String namespaceURI = coreGetCharacterData().toString();
if (!namespaceURI.equals(declaredNamespace.getNamespaceURI())) {
declaredNamespace = new OMNamespaceImpl(namespaceURI, declaredNamespace.getPrefix());
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomProcessingInstruction.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomProcessingInstruction.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomProcessingInstruction.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomProcessingInstruction.java Fri Jul 24 21:05:20 2015
@@ -21,6 +21,6 @@ package org.apache.axiom.om.impl.common;
import org.apache.axiom.om.OMProcessingInstruction;
import org.apache.axiom.shared.IProcessingInstruction;
-public interface AxiomProcessingInstruction extends OMProcessingInstruction, AxiomLeafNode, IProcessingInstruction {
+public interface AxiomProcessingInstruction extends OMProcessingInstruction, AxiomLeafNode, IProcessingInstruction, AxiomCoreParentNode {
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomProcessingInstructionSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomProcessingInstructionSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomProcessingInstructionSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomProcessingInstructionSupport.aj Fri Jul 24 21:05:20 2015
@@ -32,14 +32,14 @@ public aspect AxiomProcessingInstruction
}
public final String AxiomProcessingInstruction.getValue() {
- return coreGetCharacterData();
+ return coreGetCharacterData().toString();
}
public final void AxiomProcessingInstruction.setValue(String value) {
- coreSetCharacterData(value);
+ coreSetCharacterData(value, Policies.DETACH_POLICY);
}
public final void AxiomProcessingInstruction.internalSerialize(Serializer serializer, OMOutputFormat format, boolean cache) throws OutputException {
- serializer.writeProcessingInstruction(coreGetTarget() + " ", coreGetCharacterData());
+ serializer.writeProcessingInstruction(coreGetTarget() + " ", coreGetCharacterData().toString());
}
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomText.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomText.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomText.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomText.java Fri Jul 24 21:05:20 2015
@@ -18,8 +18,9 @@
*/
package org.apache.axiom.om.impl.common;
+import org.apache.axiom.core.CoreCharacterDataContainer;
import org.apache.axiom.om.OMText;
-public interface AxiomText extends OMText, AxiomLeafNode {
+public interface AxiomText extends OMText, AxiomLeafNode, CoreCharacterDataContainer {
AxiomText createInstanceOfSameType();
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomTextSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomTextSupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomTextSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomTextSupport.aj Fri Jul 24 21:05:20 2015
@@ -18,12 +18,9 @@
*/
package org.apache.axiom.om.impl.common;
-import java.io.IOException;
-
import javax.activation.DataHandler;
import javax.xml.namespace.QName;
-import org.apache.axiom.attachments.ByteArrayDataSource;
import org.apache.axiom.ext.stax.datahandler.DataHandlerProvider;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
@@ -32,20 +29,15 @@ import org.apache.axiom.om.OMOutputForma
import org.apache.axiom.om.impl.common.serializer.push.OutputException;
import org.apache.axiom.om.impl.common.serializer.push.Serializer;
import org.apache.axiom.util.UIDGenerator;
-import org.apache.axiom.util.base64.Base64Utils;
public aspect AxiomTextSupport {
- /**
- * Either a {@link String} or a {@link TextContent} object.
- */
- private Object AxiomText.content;
-
private TextContent AxiomText.getTextContent(boolean force) {
+ Object content = coreGetCharacterData();
if (content instanceof TextContent) {
return (TextContent)content;
} else if (force) {
TextContent textContent = new TextContent((String)content);
- content = textContent;
+ coreSetCharacterData(textContent, Policies.DETACH_POLICY);
return textContent;
} else {
return null;
@@ -53,7 +45,8 @@ public aspect AxiomTextSupport {
}
public final boolean AxiomText.isBinary() {
- return content instanceof TextContent ? ((TextContent)content).binary : false;
+ TextContent textContent = getTextContent(false);
+ return textContent != null && textContent.binary;
}
public final void AxiomText.setBinary(boolean binary) {
@@ -64,7 +57,8 @@ public aspect AxiomTextSupport {
}
public final boolean AxiomText.isOptimized() {
- return content instanceof TextContent ? ((TextContent)content).optimize : false;
+ TextContent textContent = getTextContent(false);
+ return textContent != null && textContent.optimize;
}
public final void AxiomText.setOptimize(boolean optimize) {
@@ -78,34 +72,13 @@ public aspect AxiomTextSupport {
}
public final String AxiomText.getText() throws OMException {
- if (content instanceof TextContent) {
- TextContent textContent = (TextContent)content;
- if (textContent.dataHandlerObject != null) {
- try {
- return Base64Utils.encode((DataHandler)getDataHandler());
- } catch (Exception e) {
- throw new OMException(e);
- }
- } else {
- return textContent.value;
- }
- } else {
- return (String)content;
- }
+ return coreGetCharacterData().toString();
}
public final char[] AxiomText.getTextCharacters() {
+ Object content = coreGetCharacterData();
if (content instanceof TextContent) {
- TextContent textContent = (TextContent)content;
- if (textContent.dataHandlerObject != null) {
- try {
- return Base64Utils.encodeToCharArray((DataHandler)getDataHandler());
- } catch (IOException ex) {
- throw new OMException(ex);
- }
- } else {
- return textContent.value.toCharArray();
- }
+ return ((TextContent)content).toCharArray();
} else {
return ((String)content).toCharArray();
}
@@ -132,23 +105,12 @@ public aspect AxiomTextSupport {
// TODO: should be final, but Abdera overrides this method
public Object AxiomText.getDataHandler() {
+ Object content = coreGetCharacterData();
if (content instanceof TextContent) {
- TextContent textContent = (TextContent)content;
- if (textContent.dataHandlerObject != null) {
- if (textContent.dataHandlerObject instanceof DataHandlerProvider) {
- try {
- textContent.dataHandlerObject = ((DataHandlerProvider)textContent.dataHandlerObject).getDataHandler();
- } catch (IOException ex) {
- throw new OMException(ex);
- }
- }
- return textContent.dataHandlerObject;
- } else if (textContent.binary) {
- return new DataHandler(new ByteArrayDataSource(
- Base64Utils.decode(textContent.value), textContent.mimeType));
- }
+ return ((TextContent)content).getDataHandler();
+ } else {
+ throw new OMException("No DataHandler available");
}
- throw new OMException("No DataHandler available");
}
public final String AxiomText.getContentID() {
@@ -160,6 +122,7 @@ public aspect AxiomTextSupport {
}
public final void AxiomText.internalSerialize(Serializer serializer, OMOutputFormat format, boolean cache) throws OutputException {
+ Object content = coreGetCharacterData();
if (content instanceof TextContent) {
TextContent textContent = (TextContent)content;
if (!textContent.binary) {
@@ -167,7 +130,7 @@ public aspect AxiomTextSupport {
} else if (textContent.dataHandlerObject instanceof DataHandlerProvider) {
serializer.writeDataHandler((DataHandlerProvider)textContent.dataHandlerObject, textContent.contentID, textContent.optimize);
} else {
- serializer.writeDataHandler((DataHandler)getDataHandler(), textContent.contentID, textContent.optimize);
+ serializer.writeDataHandler(textContent.getDataHandler(), textContent.contentID, textContent.optimize);
}
} else {
serializer.writeText(getType(), (String)content);
@@ -193,16 +156,9 @@ public aspect AxiomTextSupport {
getTextContent(true).dataHandlerObject = dataHandlerObject;
}
- public final String AxiomText.coreGetCharacterData() {
- return getText();
- }
-
- public final void AxiomText.coreSetCharacterData(String data) {
- content = data;
- }
-
public final AxiomText AxiomText.doClone() {
AxiomText clone = createInstanceOfSameType();
+ Object content = coreGetCharacterData();
if (content instanceof TextContent) {
TextContent textContent = (TextContent)content;
TextContent clonedTextContent = new TextContent(textContent.value);
@@ -211,9 +167,9 @@ public aspect AxiomTextSupport {
clonedTextContent.binary = textContent.binary;
clonedTextContent.contentID = textContent.contentID;
clonedTextContent.dataHandlerObject = textContent.dataHandlerObject;
- clone.content = clonedTextContent;
+ clone.coreSetCharacterData(clonedTextContent, Policies.DETACH_POLICY);
} else {
- clone.content = content;
+ clone.coreSetCharacterData(content, Policies.DETACH_POLICY);
}
return clone;
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/TextContent.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/TextContent.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/TextContent.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/TextContent.java Fri Jul 24 21:05:20 2015
@@ -18,11 +18,17 @@
*/
package org.apache.axiom.om.impl.common;
+import java.io.IOException;
+
import javax.activation.DataHandler;
+import org.apache.axiom.attachments.ByteArrayDataSource;
+import org.apache.axiom.core.CharacterData;
import org.apache.axiom.ext.stax.datahandler.DataHandlerProvider;
+import org.apache.axiom.om.OMException;
+import org.apache.axiom.util.base64.Base64Utils;
-final class TextContent {
+final class TextContent implements CharacterData {
final String value;
String mimeType;
@@ -42,4 +48,46 @@ final class TextContent {
TextContent(String value) {
this.value = value;
}
+
+ DataHandler getDataHandler() {
+ if (dataHandlerObject != null) {
+ if (dataHandlerObject instanceof DataHandlerProvider) {
+ try {
+ dataHandlerObject = ((DataHandlerProvider)dataHandlerObject).getDataHandler();
+ } catch (IOException ex) {
+ throw new OMException(ex);
+ }
+ }
+ return (DataHandler)dataHandlerObject;
+ } else if (binary) {
+ return new DataHandler(new ByteArrayDataSource(Base64Utils.decode(value), mimeType));
+ } else {
+ throw new OMException("No DataHandler available");
+ }
+ }
+
+ @Override
+ public String toString() {
+ if (dataHandlerObject != null) {
+ try {
+ return Base64Utils.encode(getDataHandler());
+ } catch (Exception e) {
+ throw new OMException(e);
+ }
+ } else {
+ return value;
+ }
+ }
+
+ char[] toCharArray() {
+ if (dataHandlerObject != null) {
+ try {
+ return Base64Utils.encodeToCharArray(getDataHandler());
+ } catch (IOException ex) {
+ throw new OMException(ex);
+ }
+ } else {
+ return value.toCharArray();
+ }
+ }
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AxiomNodeFactorySupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AxiomNodeFactorySupport.aj?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AxiomNodeFactorySupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AxiomNodeFactorySupport.aj Fri Jul 24 21:05:20 2015
@@ -38,6 +38,7 @@ import org.apache.axiom.om.impl.common.A
import org.apache.axiom.om.impl.common.AxiomElement;
import org.apache.axiom.om.impl.common.AxiomProcessingInstruction;
import org.apache.axiom.om.impl.common.AxiomText;
+import org.apache.axiom.om.impl.common.Policies;
public aspect AxiomNodeFactorySupport {
public final OMDocument AxiomNodeFactory.createOMDocument() {
@@ -101,7 +102,7 @@ public aspect AxiomNodeFactorySupport {
public final OMText AxiomNodeFactory.createOMText(OMContainer parent, String text, int type, boolean fromBuilder) {
AxiomText node = createAxiomText(parent, type, fromBuilder);
- node.coreSetCharacterData(text);
+ node.coreSetCharacterData(text, Policies.DETACH_POLICY);
return node;
}
@@ -131,7 +132,7 @@ public aspect AxiomNodeFactorySupport {
}
AxiomText node = createAxiomText(parent, type, false);
OMNamespace ns = ((AxiomElement)parent).handleNamespace(text.getNamespaceURI(), text.getPrefix());
- node.coreSetCharacterData(ns == null ? text.getLocalPart() : ns.getPrefix() + ":" + text.getLocalPart());
+ node.coreSetCharacterData(ns == null ? text.getLocalPart() : ns.getPrefix() + ":" + text.getLocalPart(), Policies.DETACH_POLICY);
return node;
}
@@ -141,7 +142,7 @@ public aspect AxiomNodeFactorySupport {
public final OMText AxiomNodeFactory.createOMText(OMContainer parent, String s, String mimeType, boolean optimize) {
AxiomText node = createAxiomText(parent, OMNode.TEXT_NODE, false);
- node.coreSetCharacterData(s);
+ node.coreSetCharacterData(s, Policies.DETACH_POLICY);
node.internalSetMimeType(mimeType);
node.setOptimize(optimize);
node.setBinary(true);
@@ -191,7 +192,7 @@ public aspect AxiomNodeFactorySupport {
OMContainer parent, String piTarget, String piData, boolean fromBuilder) {
AxiomProcessingInstruction node = (AxiomProcessingInstruction)createProcessingInstruction();
node.coreSetTarget(piTarget);
- node.coreSetCharacterData(piData);
+ node.coreSetCharacterData(piData, Policies.DETACH_POLICY);
if (parent != null) {
((OMContainerEx)parent).addChild(node, fromBuilder);
}
Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ChildNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ChildNode.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ChildNode.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ChildNode.java Fri Jul 24 21:05:20 2015
@@ -20,9 +20,7 @@ package org.apache.axiom.om.impl.dom;
import org.apache.axiom.dom.DOMChildNode;
import org.apache.axiom.om.OMCloneOptions;
-import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.common.AxiomChildNode;
public abstract class ChildNode extends NodeImpl implements DOMChildNode, AxiomChildNode {
@@ -44,26 +42,4 @@ public abstract class ChildNode extends
}
abstract ChildNode createClone();
-
- public final OMXMLParserWrapper getBuilder() {
- return null;
- }
-
- public final boolean isComplete() {
- return true;
- }
-
- public final void setComplete(boolean state) {
- if (state != true) {
- throw new IllegalStateException();
- }
- }
-
- public final void discard() throws OMException {
- detach();
- }
-
- public final void build() {
- // Do nothing; a leaf node is always complete
- }
}
Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/CommentImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/CommentImpl.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/CommentImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/CommentImpl.java Fri Jul 24 21:05:20 2015
@@ -20,13 +20,14 @@
package org.apache.axiom.om.impl.dom;
import org.apache.axiom.dom.DOMComment;
+import org.apache.axiom.dom.Policies;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.impl.common.AxiomComment;
public class CommentImpl extends LeafNode implements DOMComment, AxiomComment {
public CommentImpl(String value, OMFactory factory) {
super(factory);
- coreSetCharacterData(value);
+ coreSetCharacterData(value, Policies.DETACH_POLICY);
}
ChildNode createClone() {
Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ProcessingInstructionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ProcessingInstructionImpl.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ProcessingInstructionImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ProcessingInstructionImpl.java Fri Jul 24 21:05:20 2015
@@ -29,6 +29,6 @@ public class ProcessingInstructionImpl e
}
ChildNode createClone() {
- return (ChildNode)getOMFactory().createOMProcessingInstruction(null, coreGetTarget(), coreGetCharacterData());
+ return (ChildNode)getOMFactory().createOMProcessingInstruction(null, coreGetTarget(), coreGetCharacterData().toString());
}
}
Modified: webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMCommentImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMCommentImpl.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMCommentImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMCommentImpl.java Fri Jul 24 21:05:20 2015
@@ -24,6 +24,7 @@ import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.impl.common.AxiomComment;
+import org.apache.axiom.om.impl.common.Policies;
public class OMCommentImpl extends OMLeafNode implements AxiomComment {
/**
@@ -35,10 +36,10 @@ public class OMCommentImpl extends OMLea
public OMCommentImpl(OMContainer parentNode, String contentText,
OMFactory factory, boolean fromBuilder) {
super(parentNode, factory, fromBuilder);
- coreSetCharacterData(contentText);
+ coreSetCharacterData(contentText, Policies.DETACH_POLICY);
}
OMNode clone(OMCloneOptions options, OMContainer targetParent) {
- return getOMFactory().createOMComment(targetParent, coreGetCharacterData());
+ return getOMFactory().createOMComment(targetParent, coreGetCharacterData().toString());
}
}
Modified: webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMLeafNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMLeafNode.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMLeafNode.java (original)
+++ webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMLeafNode.java Fri Jul 24 21:05:20 2015
@@ -19,9 +19,7 @@
package org.apache.axiom.om.impl.llom;
import org.apache.axiom.om.OMContainer;
-import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.OMContainerEx;
import org.apache.axiom.om.impl.common.AxiomLeafNode;
@@ -36,26 +34,4 @@ public abstract class OMLeafNode extends
public OMLeafNode(OMFactory factory) {
super(factory);
}
-
- public final OMXMLParserWrapper getBuilder() {
- return null;
- }
-
- public final boolean isComplete() {
- return true;
- }
-
- public final void setComplete(boolean state) {
- if (state != true) {
- throw new IllegalStateException();
- }
- }
-
- public final void discard() throws OMException {
- detach();
- }
-
- public void build() {
- // Do nothing; a leaf node is always complete
- }
}
Modified: webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMProcessingInstructionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMProcessingInstructionImpl.java?rev=1692581&r1=1692580&r2=1692581&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMProcessingInstructionImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMProcessingInstructionImpl.java Fri Jul 24 21:05:20 2015
@@ -31,6 +31,6 @@ public class OMProcessingInstructionImpl
}
OMNode clone(OMCloneOptions options, OMContainer targetParent) {
- return getOMFactory().createOMProcessingInstruction(targetParent, coreGetTarget(), coreGetCharacterData());
+ return getOMFactory().createOMProcessingInstruction(targetParent, coreGetTarget(), coreGetCharacterData().toString());
}
}