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 2005/12/09 19:01:21 UTC
svn commit: r355556 - in /webservices/axis2/trunk/java/modules:
addressing/src/org/apache/axis2/handlers/addressing/
addressing/test/org/apache/axis2/handlers/addressing/
core/src/org/apache/axis2/addressing/ core/test/org/apache/axis2/addressing/
Author: chinthaka
Date: Fri Dec 9 10:01:06 2005
New Revision: 355556
URL: http://svn.apache.org/viewcvs?rev=355556&view=rev
Log:
Slowly cleaning up addressing stuff. Its not complete yet. But need to commit this to get ready for the hackathon.
Added:
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/AddressingFinalOutHandler.java
webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingHandler.java
webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingSubmissionInHandler.java
webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingSubmissionOutHandler.java
Modified:
webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java
webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java
webservices/axis2/trunk/java/modules/addressing/test/org/apache/axis2/handlers/addressing/AddressingInHandlerTest.java
webservices/axis2/trunk/java/modules/addressing/test/org/apache/axis2/handlers/addressing/AddressingOutHandlerTest.java
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/addressing/EndpointReference.java
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/addressing/ServiceName.java
webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/addressing/EndpointReferenceTypeTest.java
Added: 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=355556&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingFinalInHandler.java (added)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingFinalInHandler.java Fri Dec 9 10:01:06 2005
@@ -0,0 +1,23 @@
+package org.apache.axis2.handlers.addressing;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ *
+ * @author : Eran Chinthaka (chinthaka@apache.org)
+ */
+
+public class AddressingFinalInHandler extends AddressingInHandler {
+
+}
Added: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingFinalOutHandler.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingFinalOutHandler.java?rev=355556&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingFinalOutHandler.java (added)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingFinalOutHandler.java Fri Dec 9 10:01:06 2005
@@ -0,0 +1,23 @@
+package org.apache.axis2.handlers.addressing;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ *
+ * @author : Eran Chinthaka (chinthaka@apache.org)
+ */
+
+public class AddressingFinalOutHandler extends AddressingOutHandler{
+
+}
Added: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingHandler.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingHandler.java?rev=355556&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingHandler.java (added)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingHandler.java Fri Dec 9 10:01:06 2005
@@ -0,0 +1,35 @@
+package org.apache.axis2.handlers.addressing;
+
+import org.apache.axis2.addressing.AddressingConstants;
+import org.apache.axis2.handlers.AbstractHandler;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ *
+ * @author : Eran Chinthaka (chinthaka@apache.org)
+ */
+
+public abstract class AddressingHandler extends AbstractHandler implements AddressingConstants {
+
+ // this parameter has to be set by the module deployer.
+ protected boolean isAddressingOptional = true;
+
+ protected String addressingNamespace = null;
+
+ protected Log logger = LogFactory.getLog(getClass());
+
+}
Modified: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java?rev=355556&r1=355555&r2=355556&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java (original)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java Fri Dec 9 10:01:06 2005
@@ -19,30 +19,22 @@
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
import org.apache.axis2.addressing.AddressingConstants;
-import org.apache.axis2.addressing.AnyContentType;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.addressing.MessageInformationHeaders;
import org.apache.axis2.addressing.RelatesTo;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.context.ServiceGroupContext;
-import org.apache.axis2.handlers.AbstractHandler;
import org.apache.axis2.om.OMAttribute;
import org.apache.axis2.om.OMElement;
import org.apache.axis2.soap.SOAPHeader;
import org.apache.axis2.soap.SOAPHeaderBlock;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import javax.xml.namespace.QName;
import java.util.ArrayList;
import java.util.Iterator;
-public class AddressingInHandler extends AbstractHandler implements AddressingConstants {
+public class AddressingInHandler extends AddressingHandler {
// this parameter has to be set by the module deployer.
- private boolean isAddressingOptional = true;
- protected String addressingNamespace = null;
-
- private Log logger = LogFactory.getLog(getClass());
public void invoke(MessageContext msgContext) throws AxisFault {
logger.debug("Starting Addressing IN Handler .........");
@@ -254,25 +246,14 @@
if (checkElement(new QName(addressingNamespace, AddressingConstants.EPR_ADDRESS), eprChildElement.getQName())) {
epr.setAddress(eprChildElement.getText());
} else if (checkElement(new QName(addressingNamespace, AddressingConstants.EPR_REFERENCE_PARAMETERS), eprChildElement.getQName())) {
- AnyContentType anyContentType = new AnyContentType();
- if (epr.getReferenceParameters() == null) {
- epr.setReferenceParameters(anyContentType);
- }
+
Iterator referenceParameters = eprChildElement.getChildElements();
while (referenceParameters.hasNext()) {
OMElement element = (OMElement) referenceParameters.next();
- epr.getReferenceParameters().addReferenceValue(element.getQName(), element.getText());
+ epr.addReferenceParameter(element);
}
} else if (checkElement(new QName(addressingNamespace, AddressingConstants.Final.WSA_METADATA), eprChildElement.getQName())) {
- AnyContentType anyContentType = new AnyContentType();
- if (epr.getMetadata() == null) {
- epr.setMetadata(anyContentType);
- }
- Iterator metadataChildren = eprChildElement.getChildElements();
- while (metadataChildren.hasNext()) {
- OMElement element = (OMElement) metadataChildren.next();
- epr.getMetadata().addReferenceValue(element.getQName(), element.getText());
- }
+ epr.setMetaData(eprChildElement);
}
}
}
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=355556&r1=355555&r2=355556&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 Fri Dec 9 10:01:06 2005
@@ -19,12 +19,10 @@
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
import org.apache.axis2.addressing.AddressingConstants;
-import org.apache.axis2.addressing.AnyContentType;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.addressing.MessageInformationHeaders;
import org.apache.axis2.addressing.ServiceName;
import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.handlers.AbstractHandler;
import org.apache.axis2.om.OMAbstractFactory;
import org.apache.axis2.om.OMElement;
import org.apache.axis2.om.OMNamespace;
@@ -34,12 +32,10 @@
import javax.xml.namespace.QName;
import java.util.Iterator;
+import java.util.Map;
-public class AddressingOutHandler
- extends AbstractHandler
- implements AddressingConstants {
+public class AddressingOutHandler extends AddressingHandler {
- private boolean isAddressingEnabled = true;
// IN message, if any, has messageId and replyTo and faultTo addresses that needs to be used
// in the OUT message. User may sometimes override these values, at his discretion .The following
@@ -53,7 +49,7 @@
public void invoke(MessageContext msgContext) throws AxisFault {
- if (!isAddressingEnabled || msgContext.getMessageInformationHeaders() == null) {
+ if (msgContext.getMessageInformationHeaders() == null) {
return;
}
@@ -109,10 +105,8 @@
toHeaderBlock.setText(address);
}
- AnyContentType referenceParameters = epr.getReferenceParameters();
- if (referenceParameters != null) {
- processAnyContentType(referenceParameters, soapHeader);
- }
+ processReferenceInformation(epr.getAllReferenceParameters(), soapHeader);
+ processReferenceInformation(epr.getAllReferenceProperties(), soapHeader);
addToHeader(epr, soapHeader);
}
@@ -137,10 +131,7 @@
// add the service group id as a reference parameter
String serviceGroupContextId = msgContext.getServiceGroupContextId();
if (serviceGroupContextId != null && !"".equals(serviceGroupContextId)) {
- if (epr.getReferenceParameters() == null) {
- epr.setReferenceParameters(new AnyContentType());
- }
- epr.getReferenceParameters().addReferenceValue(new QName(Constants.AXIS2_NAMESPACE_URI,
+ epr.addReferenceParameter(new QName(Constants.AXIS2_NAMESPACE_URI,
Constants.SERVICE_GROUP_ID, Constants.AXIS2_NAMESPACE_PREFIX), serviceGroupContextId);
}
addToSOAPHeader(epr, AddressingConstants.WSA_REPLY_TO, soapHeader);
@@ -222,26 +213,26 @@
addToHeader(epr, soapHeaderBlock);
- AnyContentType referenceParameters = epr.getReferenceParameters();
+ Map referenceParameters = epr.getAllReferenceParameters();
if (referenceParameters != null) {
OMElement reference =
OMAbstractFactory.getOMFactory().createOMElement(
EPR_REFERENCE_PARAMETERS,
addressingNamespaceObject);
soapHeaderBlock.addChild(reference);
- processAnyContentType(referenceParameters, reference);
+ processReferenceInformation(referenceParameters, reference);
}
if (Submission.WSA_NAMESPACE.equals(addressingNamespace)) {
- AnyContentType referenceProperties = epr.getReferenceProperties();
+ Map referenceProperties = epr.getAllReferenceProperties();
if (referenceProperties != null) {
OMElement reference =
OMAbstractFactory.getOMFactory().createOMElement(
Submission.EPR_REFERENCE_PROPERTIES,
addressingNamespaceObject);
soapHeader.addChild(reference);
- processAnyContentType(referenceParameters, reference);
+ processReferenceInformation(referenceParameters, reference);
}
}
@@ -250,67 +241,57 @@
private void addToHeader(EndpointReference epr, OMElement parentElement) {
+ if (addressingNamespace.equals(Submission.WSA_NAMESPACE)) {
+ QName portType = epr.getPortType();
+ if (portType != null) {
+ OMElement interfaceName =
+ OMAbstractFactory.getOMFactory().createOMElement(Submission.EPR_PORT_TYPE, addressingNamespaceObject);
+ interfaceName.addChild(
+ OMAbstractFactory.getOMFactory().createText(
+ portType.getPrefix() + ":" +
+ portType.getLocalPart()));
+ parentElement.addChild(interfaceName);
+ }
- QName interfaceQName = epr.getInterfaceName();
- if (interfaceQName != null) {
- OMElement interfaceName =
- OMAbstractFactory.getOMFactory().createOMElement(
- addressingNamespace.equals(
- Submission.WSA_NAMESPACE) ?
- Submission.EPR_PORT_TYPE : Final.WSA_INTERFACE_NAME,
- addressingNamespaceObject);
- interfaceName.addChild(
- OMAbstractFactory.getOMFactory().createText(
- interfaceQName.getPrefix() + ":" +
- interfaceQName.getLocalPart()));
- parentElement.addChild(interfaceName);
- }
-
- ServiceName serviceName = epr.getServiceName();
- if (serviceName != null) {
- OMElement serviceNameElement =
- OMAbstractFactory.getOMFactory().createOMElement(
- EPR_SERVICE_NAME,
- addressingNamespaceObject);
- serviceNameElement.addAttribute(
- addressingNamespace.equals(Submission.WSA_NAMESPACE) ?
- Submission.EPR_SERVICE_NAME_PORT_NAME :
- Final.WSA_SERVICE_NAME_ENDPOINT_NAME,
- serviceName.getEndpointName(),
- addressingNamespaceObject);
- serviceNameElement.addChild(
- OMAbstractFactory.getOMFactory().createText(
- serviceName.getName().getPrefix()
- + ":"
- + serviceName.getName().getLocalPart()));
- parentElement.addChild(serviceNameElement);
+ ServiceName serviceName = epr.getServiceName();
+ if (serviceName != null) {
+ OMElement serviceNameElement =
+ OMAbstractFactory.getOMFactory().createOMElement(
+ EPR_SERVICE_NAME,
+ addressingNamespaceObject);
+ serviceNameElement.addAttribute(Submission.EPR_SERVICE_NAME_PORT_NAME, serviceName.getPortName(),
+ addressingNamespaceObject);
+ serviceNameElement.addChild(
+ OMAbstractFactory.getOMFactory().createText(
+ serviceName.getName().getPrefix()
+ + ":"
+ + serviceName.getName().getLocalPart()));
+ parentElement.addChild(serviceNameElement);
+ }
}
}
- private void processAnyContentType
- (AnyContentType
- referenceValues,
- OMElement
- parentElement) {
- if (referenceValues != null) {
- Iterator iterator = referenceValues.getKeys();
+ /**
+ * This will add reference parameters and/or reference properties in to the message
+ *
+ * @param referenceInformation
+ */
+ private void processReferenceInformation(Map referenceInformation, OMElement parent) {
+ if (referenceInformation != null && parent != null) {
+ Iterator iterator = referenceInformation.keySet().iterator();
while (iterator.hasNext()) {
QName key = (QName) iterator.next();
- String value = referenceValues.getReferenceValue(key);
- OMElement omElement =
- OMAbstractFactory.getOMFactory().createOMElement(key,
- parentElement);
+ OMElement omElement = (OMElement) referenceInformation.get(key);
+
if (Final.WSA_NAMESPACE.equals(addressingNamespace)) {
- omElement.addAttribute(
- Final.WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE,
- Final.WSA_TYPE_ATTRIBUTE_VALUE,
+ omElement.addAttribute(Final.WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE, Final.WSA_TYPE_ATTRIBUTE_VALUE,
addressingNamespaceObject);
}
- omElement.setText(value);
+ parent.addChild(omElement);
}
}
}
Added: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingSubmissionInHandler.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingSubmissionInHandler.java?rev=355556&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingSubmissionInHandler.java (added)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingSubmissionInHandler.java Fri Dec 9 10:01:06 2005
@@ -0,0 +1,23 @@
+package org.apache.axis2.handlers.addressing;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ *
+ * @author : Eran Chinthaka (chinthaka@apache.org)
+ */
+
+public class AddressingSubmissionInHandler extends AddressingInHandler {
+
+}
Added: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingSubmissionOutHandler.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingSubmissionOutHandler.java?rev=355556&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingSubmissionOutHandler.java (added)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingSubmissionOutHandler.java Fri Dec 9 10:01:06 2005
@@ -0,0 +1,23 @@
+package org.apache.axis2.handlers.addressing;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ *
+ * @author : Eran Chinthaka (chinthaka@apache.org)
+ */
+
+public class AddressingSubmissionOutHandler extends AddressingOutHandler {
+
+}
Modified: webservices/axis2/trunk/java/modules/addressing/test/org/apache/axis2/handlers/addressing/AddressingInHandlerTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/addressing/test/org/apache/axis2/handlers/addressing/AddressingInHandlerTest.java?rev=355556&r1=355555&r2=355556&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/test/org/apache/axis2/handlers/addressing/AddressingInHandlerTest.java (original)
+++ webservices/axis2/trunk/java/modules/addressing/test/org/apache/axis2/handlers/addressing/AddressingInHandlerTest.java Fri Dec 9 10:01:06 2005
@@ -18,7 +18,6 @@
import junit.framework.TestCase;
import org.apache.axis2.addressing.AddressingConstants;
-import org.apache.axis2.addressing.AnyContentType;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.addressing.MessageInformationHeaders;
import org.apache.axis2.handlers.util.TestUtil;
@@ -29,6 +28,7 @@
import org.apache.commons.logging.LogFactory;
import javax.xml.namespace.QName;
+import java.util.Map;
public class AddressingInHandlerTest extends TestCase {
private Log log = LogFactory.getLog(getClass());
@@ -106,15 +106,15 @@
AddressingConstants.Final.WSA_NAMESPACE);
assertNotNull(messageInformationHeaders);
assertNotNull(messageInformationHeaders.getTo());
- assertNotNull(messageInformationHeaders.getTo().getReferenceParameters());
- AnyContentType referenceParameters = messageInformationHeaders.getTo().getReferenceParameters();
+
+ Map allReferenceParameters = messageInformationHeaders.getTo().getAllReferenceParameters();
+ assertNotNull(allReferenceParameters);
QName qName = new QName("http://ws.apache.org/namespaces/axis2", "ParamOne", "axis2");
- assertNotNull(referenceParameters.getReferenceValue(qName));
+ assertNotNull(allReferenceParameters.get(qName));
} catch (Exception e) {
e.printStackTrace();
-
- log.info(e.getMessage());
+ log.error(e.getMessage());
fail(" An Exception has occured " + e.getMessage());
}
}
Modified: webservices/axis2/trunk/java/modules/addressing/test/org/apache/axis2/handlers/addressing/AddressingOutHandlerTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/addressing/test/org/apache/axis2/handlers/addressing/AddressingOutHandlerTest.java?rev=355556&r1=355555&r2=355556&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/test/org/apache/axis2/handlers/addressing/AddressingOutHandlerTest.java (original)
+++ webservices/axis2/trunk/java/modules/addressing/test/org/apache/axis2/handlers/addressing/AddressingOutHandlerTest.java Fri Dec 9 10:01:06 2005
@@ -19,7 +19,6 @@
import junit.framework.TestCase;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.AddressingConstants;
-import org.apache.axis2.addressing.AnyContentType;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.addressing.ServiceName;
import org.apache.axis2.context.MessageContext;
@@ -51,7 +50,7 @@
public void testAddToSOAPHeader() throws Exception {
EndpointReference replyTo = new EndpointReference("http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous");
EndpointReference epr = new EndpointReference("http://www.to.org/service/");
- epr.setInterfaceName(
+ epr.setPortType(
new QName("http://www.from.org/service/port/",
"Port",
"portNS"));
@@ -62,15 +61,13 @@
"serviceNS"),
"port"));
- AnyContentType anyContentType = new AnyContentType();
for (int i = 0; i < 5; i++) {
- anyContentType.addReferenceValue(
+ epr.addReferenceParameter(
new QName(Submission.WSA_NAMESPACE, "Reference" + i),
"Value " + i * 100);
}
- epr.setReferenceParameters(anyContentType);
SOAPFactory factory = OMAbstractFactory.getSOAP11Factory();
SOAPEnvelope defaultEnvelope = factory.getDefaultEnvelope();
@@ -93,23 +90,18 @@
public void testHeaderCreationFromMsgCtxtInformation() throws Exception {
msgCtxt = new MessageContext(null);
- AnyContentType referenceValues = new AnyContentType();
-
EndpointReference epr = new EndpointReference("http://www.from.org/service/");
- referenceValues.addReferenceValue(new QName("Reference2"),
+ epr.addReferenceParameter(new QName("Reference2"),
"Value 200");
- epr.setReferenceParameters(referenceValues);
msgCtxt.setFrom(epr);
epr = new EndpointReference("http://www.to.org/service/");
- referenceValues = new AnyContentType();
- referenceValues.addReferenceValue(
+ epr.addReferenceParameter(
new QName("http://reference.org", "Reference4", "myRef"),
"Value 400");
- referenceValues.addReferenceValue(
+ epr.addReferenceParameter(
new QName("http://reference.org", "Reference3", "myRef"),
"Value 300");
- epr.setReferenceParameters(referenceValues);
epr.setServiceName(
new ServiceName(
@@ -118,7 +110,7 @@
"serviceNS"),
"port"));
- epr.setInterfaceName(
+ epr.setPortType(
new QName("http://www.from.org/service/port/",
"Port",
"portNS"));
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=355556&r1=355555&r2=355556&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 Fri Dec 9 10:01:06 2005
@@ -15,44 +15,33 @@
*/
package org.apache.axis2.addressing;
+import org.apache.axis2.om.OMAbstractFactory;
import org.apache.axis2.om.OMElement;
import javax.xml.namespace.QName;
import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
/**
* Class EndpointReference
- * TODO : Policy has not been integrated to this
+ * Contents of this class differs between WS-A Submission and WS-Final. Without having a
+ * inheritance hierarchy for this small difference, lets have all the properties in the same class.
*/
public class EndpointReference implements Serializable {
- /**
- * Required property. may be a logical address or identifier for the service endpoint
- */
- private String address;
-
- /**
- * Field interfaceName
- */
- private QName interfaceName;
-
- /**
- * Field referenceProperties
- */
- private AnyContentType referenceProperties;
- /**
- * Field referenceParameters
- */
- private AnyContentType referenceParameters;
+ // Commons properties
+ private String address;
+ private Map referenceParameters;
- /**
- * Field serviceName
- */
+ // Properties from WS-A Submission version
+ private Map referenceProperties;
+ private QName portType;
private ServiceName serviceName;
+ private OMElement policy;
- private OMElement policies;
-
- private AnyContentType metadata;
+ // Properties from WS-A Final
+ private OMElement metaData;
/**
* @param address
@@ -78,90 +67,141 @@
}
/**
- * Method getInterfaceName
+ * Method getServiceName
*/
- public QName getInterfaceName() {
- return interfaceName;
+ public ServiceName getServiceName() {
+ return serviceName;
}
/**
- * Method setInterfaceName
+ * Method setServiceName
*
- * @param interfaceName
+ * @param serviceName
*/
- public void setInterfaceName(QName interfaceName) {
- this.interfaceName = interfaceName;
+ public void setServiceName(ServiceName serviceName) {
+ this.serviceName = serviceName;
}
- /**
- * Method getReferenceProperties
- */
- public AnyContentType getReferenceProperties() {
- return referenceProperties;
+ public OMElement getPolicy() {
+ return policy;
}
- /**
- * Method setReferenceProperties
- *
- * @param referenceProperties
- */
- public void setReferenceProperties(AnyContentType referenceProperties) {
- this.referenceProperties = referenceProperties;
+ public void setPolicy(OMElement policy) {
+ this.policy = policy;
}
/**
- * Method getReferenceParameters
+ * This will return a Map of reference parameters with QName as the key and an OMElement
+ * as the value
+ *
+ * @return
*/
- public AnyContentType getReferenceParameters() {
+ public Map getAllReferenceParameters() {
return referenceParameters;
}
/**
- * Method setReferenceParameters
+ * Set a Map with QName as the key and an OMElement
+ * as the value
*
* @param referenceParameters
*/
- public void setReferenceParameters(AnyContentType referenceParameters) {
+ public void setReferenceParameters(Map referenceParameters) {
this.referenceParameters = referenceParameters;
}
/**
- * Method getServiceName
+ * This will return a Map of reference properties with QName as the key and an OMElement
+ * as the value
+ *
+ * @return
*/
- public ServiceName getServiceName() {
- return serviceName;
+ public Map getAllReferenceProperties() {
+ return referenceProperties;
}
/**
- * Method setServiceName
+ * Set a Map with QName as the key and an OMElement
+ * as the value
*
- * @param serviceName
+ * @param referenceProperties
*/
- public void setServiceName(ServiceName serviceName) {
- this.serviceName = serviceName;
+ public void setReferenceProperties(HashMap referenceProperties) {
+ this.referenceProperties = referenceProperties;
}
- public OMElement getPolicies() {
- return policies;
+ public QName getPortType() {
+ return portType;
}
- public void setPolicies(OMElement policies) {
- this.policies = policies;
+ public void setPortType(QName portType) {
+ this.portType = portType;
}
- public AnyContentType getMetadata() {
- return metadata;
+ public OMElement getMetaData() {
+ return metaData;
}
- public void setMetadata(AnyContentType metadata) {
- this.metadata = metadata;
+ public void setMetaData(OMElement metaData) {
+ this.metaData = metaData;
}
+
+ /**
+ *
+ * @param qname
+ * @param value - the text of the OMElement. Remember that this is a convenient method for the user,
+ * which has limited capability. If you want more power use @See EndpointReference#addReferenceParameter(OMElement)
+ */
public void addReferenceParameter(QName qname, String value) {
- if (getReferenceParameters() == null) {
- setReferenceParameters(new AnyContentType());
+ if (qname == null) {
+ return;
+ }
+ OMElement omElement = OMAbstractFactory.getOMFactory().createOMElement(qname, null);
+ omElement.setText(value);
+ addReferenceParameter(omElement);
+ }
+
+ /**
+ *
+ * @param omElement
+ */
+ public void addReferenceParameter(OMElement omElement) {
+ if (omElement == null) {
+ return;
+ }
+ if (referenceParameters == null) {
+ referenceParameters = new HashMap();
+ }
+ referenceParameters.put(omElement.getQName(), omElement);
+ }
+
+ /**
+ * Remember that reference properties are only supported in WS-A Submission version.
+ * @param qname
+ * @param value
+ */
+ public void addReferenceProperty(QName qname, String value) {
+ if (qname == null) {
+ return;
+ }
+ OMElement omElement = OMAbstractFactory.getOMFactory().createOMElement(qname, null);
+ omElement.setText(value);
+ addReferenceProperty(omElement);
+ }
+
+ /**
+ * Remember that reference properties are only supported in WS-A Submission version.
+ * @param omElement
+ */
+ public void addReferenceProperty(OMElement omElement) {
+ if (omElement == null) {
+ return;
+ }
+ if (referenceProperties == null) {
+ referenceProperties = new HashMap();
}
- referenceParameters.addReferenceValue(qname, value);
+ referenceProperties.put(omElement.getQName(), omElement);
}
Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/addressing/ServiceName.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/addressing/ServiceName.java?rev=355556&r1=355555&r2=355556&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/addressing/ServiceName.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/addressing/ServiceName.java Fri Dec 9 10:01:06 2005
@@ -16,21 +16,20 @@
package org.apache.axis2.addressing;
import javax.xml.namespace.QName;
-import java.io.Serializable;
/**
* Class ServiceName
*/
-public class ServiceName implements Serializable{
+public class ServiceName {
/**
* Field name
*/
private QName name;
/**
- * Field endpointName
+ * Field portName
*/
- private String endpointName;
+ private String portName;
/**
* @param name
@@ -45,7 +44,7 @@
*/
public ServiceName(QName name, String portName) {
this.name = name;
- this.endpointName = portName;
+ this.portName = portName;
}
/**
@@ -67,20 +66,20 @@
}
/**
- * Method getEndpointName
+ * Method getPortName
*
* @return
*/
- public String getEndpointName() {
- return endpointName;
+ public String getPortName() {
+ return portName;
}
/**
- * Method setEndpointName
+ * Method setPortName
*
- * @param endpointName
+ * @param portName
*/
- public void setEndpointName(String endpointName) {
- this.endpointName = endpointName;
+ public void setPortName(String portName) {
+ this.portName = portName;
}
}
Modified: webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/addressing/EndpointReferenceTypeTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/addressing/EndpointReferenceTypeTest.java?rev=355556&r1=355555&r2=355556&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/addressing/EndpointReferenceTypeTest.java (original)
+++ webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/addressing/EndpointReferenceTypeTest.java Fri Dec 9 10:01:06 2005
@@ -17,8 +17,10 @@
package org.apache.axis2.addressing;
import junit.framework.TestCase;
+import org.apache.axis2.om.OMElement;
import javax.xml.namespace.QName;
+import java.util.Map;
public class EndpointReferenceTypeTest extends TestCase {
@@ -52,28 +54,25 @@
public void testGetAndSetPortType() {
QName portType = new QName("www.someport.com", "port");
- endpointReference.setInterfaceName(portType);
+ endpointReference.setPortType(portType);
assertEquals("PortType not set/get properly",
portType,
- endpointReference.getInterfaceName());
+ endpointReference.getPortType());
}
public void testGetAndSetReferenceProperties() {
- AnyContentType anyContentType = new AnyContentType();
for (int i = 0; i < 10; i++) {
- anyContentType.addReferenceValue(
+ endpointReference.addReferenceProperty(
new QName("http://www.opensouce.lk/" + i, "" + i),
"value " + i * 100);
}
- endpointReference.setReferenceProperties(anyContentType);
- AnyContentType retrievedAnyContentType = endpointReference.getReferenceProperties();
+ Map retrievedReferenceProperties = endpointReference.getAllReferenceProperties();
for (int i = 0; i < 10; i++) {
- String value = retrievedAnyContentType.getReferenceValue(
- new QName("http://www.opensouce.lk/" + i, "" + i));
+ OMElement referenceProperty = (OMElement) retrievedReferenceProperties.get(new QName("http://www.opensouce.lk/" + i, "" + i));
assertEquals(
"Input value differs from what is taken out from AnyContentType",
- value,
+ referenceProperty.getText(),
"value " + i * 100);
}
@@ -82,19 +81,18 @@
public void testGetAndSetReferenceParameters() {
AnyContentType anyContentType = new AnyContentType();
for (int i = 0; i < 10; i++) {
- anyContentType.addReferenceValue(
+ endpointReference.addReferenceParameter(
new QName("http://www.opensouce.lk/" + i, "" + i),
"value " + i * 50);
}
- endpointReference.setReferenceParameters(anyContentType);
- AnyContentType retrievedAnyContentType = endpointReference.getReferenceParameters();
+ Map retrievedReferenceParameters = endpointReference.getAllReferenceParameters();
for (int i = 0; i < 10; i++) {
- String value = retrievedAnyContentType.getReferenceValue(
+ OMElement referenceParameter = (OMElement) retrievedReferenceParameters.get(
new QName("http://www.opensouce.lk/" + i, "" + i));
assertEquals(
"Input value differs from what is taken out from AnyContentType",
- value,
+ referenceParameter.getText(),
"value " + i * 50);
}
}
@@ -118,8 +116,8 @@
serviceName.getName(),
retrievedServiceName.getName());
assertEquals("ServiceName portName has not been get/set properly",
- serviceName.getEndpointName(),
- retrievedServiceName.getEndpointName());
+ serviceName.getPortName(),
+ retrievedServiceName.getPortName());
}
}