Author: veithen
Date: Sun Jun 21 15:34:21 2015
New Revision: 1686738

URL: http://svn.apache.org/r1686738
Log:
Implement a better solution for the SetLocalName hook in OMSourcedElementImpl.

Modified:
    
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/AxiomElementSupport.aj
    
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomNamedInformationItemSupport.aj
    
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java

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=1686738&r1=1686737&r2=1686738&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
 Sun Jun 21 15:34:21 2015
@@ -26,6 +26,9 @@ public aspect AxiomAttributeSupport {
         return (OMElement)coreGetOwnerElement();
     }
 
+    final void AxiomAttribute.beforeSetLocalName() {
+    }
+    
     public final void AxiomAttribute.setNamespace(OMNamespace namespace, 
boolean decl) {
         internalSetNamespace(handleNamespace((AxiomElement)getOwner(), 
namespace, true, decl));
     }

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=1686738&r1=1686737&r2=1686738&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
 Sun Jun 21 15:34:21 2015
@@ -63,6 +63,10 @@ public aspect AxiomElementSupport {
     
     private static final Log log = 
LogFactory.getLog(AxiomElementSupport.class);
     
+    final void AxiomElement.beforeSetLocalName() {
+        forceExpand();
+    }
+    
     public final int AxiomElement.getType() {
         return OMNode.ELEMENT_NODE;
     }

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=1686738&r1=1686737&r2=1686738&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
 Sun Jun 21 15:34:21 2015
@@ -90,7 +90,10 @@ public aspect AxiomNamedInformationItemS
         return coreGetLocalName();
     }
 
-    public void AxiomNamedInformationItem.setLocalName(String localName) {
+    abstract void AxiomNamedInformationItem.beforeSetLocalName();
+    
+    public final void AxiomNamedInformationItem.setLocalName(String localName) 
{
+        beforeSetLocalName();
         this.localName = localName;
         qName = null;
     }

Modified: 
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java
URL: 
http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java?rev=1686738&r1=1686737&r2=1686738&view=diff
==============================================================================
--- 
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java
 (original)
+++ 
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java
 Sun Jun 21 15:34:21 2015
@@ -357,12 +357,6 @@ public class OMSourcedElementImpl extend
         }
     }
 
-    public void setLocalName(String localName) {
-        // Need to expand the element so that the method actually overrides 
the the local name
-        forceExpand();
-        super.setLocalName(localName);
-    }
-
     public OMNamespace getNamespace() throws OMException {
         if (isExpanded()) {
             return super.getNamespace();


Reply via email to