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() {