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/08/29 18:39:00 UTC
svn commit: r1700058 - in /webservices/axiom/trunk:
aspects/core-aspects/src/main/java/org/apache/axiom/core/
aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/
implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/
implem...
Author: veithen
Date: Sat Aug 29 16:39:00 2015
New Revision: 1700058
URL: http://svn.apache.org/r1700058
Log:
Clone NS aware attributes using the logic in the core model.
Modified:
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreNSAwareAttributeSupport.aj
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreNSAwareNamedNode.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomNamedInformationItemSupport.aj
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NSAwareAttribute.java
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMAttributeImpl.java
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreNSAwareAttributeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreNSAwareAttributeSupport.aj?rev=1700058&r1=1700057&r2=1700058&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreNSAwareAttributeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreNSAwareAttributeSupport.aj Sat Aug 29 16:39:00 2015
@@ -24,7 +24,9 @@ public aspect CoreNSAwareAttributeSuppor
}
public final CoreNode CoreNSAwareAttribute.shallowClone(ClonePolicy policy, Object options) {
- // TODO
- throw new UnsupportedOperationException();
+ CoreNSAwareAttribute clone = coreGetNodeFactory().createNSAwareAttribute();
+ clone.coreSetName(this);
+ clone.coreSetType(coreGetType());
+ return clone;
}
}
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreNSAwareNamedNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreNSAwareNamedNode.java?rev=1700058&r1=1700057&r2=1700058&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreNSAwareNamedNode.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreNSAwareNamedNode.java Sat Aug 29 16:39:00 2015
@@ -27,4 +27,5 @@ public interface CoreNSAwareNamedNode {
void coreSetPrefix(String prefix);
String coreGetLocalName();
void coreSetName(String namespaceURI, String localName, String prefix);
+ void coreSetName(CoreNSAwareNamedNode other);
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomNamedInformationItemSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomNamedInformationItemSupport.aj?rev=1700058&r1=1700057&r2=1700058&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomNamedInformationItemSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomNamedInformationItemSupport.aj Sat Aug 29 16:39:00 2015
@@ -20,6 +20,7 @@ package org.apache.axiom.om.impl.common;
import javax.xml.namespace.QName;
+import org.apache.axiom.core.CoreNSAwareNamedNode;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.impl.util.OMSerializerUtil;
@@ -165,6 +166,12 @@ public aspect AxiomNamedInformationItemS
qName = null;
}
+ public final void AxiomNamedInformationItem.coreSetName(CoreNSAwareNamedNode other) {
+ localName = other.coreGetLocalName();
+ namespace = ((AxiomNamedInformationItem)other).getNamespace();
+ qName = null;
+ }
+
public void AxiomNamedInformationItem.updateLocalName() {
throw new IllegalStateException();
}
Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NSAwareAttribute.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NSAwareAttribute.java?rev=1700058&r1=1700057&r2=1700058&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NSAwareAttribute.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NSAwareAttribute.java Sat Aug 29 16:39:00 2015
@@ -49,7 +49,6 @@ public final class NSAwareAttribute exte
@Override
final ParentNode shallowClone(OMCloneOptions options, ParentNode targetParent, ClonePolicy policy) {
- // Note: targetParent is always null here
- return new NSAwareAttribute(getLocalName(), getNamespace(), coreGetType(), getOMFactory());
+ return (ParentNode)shallowClone(policy, options);
}
}
Modified: webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMAttributeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMAttributeImpl.java?rev=1700058&r1=1700057&r2=1700058&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMAttributeImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMAttributeImpl.java Sat Aug 29 16:39:00 2015
@@ -23,6 +23,7 @@ import org.apache.axiom.om.OMCloneOption
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMInformationItem;
import org.apache.axiom.om.impl.common.AxiomAttribute;
+import org.apache.axiom.om.impl.common.Policies;
/** Class OMAttributeImpl */
public class OMAttributeImpl extends Attribute implements AxiomAttribute {
@@ -31,6 +32,6 @@ public class OMAttributeImpl extends Att
}
public OMInformationItem clone(OMCloneOptions options) {
- return getOMFactory().createOMAttribute(getLocalName(), getNamespace(), getAttributeValue());
+ return (AxiomAttribute)coreClone(Policies.CLONE_POLICY, options);
}
}