diff options
Diffstat (limited to 'sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime')
4 files changed, 27 insertions, 48 deletions
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 33e73a69ef..ba1002fab2 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 @@ -23,7 +23,6 @@ import java.util.HashMap; import javax.jms.BytesMessage; import javax.jms.JMSException; import javax.jms.Session; -import javax.xml.namespace.QName; import org.apache.tuscany.sca.binding.jms.JMSBinding; import org.apache.tuscany.sca.binding.jms.JMSBindingConstants; @@ -31,17 +30,17 @@ import org.apache.tuscany.sca.binding.jms.JMSBindingException; import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext; import org.apache.tuscany.sca.binding.jms.provider.DefaultMessageProcessor; import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; +import org.apache.tuscany.sca.binding.jms.provider.xml.XMLHelper; +import org.apache.tuscany.sca.binding.jms.provider.xml.XMLHelperFactory; import org.apache.tuscany.sca.binding.jms.wireformat.WireFormatJMSDefault; import org.apache.tuscany.sca.core.ExtensionPointRegistry; import org.apache.tuscany.sca.core.invocation.InterceptorAsyncImpl; import org.apache.tuscany.sca.interfacedef.DataType; import org.apache.tuscany.sca.interfacedef.Operation; import org.apache.tuscany.sca.interfacedef.util.FaultException; -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; /** * @@ -56,10 +55,11 @@ public class WireFormatJMSDefaultReferenceInterceptor extends InterceptorAsyncIm private DefaultMessageProcessor requestMessageProcessor; private DefaultMessageProcessor responseMessageProcessor; private HashMap<String, Boolean> inputWrapperMap; - private HashMap<String, Node> outputWrapperMap; + private HashMap<String, Object> outputWrapperMap; + private XMLHelper xmlhelper; public WireFormatJMSDefaultReferenceInterceptor(ExtensionPointRegistry registry, JMSResourceFactory jmsResourceFactory, RuntimeEndpointReference endpointReference, HashMap<String, Boolean> inputWrapperMap, - HashMap<String, Node> outputWrapperMap) { + HashMap<String, Object> outputWrapperMap) { super(); this.jmsBinding = (JMSBinding) endpointReference.getBinding(); this.endpointReference = endpointReference; @@ -70,6 +70,7 @@ public class WireFormatJMSDefaultReferenceInterceptor extends InterceptorAsyncIm this.responseMessageProcessor = new DefaultMessageProcessor(jmsBinding, registry); this.inputWrapperMap = inputWrapperMap; this.outputWrapperMap = outputWrapperMap; + this.xmlhelper = XMLHelperFactory.createXMLHelper(registry); } public Message invoke(Message msg) { @@ -127,7 +128,7 @@ public class WireFormatJMSDefaultReferenceInterceptor extends InterceptorAsyncIm msg.setBody(jmsMsg); } else { - Node wrapper = null; + Object wrapper = null; // if we have a fault no need to wrap the response try { if (!jmsMsg.getBooleanProperty(JMSBindingConstants.FAULT_PROPERTY)) { @@ -150,8 +151,7 @@ public class WireFormatJMSDefaultReferenceInterceptor extends InterceptorAsyncIm try { if (jmsMsg.getBooleanProperty(JMSBindingConstants.FAULT_PROPERTY)) { FaultException e = new FaultException("remote exception", response); - Node om = ((Node)response).getFirstChild(); - e.setFaultName(new QName(om.getNamespaceURI(), om.getLocalName())); + xmlhelper.setFaultName(e, response); 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 127680c283..67ee7309e2 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,18 +22,16 @@ package org.apache.tuscany.sca.binding.jms.wireformat.jmsdefault.runtime; import java.util.HashMap; import java.util.List; -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; +import org.apache.tuscany.sca.binding.jms.provider.xml.XMLHelper; +import org.apache.tuscany.sca.binding.jms.provider.xml.XMLHelperFactory; 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,9 +40,6 @@ 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$ @@ -55,9 +50,9 @@ public class WireFormatJMSDefaultReferenceProvider implements WireFormatProvider private ComponentReference reference; private JMSBinding binding; private InterfaceContract interfaceContract; - private DOMHelper domHelper; + private XMLHelper xmlHelper; private HashMap<String, Boolean> inputWrapperMap; - private HashMap<String, Node> outputWrapperMap; + private HashMap<String, Object> outputWrapperMap; public WireFormatJMSDefaultReferenceProvider(ExtensionPointRegistry registry, RuntimeEndpointReference endpointReference) { super(); @@ -65,9 +60,9 @@ public class WireFormatJMSDefaultReferenceProvider implements WireFormatProvider this.endpointReference = endpointReference; this.binding = (JMSBinding) endpointReference.getBinding(); - this.domHelper = DOMHelper.getInstance(registry); + this.xmlHelper = XMLHelperFactory.createXMLHelper(registry); this.inputWrapperMap = new HashMap<String, Boolean>(); - this.outputWrapperMap = new HashMap<String, Node>(); + this.outputWrapperMap = new HashMap<String, Object>(); // configure the reference based on this wire format @@ -101,7 +96,7 @@ public class WireFormatJMSDefaultReferenceProvider implements WireFormatProvider WebServiceBinding wsBinding = wsFactory.createWebServiceBinding(); BindingWSDLGenerator.generateWSDL(endpointReference.getComponent(), reference, wsBinding, registry, null); interfaceContract = wsBinding.getBindingInterfaceContract(); - interfaceContract.getInterface().resetDataBinding(DOMDataBinding.NAME); + interfaceContract.getInterface().resetDataBinding(XMLHelperFactory.createXMLHelper(registry).getDataBindingName()); List<Operation> wsdlOpList = interfaceContract.getInterface().getOperations(); @@ -140,11 +135,7 @@ public class WireFormatJMSDefaultReferenceProvider implements WireFormatProvider // we only need to know what the wrapper is on the deserialization // might need to change this when there input/output wrapper style is different ElementInfo ei = op.getWrapper().getOutputWrapperElement(); - String namespace = ei.getQName().getNamespaceURI(); - String opName = ei.getQName().getLocalPart(); - Document document = domHelper.newDocument(); - Element wrapper = DOMHelper.createElement(document, new QName(namespace, opName)); - this.outputWrapperMap.put(name, wrapper); + this.outputWrapperMap.put(name, xmlHelper.createWrapper(ei.getQName())); } } } else { 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 b66dd0154f..3427155bf0 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 @@ -36,11 +36,8 @@ import org.apache.tuscany.sca.core.ExtensionPointRegistry; import org.apache.tuscany.sca.core.invocation.InterceptorAsyncImpl; import org.apache.tuscany.sca.interfacedef.DataType; import org.apache.tuscany.sca.interfacedef.Operation; -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 @@ -53,10 +50,10 @@ public class WireFormatJMSDefaultServiceInterceptor extends InterceptorAsyncImpl private JMSBinding jmsBinding; private DefaultMessageProcessor requestMessageProcessor; private DefaultMessageProcessor responseMessageProcessor; - private HashMap<String, Node> inputWrapperMap; + private HashMap<String, Object> inputWrapperMap; private HashMap<String, Boolean> outputWrapperMap; - public WireFormatJMSDefaultServiceInterceptor(ExtensionPointRegistry registry, JMSResourceFactory jmsResourceFactory, RuntimeEndpoint endpoint, HashMap<String, Node> inputWrapperMap, + public WireFormatJMSDefaultServiceInterceptor(ExtensionPointRegistry registry, JMSResourceFactory jmsResourceFactory, RuntimeEndpoint endpoint, HashMap<String, Object> inputWrapperMap, HashMap<String, Boolean> outputWrapperMap) { super(); this.jmsBinding = (JMSBinding) endpoint.getBinding(); @@ -115,7 +112,7 @@ public class WireFormatJMSDefaultServiceInterceptor extends InterceptorAsyncImpl } else { // If there is only one arg we must add a wrapper if the operation is wrapper style - Node wrapper = this.inputWrapperMap.get(msg.getOperation().getName()); + Object 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 3541666007..e24be41ebf 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,19 +22,17 @@ package org.apache.tuscany.sca.binding.jms.wireformat.jmsdefault.runtime; import java.util.HashMap; import java.util.List; -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; import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; +import org.apache.tuscany.sca.binding.jms.provider.xml.XMLHelper; +import org.apache.tuscany.sca.binding.jms.provider.xml.XMLHelperFactory; 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,9 +41,6 @@ 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$ @@ -57,8 +52,8 @@ public class WireFormatJMSDefaultServiceProvider implements WireFormatProvider { private JMSBinding binding; private JMSResourceFactory jmsResourceFactory; private InterfaceContract interfaceContract; - private DOMHelper domHelper; - private HashMap<String, Node> inputWrapperMap; + private XMLHelper<?> xmlHelper; + private HashMap<String, Object> inputWrapperMap; private HashMap<String, Boolean> outputWrapperMap; public WireFormatJMSDefaultServiceProvider(ExtensionPointRegistry registry, RuntimeEndpoint endpoint, JMSResourceFactory jmsResourceFactory) { @@ -69,8 +64,8 @@ public class WireFormatJMSDefaultServiceProvider implements WireFormatProvider { this.service = endpoint.getService(); this.jmsResourceFactory = jmsResourceFactory; - this.domHelper = DOMHelper.getInstance(registry); - this.inputWrapperMap = new HashMap<String, Node>(); + this.xmlHelper = XMLHelperFactory.createXMLHelper(registry); + this.inputWrapperMap = new HashMap<String, Object>(); this.outputWrapperMap = new HashMap<String, Boolean>(); // configure the service based on this wire format @@ -98,7 +93,7 @@ public class WireFormatJMSDefaultServiceProvider implements WireFormatProvider { WebServiceBinding wsBinding = wsFactory.createWebServiceBinding(); BindingWSDLGenerator.generateWSDL(endpoint.getComponent(), service, wsBinding, registry, null); interfaceContract = wsBinding.getBindingInterfaceContract(); - interfaceContract.getInterface().resetDataBinding(DOMDataBinding.NAME); + interfaceContract.getInterface().resetDataBinding(XMLHelperFactory.createXMLHelper(registry).getDataBindingName()); List<Operation> wsdlOpList = interfaceContract.getInterface().getOperations(); @@ -125,11 +120,7 @@ public class WireFormatJMSDefaultServiceProvider implements WireFormatProvider { // we only need to know what the wrapper is on the deserialization // might need to change this when the input/output wrapper style is different ElementInfo ei = op.getWrapper().getInputWrapperElement(); - String namespace = ei.getQName().getNamespaceURI(); - String opName = ei.getQName().getLocalPart(); - Document document = domHelper.newDocument(); - Element wrapper = DOMHelper.createElement(document, new QName(namespace, opName)); - this.inputWrapperMap.put(name, wrapper); + this.inputWrapperMap.put(name, xmlHelper.createWrapper(ei.getQName())); } } |