You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ch...@apache.org on 2006/03/08 08:41:30 UTC

svn commit: r384144 - in /webservices/axis2/trunk/java/modules: addressing/src/org/apache/axis2/handlers/addressing/ core/src/org/apache/axis2/addressing/

Author: chinthaka
Date: Tue Mar  7 23:41:28 2006
New Revision: 384144

URL: http://svn.apache.org/viewcvs?rev=384144&view=rev
Log:
implementing the ability to add attributes to EPRs

Modified:
    webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingFinalInHandler.java
    webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/addressing/EndpointReference.java

Modified: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingFinalInHandler.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingFinalInHandler.java?rev=384144&r1=384143&r2=384144&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingFinalInHandler.java (original)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingFinalInHandler.java Tue Mar  7 23:41:28 2006
@@ -65,7 +65,8 @@
                     OMElement element = (OMElement) referenceParameters.next();
                     epr.addReferenceParameter(element);
                 }
-            } else if (checkElement(new QName(addressingNamespace, AddressingConstants.Final.WSA_METADATA), eprChildElement.getQName()))
+            } else
+            if (checkElement(new QName(addressingNamespace, AddressingConstants.Final.WSA_METADATA), eprChildElement.getQName()))
             {
                 Iterator referenceParameters = eprChildElement.getChildElements();
                 while (referenceParameters.hasNext()) {
@@ -75,6 +76,12 @@
             } else {
                 epr.addExtensibleElement(eprChildElement);
             }
+        }
+
+        Iterator allAttributes = headerBlock.getAllAttributes();
+        while (allAttributes.hasNext()) {
+            OMAttribute attribute = (OMAttribute) allAttributes.next();
+            epr.addAttribute(attribute);
         }
     }
 

Modified: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java?rev=384144&r1=384143&r2=384144&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java (original)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java Tue Mar  7 23:41:28 2006
@@ -27,6 +27,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ws.commons.om.OMAbstractFactory;
+import org.apache.ws.commons.om.OMAttribute;
 import org.apache.ws.commons.om.OMElement;
 import org.apache.ws.commons.om.OMNamespace;
 import org.apache.ws.commons.om.OMNode;
@@ -168,7 +169,7 @@
                 probHeaderQName.setText(faultyHeaderQName);
 
                 String messageID = (String) faultInfo.get(AddressingConstants.WSA_RELATES_TO);
-                if(messageID != null) {
+                if (messageID != null) {
                     SOAPHeaderBlock relatesTo = envelope.getHeader().addHeaderBlock(AddressingConstants.WSA_RELATES_TO, addressingNamespaceObject);
                     relatesTo.setText(messageID);
                 }
@@ -342,10 +343,19 @@
                             Final.WSA_METADATA,
                             addressingNamespaceObject, soapHeaderBlock);
             for (int i = 0; i < metaDataList.size(); i++) {
-                  metadata.addChild((OMNode) metaDataList.get(i));
+                metadata.addChild((OMNode) metaDataList.get(i));
             }
 
         }
+
+        if (epr.getAttributes() != null) {
+            Iterator attrIter = epr.getAttributes().iterator();
+            while (attrIter.hasNext()) {
+                OMAttribute omAttributes = (OMAttribute) attrIter.next();
+                soapHeaderBlock.addAttribute(omAttributes);
+            }
+        }
+
 
     }
 

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/addressing/EndpointReference.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/addressing/EndpointReference.java?rev=384144&r1=384143&r2=384144&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/addressing/EndpointReference.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/addressing/EndpointReference.java Tue Mar  7 23:41:28 2006
@@ -18,7 +18,9 @@
 package org.apache.axis2.addressing;
 
 import org.apache.ws.commons.om.OMAbstractFactory;
+import org.apache.ws.commons.om.OMAttribute;
 import org.apache.ws.commons.om.OMElement;
+import org.apache.ws.commons.om.OMNamespace;
 import org.apache.ws.commons.om.OMNode;
 
 import javax.xml.namespace.QName;
@@ -52,6 +54,7 @@
     private ArrayList metaData;
     private Map referenceParameters;
     private ArrayList extensibleElements;
+    private ArrayList attributes;
 
 
     /**
@@ -110,6 +113,34 @@
         this.address = address;
     }
 
+    /**
+     * @param localName
+     * @param ns
+     * @param value
+     */
+    public void addAttribute(String localName, OMNamespace ns, String value) {
+        if (attributes == null) {
+            attributes = new ArrayList();
+        }
+        attributes.add(OMAbstractFactory.getOMFactory().createOMAttribute(localName, ns, value));
+    }
+
+    public ArrayList getAttributes() {
+        return attributes;
+    }
+
+
+    /**
+     *
+     * @param omAttribute
+     */
+    public void addAttribute(OMAttribute omAttribute) {
+        if (attributes == null) {
+            attributes = new ArrayList();
+        }
+        attributes.add(omAttribute);
+    }
+
     public ArrayList getExtensibleElements() {
         return extensibleElements;
     }
@@ -124,7 +155,7 @@
     }
 
     public void addExtensibleElement(OMElement extensibleElement) {
-         if (extensibleElement != null) {
+        if (extensibleElement != null) {
             if (this.extensibleElements == null) {
                 this.extensibleElements = new ArrayList();
             }
@@ -182,6 +213,16 @@
         }
 
         setName(eprOMElement.getLocalName());
+
+        Iterator allAttributes = eprOMElement.getAllAttributes();
+        if (attributes == null) {
+            attributes = new ArrayList();
+        }
+
+        while (allAttributes.hasNext()) {
+            OMAttribute attribute = (OMAttribute) allAttributes.next();
+            attributes.add(attribute);
+        }
     }
 
     public void toOM() {