summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat
diff options
context:
space:
mode:
authorantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2010-02-03 12:07:14 +0000
committerantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2010-02-03 12:07:14 +0000
commit96517b984103f4b909cf1243be555c5a511262e4 (patch)
tree415c3f59266eb72f03b064d73439b0f052c3a759 /sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat
parente263378dc3d82a39abb40433612b7cd4889628ef (diff)
Finish moving all the JMS binding off the AXIOM databinding to the DOM based one. Theres an intermittent issue with the JMS callbacks itest where trailing spaces seem to sometimes get lost, i'll take that itest out of the build for now while its investigated
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@906021 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat')
-rw-r--r--sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceInterceptor.java6
-rw-r--r--sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceProvider.java4
-rw-r--r--sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLServiceProvider.java4
-rw-r--r--sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceInterceptor.java12
-rw-r--r--sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceProvider.java25
-rw-r--r--sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceInterceptor.java8
-rw-r--r--sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceProvider.java25
7 files changed, 46 insertions, 38 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceInterceptor.java b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceInterceptor.java
index 701a32e236..e453940d30 100644
--- a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceInterceptor.java
+++ b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceInterceptor.java
@@ -22,7 +22,6 @@ import javax.jms.JMSException;
import javax.jms.Session;
import javax.xml.namespace.QName;
-import org.apache.axiom.om.OMElement;
import org.apache.tuscany.sca.binding.jms.JMSBinding;
import org.apache.tuscany.sca.binding.jms.JMSBindingConstants;
import org.apache.tuscany.sca.binding.jms.JMSBindingException;
@@ -37,6 +36,7 @@ import org.apache.tuscany.sca.invocation.Interceptor;
import org.apache.tuscany.sca.invocation.Invoker;
import org.apache.tuscany.sca.invocation.Message;
import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
+import org.w3c.dom.Node;
public class WireFormatJMSBytesXMLReferenceInterceptor implements Interceptor {
@@ -98,8 +98,8 @@ public class WireFormatJMSBytesXMLReferenceInterceptor implements Interceptor {
try {
if (jmsMsg.getBooleanProperty(JMSBindingConstants.FAULT_PROPERTY)) {
FaultException e = new FaultException("remote exception", response);
- OMElement om = (OMElement) response;
- e.setFaultName(new QName(om.getNamespace().getNamespaceURI(), om.getLocalName()));
+ Node om = ((Node)response).getFirstChild();
+ e.setFaultName(new QName(om.getNamespaceURI(), om.getLocalName()));
msg.setFaultBody(e);
}
} catch (JMSException e) {
diff --git a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceProvider.java b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceProvider.java
index e56d35a8ed..e0f928de12 100644
--- a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceProvider.java
+++ b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceProvider.java
@@ -19,7 +19,6 @@
package org.apache.tuscany.sca.binding.jms.wireformat.jmsbytesxml.runtime;
-import org.apache.axiom.om.OMElement;
import org.apache.tuscany.sca.binding.jms.JMSBinding;
import org.apache.tuscany.sca.binding.jms.JMSBindingConstants;
import org.apache.tuscany.sca.binding.jms.wireformat.WireFormatJMSBytesXML;
@@ -27,6 +26,7 @@ import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory;
import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.databinding.xml.DOMDataBinding;
import org.apache.tuscany.sca.interfacedef.InterfaceContract;
import org.apache.tuscany.sca.invocation.Interceptor;
import org.apache.tuscany.sca.invocation.Phase;
@@ -67,7 +67,7 @@ public class WireFormatJMSBytesXMLReferenceProvider implements WireFormatProvide
WebServiceBinding wsBinding = wsFactory.createWebServiceBinding();
BindingWSDLGenerator.generateWSDL(endpointReference.getComponent(), endpointReference.getContract(), wsBinding, registry, null);
interfaceContract = wsBinding.getBindingInterfaceContract();
- interfaceContract.getInterface().resetDataBinding(OMElement.class.getName());
+ interfaceContract.getInterface().resetDataBinding(DOMDataBinding.NAME);
}
public InterfaceContract configureWireFormatInterfaceContract(InterfaceContract interfaceContract){
diff --git a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLServiceProvider.java b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLServiceProvider.java
index 00aaee39d5..d2ff153227 100644
--- a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLServiceProvider.java
+++ b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLServiceProvider.java
@@ -19,7 +19,6 @@
package org.apache.tuscany.sca.binding.jms.wireformat.jmsbytesxml.runtime;
-import org.apache.axiom.om.OMElement;
import org.apache.tuscany.sca.binding.jms.JMSBinding;
import org.apache.tuscany.sca.binding.jms.JMSBindingConstants;
import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory;
@@ -28,6 +27,7 @@ import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory;
import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.databinding.xml.DOMDataBinding;
import org.apache.tuscany.sca.interfacedef.InterfaceContract;
import org.apache.tuscany.sca.invocation.Interceptor;
import org.apache.tuscany.sca.invocation.Phase;
@@ -71,7 +71,7 @@ public class WireFormatJMSBytesXMLServiceProvider implements WireFormatProvider
WebServiceBinding wsBinding = wsFactory.createWebServiceBinding();
BindingWSDLGenerator.generateWSDL(endpoint.getComponent(), endpoint.getService(), wsBinding, registry, null);
interfaceContract = wsBinding.getBindingInterfaceContract();
- interfaceContract.getInterface().resetDataBinding(OMElement.class.getName());
+ interfaceContract.getInterface().resetDataBinding(DOMDataBinding.NAME);
}
public InterfaceContract configureWireFormatInterfaceContract(InterfaceContract interfaceContract){
diff --git a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceInterceptor.java b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceInterceptor.java
index 499784095a..87d99a014e 100644
--- a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceInterceptor.java
+++ b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceInterceptor.java
@@ -25,7 +25,6 @@ import javax.jms.JMSException;
import javax.jms.Session;
import javax.xml.namespace.QName;
-import org.apache.axiom.om.OMElement;
import org.apache.tuscany.sca.binding.jms.JMSBinding;
import org.apache.tuscany.sca.binding.jms.JMSBindingConstants;
import org.apache.tuscany.sca.binding.jms.JMSBindingException;
@@ -41,6 +40,7 @@ import org.apache.tuscany.sca.invocation.Interceptor;
import org.apache.tuscany.sca.invocation.Invoker;
import org.apache.tuscany.sca.invocation.Message;
import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
+import org.w3c.dom.Node;
/**
*
@@ -55,10 +55,10 @@ public class WireFormatJMSDefaultReferenceInterceptor implements Interceptor {
private DefaultMessageProcessor requestMessageProcessor;
private DefaultMessageProcessor responseMessageProcessor;
private HashMap<String, Boolean> inputWrapperMap;
- private HashMap<String, OMElement> outputWrapperMap;
+ private HashMap<String, Node> outputWrapperMap;
public WireFormatJMSDefaultReferenceInterceptor(ExtensionPointRegistry registry, JMSResourceFactory jmsResourceFactory, RuntimeEndpointReference endpointReference, HashMap<String, Boolean> inputWrapperMap,
- HashMap<String, OMElement> outputWrapperMap) {
+ HashMap<String, Node> outputWrapperMap) {
super();
this.jmsBinding = (JMSBinding) endpointReference.getBinding();
this.endpointReference = endpointReference;
@@ -126,7 +126,7 @@ public class WireFormatJMSDefaultReferenceInterceptor implements Interceptor {
msg.setBody(jmsMsg);
} else {
- OMElement wrapper = null;
+ Node wrapper = null;
// if we have a fault no need to wrap the response
try {
if (!jmsMsg.getBooleanProperty(JMSBindingConstants.FAULT_PROPERTY)) {
@@ -149,8 +149,8 @@ public class WireFormatJMSDefaultReferenceInterceptor implements Interceptor {
try {
if (jmsMsg.getBooleanProperty(JMSBindingConstants.FAULT_PROPERTY)) {
FaultException e = new FaultException("remote exception", response);
- OMElement om = (OMElement) response;
- e.setFaultName(new QName(om.getNamespace().getNamespaceURI(), om.getLocalName()));
+ Node om = ((Node)response).getFirstChild();
+ e.setFaultName(new QName(om.getNamespaceURI(), om.getLocalName()));
msg.setFaultBody(e);
}
} catch (JMSException e) {
diff --git a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceProvider.java b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceProvider.java
index 2732241b61..127680c283 100644
--- a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceProvider.java
+++ b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceProvider.java
@@ -22,10 +22,8 @@ package org.apache.tuscany.sca.binding.jms.wireformat.jmsdefault.runtime;
import java.util.HashMap;
import java.util.List;
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
+import javax.xml.namespace.QName;
+
import org.apache.tuscany.sca.assembly.ComponentReference;
import org.apache.tuscany.sca.binding.jms.JMSBinding;
import org.apache.tuscany.sca.binding.jms.JMSBindingConstants;
@@ -33,7 +31,9 @@ import org.apache.tuscany.sca.binding.jms.wireformat.WireFormatJMSDefault;
import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory;
import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator;
+import org.apache.tuscany.sca.common.xml.dom.DOMHelper;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.databinding.xml.DOMDataBinding;
import org.apache.tuscany.sca.interfacedef.DataType;
import org.apache.tuscany.sca.interfacedef.InterfaceContract;
import org.apache.tuscany.sca.interfacedef.Operation;
@@ -42,6 +42,9 @@ import org.apache.tuscany.sca.invocation.Interceptor;
import org.apache.tuscany.sca.invocation.Phase;
import org.apache.tuscany.sca.provider.WireFormatProvider;
import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
/**
* @version $Rev$ $Date$
@@ -52,8 +55,9 @@ public class WireFormatJMSDefaultReferenceProvider implements WireFormatProvider
private ComponentReference reference;
private JMSBinding binding;
private InterfaceContract interfaceContract;
+ private DOMHelper domHelper;
private HashMap<String, Boolean> inputWrapperMap;
- private HashMap<String, OMElement> outputWrapperMap;
+ private HashMap<String, Node> outputWrapperMap;
public WireFormatJMSDefaultReferenceProvider(ExtensionPointRegistry registry, RuntimeEndpointReference endpointReference) {
super();
@@ -61,8 +65,9 @@ public class WireFormatJMSDefaultReferenceProvider implements WireFormatProvider
this.endpointReference = endpointReference;
this.binding = (JMSBinding) endpointReference.getBinding();
+ this.domHelper = DOMHelper.getInstance(registry);
this.inputWrapperMap = new HashMap<String, Boolean>();
- this.outputWrapperMap = new HashMap<String, OMElement>();
+ this.outputWrapperMap = new HashMap<String, Node>();
// configure the reference based on this wire format
@@ -87,7 +92,6 @@ public class WireFormatJMSDefaultReferenceProvider implements WireFormatProvider
List<Operation> opList = reference.getReference().getInterfaceContract().getInterface().getOperations();
// Go through each operation and add wrapper info
- OMFactory factory = OMAbstractFactory.getOMFactory();
// set the binding interface contract to represent the WSDL for the
// xml messages that will be sent
@@ -97,7 +101,7 @@ public class WireFormatJMSDefaultReferenceProvider implements WireFormatProvider
WebServiceBinding wsBinding = wsFactory.createWebServiceBinding();
BindingWSDLGenerator.generateWSDL(endpointReference.getComponent(), reference, wsBinding, registry, null);
interfaceContract = wsBinding.getBindingInterfaceContract();
- interfaceContract.getInterface().resetDataBinding(OMElement.class.getName());
+ interfaceContract.getInterface().resetDataBinding(DOMDataBinding.NAME);
List<Operation> wsdlOpList = interfaceContract.getInterface().getOperations();
@@ -138,9 +142,8 @@ public class WireFormatJMSDefaultReferenceProvider implements WireFormatProvider
ElementInfo ei = op.getWrapper().getOutputWrapperElement();
String namespace = ei.getQName().getNamespaceURI();
String opName = ei.getQName().getLocalPart();
- OMNamespace ns = factory.createOMNamespace(namespace, "ns2");
- OMElement wrapper = factory.createOMElement(opName, ns);
-
+ Document document = domHelper.newDocument();
+ Element wrapper = DOMHelper.createElement(document, new QName(namespace, opName));
this.outputWrapperMap.put(name, wrapper);
}
}
diff --git a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceInterceptor.java b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceInterceptor.java
index 5d12af9b38..731de78cfe 100644
--- a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceInterceptor.java
+++ b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceInterceptor.java
@@ -24,7 +24,6 @@ import java.util.List;
import javax.jms.BytesMessage;
import javax.jms.Session;
-import org.apache.axiom.om.OMElement;
import org.apache.tuscany.sca.binding.jms.JMSBinding;
import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext;
import org.apache.tuscany.sca.binding.jms.provider.DefaultMessageProcessor;
@@ -37,6 +36,7 @@ import org.apache.tuscany.sca.invocation.Interceptor;
import org.apache.tuscany.sca.invocation.Invoker;
import org.apache.tuscany.sca.invocation.Message;
import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
+import org.w3c.dom.Node;
/**
* Policy handler to handle PolicySet related to Logging with the QName {http://tuscany.apache.org/xmlns/sca/1.1/impl/java}LoggingPolicy
@@ -50,10 +50,10 @@ public class WireFormatJMSDefaultServiceInterceptor implements Interceptor {
private JMSBinding jmsBinding;
private DefaultMessageProcessor requestMessageProcessor;
private DefaultMessageProcessor responseMessageProcessor;
- private HashMap<String,OMElement> inputWrapperMap;
+ private HashMap<String, Node> inputWrapperMap;
private HashMap<String, Boolean> outputWrapperMap;
- public WireFormatJMSDefaultServiceInterceptor(ExtensionPointRegistry registry, JMSResourceFactory jmsResourceFactory, RuntimeEndpoint endpoint, HashMap<String, OMElement> inputWrapperMap,
+ public WireFormatJMSDefaultServiceInterceptor(ExtensionPointRegistry registry, JMSResourceFactory jmsResourceFactory, RuntimeEndpoint endpoint, HashMap<String, Node> inputWrapperMap,
HashMap<String, Boolean> outputWrapperMap) {
super();
this.jmsBinding = (JMSBinding) endpoint.getBinding();
@@ -112,7 +112,7 @@ public class WireFormatJMSDefaultServiceInterceptor implements Interceptor {
} else {
// If there is only one arg we must add a wrapper if the operation is wrapper style
- OMElement wrapper = this.inputWrapperMap.get(msg.getOperation().getName());
+ Node wrapper = this.inputWrapperMap.get(msg.getOperation().getName());
Object requestPayload;
if (jmsMsg instanceof BytesMessage) {
diff --git a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceProvider.java b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceProvider.java
index 85c775136c..3541666007 100644
--- a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceProvider.java
+++ b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceProvider.java
@@ -22,10 +22,8 @@ package org.apache.tuscany.sca.binding.jms.wireformat.jmsdefault.runtime;
import java.util.HashMap;
import java.util.List;
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
+import javax.xml.namespace.QName;
+
import org.apache.tuscany.sca.assembly.ComponentService;
import org.apache.tuscany.sca.binding.jms.JMSBinding;
import org.apache.tuscany.sca.binding.jms.JMSBindingConstants;
@@ -34,7 +32,9 @@ import org.apache.tuscany.sca.binding.jms.wireformat.WireFormatJMSDefault;
import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory;
import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator;
+import org.apache.tuscany.sca.common.xml.dom.DOMHelper;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.databinding.xml.DOMDataBinding;
import org.apache.tuscany.sca.interfacedef.DataType;
import org.apache.tuscany.sca.interfacedef.InterfaceContract;
import org.apache.tuscany.sca.interfacedef.Operation;
@@ -43,6 +43,9 @@ import org.apache.tuscany.sca.invocation.Interceptor;
import org.apache.tuscany.sca.invocation.Phase;
import org.apache.tuscany.sca.provider.WireFormatProvider;
import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
/**
* @version $Rev$ $Date$
@@ -54,17 +57,20 @@ public class WireFormatJMSDefaultServiceProvider implements WireFormatProvider {
private JMSBinding binding;
private JMSResourceFactory jmsResourceFactory;
private InterfaceContract interfaceContract;
- private HashMap<String, OMElement> inputWrapperMap;
+ private DOMHelper domHelper;
+ private HashMap<String, Node> inputWrapperMap;
private HashMap<String, Boolean> outputWrapperMap;
public WireFormatJMSDefaultServiceProvider(ExtensionPointRegistry registry, RuntimeEndpoint endpoint, JMSResourceFactory jmsResourceFactory) {
super();
+ this.registry = registry;
this.endpoint = endpoint;
this.binding = (JMSBinding) endpoint.getBinding();
this.service = endpoint.getService();
this.jmsResourceFactory = jmsResourceFactory;
- this.inputWrapperMap = new HashMap<String, OMElement>();
+ this.domHelper = DOMHelper.getInstance(registry);
+ this.inputWrapperMap = new HashMap<String, Node>();
this.outputWrapperMap = new HashMap<String, Boolean>();
// configure the service based on this wire format
@@ -82,7 +88,6 @@ public class WireFormatJMSDefaultServiceProvider implements WireFormatProvider {
List<Operation> opList = service.getService().getInterfaceContract().getInterface().getOperations();
// Go through each operation and add wrapper info
- OMFactory factory = OMAbstractFactory.getOMFactory();
// set the binding interface contract to represent the WSDL for the
// xml messages that will be sent
@@ -93,7 +98,7 @@ public class WireFormatJMSDefaultServiceProvider implements WireFormatProvider {
WebServiceBinding wsBinding = wsFactory.createWebServiceBinding();
BindingWSDLGenerator.generateWSDL(endpoint.getComponent(), service, wsBinding, registry, null);
interfaceContract = wsBinding.getBindingInterfaceContract();
- interfaceContract.getInterface().resetDataBinding(OMElement.class.getName());
+ interfaceContract.getInterface().resetDataBinding(DOMDataBinding.NAME);
List<Operation> wsdlOpList = interfaceContract.getInterface().getOperations();
@@ -122,8 +127,8 @@ public class WireFormatJMSDefaultServiceProvider implements WireFormatProvider {
ElementInfo ei = op.getWrapper().getInputWrapperElement();
String namespace = ei.getQName().getNamespaceURI();
String opName = ei.getQName().getLocalPart();
- OMNamespace ns = factory.createOMNamespace(namespace, "ns1");
- OMElement wrapper = factory.createOMElement(opName, ns);
+ Document document = domHelper.newDocument();
+ Element wrapper = DOMHelper.createElement(document, new QName(namespace, opName));
this.inputWrapperMap.put(name, wrapper);
}
}