summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/binding-sca-axis2-runtime/src/main
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-06-19 15:54:54 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-06-19 15:54:54 +0000
commitc1feaec0db0ef74488bda2d64513e1b7b2e8ab34 (patch)
treef94952adaaff9cadb223e37336708397e26d6aef /java/sca/modules/binding-sca-axis2-runtime/src/main
parent00c1157e3e8b3202c91b32feb13cd4ba92b5811a (diff)
TUSCANY-3092 - bring up remote version of binding.sca and include it in the build
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@786563 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/binding-sca-axis2-runtime/src/main')
-rw-r--r--java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.java16
-rw-r--r--java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java36
-rw-r--r--java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java40
-rw-r--r--java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceProvider.java82
4 files changed, 56 insertions, 118 deletions
diff --git a/java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.java b/java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.java
index 45331114a5..4e3f6d82e7 100644
--- a/java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.java
+++ b/java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.java
@@ -20,6 +20,8 @@
package org.apache.tuscany.sca.binding.sca.axis2.impl;
import org.apache.tuscany.sca.assembly.DistributedSCABinding;
+import org.apache.tuscany.sca.assembly.Endpoint;
+import org.apache.tuscany.sca.assembly.EndpointReference;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.provider.BindingProviderFactory;
import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
@@ -41,18 +43,12 @@ public class Axis2SCABindingProviderFactory implements BindingProviderFactory<Di
this.extensionPoints = extensionPoints;
}
- public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- DistributedSCABinding binding) {
- return new Axis2SCAReferenceBindingProvider(component, reference, binding,
- extensionPoints);
+ public ReferenceBindingProvider createReferenceBindingProvider(EndpointReference endpointReference) {
+ return new Axis2SCAReferenceBindingProvider(endpointReference, extensionPoints);
}
- public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component,
- RuntimeComponentService service,
- DistributedSCABinding binding) {
- return new Axis2SCAServiceBindingProvider(component, service, binding,
- extensionPoints);
+ public ServiceBindingProvider createServiceBindingProvider(Endpoint endpoint) {
+ return new Axis2SCAServiceBindingProvider(endpoint, extensionPoints);
}
public Class<DistributedSCABinding> getModelType() {
diff --git a/java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java b/java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java
index ef92540e9c..77ec50b097 100644
--- a/java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java
+++ b/java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java
@@ -23,10 +23,10 @@ import java.util.logging.Logger;
import org.apache.axiom.om.OMElement;
import org.apache.tuscany.sca.assembly.DistributedSCABinding;
+import org.apache.tuscany.sca.assembly.EndpointReference;
import org.apache.tuscany.sca.assembly.SCABinding;
import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory;
-import org.apache.tuscany.sca.binding.ws.axis2.Axis2ReferenceBindingProvider;
import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
@@ -34,6 +34,8 @@ import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint;
import org.apache.tuscany.sca.interfacedef.InterfaceContract;
import org.apache.tuscany.sca.interfacedef.Operation;
import org.apache.tuscany.sca.invocation.Invoker;
+import org.apache.tuscany.sca.provider.BindingProviderFactory;
+import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
import org.apache.tuscany.sca.runtime.RuntimeComponent;
import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
@@ -50,20 +52,19 @@ public class Axis2SCAReferenceBindingProvider implements ReferenceBindingProvide
private RuntimeComponent component;
private RuntimeComponentReference reference;
private SCABinding binding;
- private Axis2ReferenceBindingProvider axisReferenceBindingProvider;
+
+ private ReferenceBindingProvider axisReferenceBindingProvider;
private WebServiceBinding wsBinding;
- public Axis2SCAReferenceBindingProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- DistributedSCABinding binding,
+ public Axis2SCAReferenceBindingProvider(EndpointReference endpointReference,
ExtensionPointRegistry extensionPoints) {
FactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
DataBindingExtensionPoint dataBindings = extensionPoints.getExtensionPoint(DataBindingExtensionPoint.class);
- this.component = component;
- this.reference = reference;
- this.binding = binding.getSCABinding();
+ this.component = (RuntimeComponent)endpointReference.getComponent();
+ this.reference = (RuntimeComponentReference)endpointReference.getReference();
+ this.binding = ((DistributedSCABinding)endpointReference.getBinding()).getSCABinding();
// build a ws binding model
wsBinding = modelFactories.getFactory(WebServiceBindingFactory.class).createWebServiceBinding();
@@ -76,12 +77,21 @@ public class Axis2SCAReferenceBindingProvider implements ReferenceBindingProvide
InterfaceContract contract = wsBinding.getBindingInterfaceContract();
contract.getInterface().resetDataBinding(OMElement.class.getName());
+ // create a copy of the endpoint reference but with the web service binding in
+ EndpointReference epr = null;
+ try {
+ epr = (EndpointReference)endpointReference.clone();
+ } catch (Exception ex){
+ // we know we can clone endpoint references
+ }
+ epr.setBinding(wsBinding);
+
// create the real Axis2 reference binding provider
- axisReferenceBindingProvider = new Axis2ReferenceBindingProvider(component,
- reference,
- wsBinding,
- modelFactories,
- dataBindings);
+ ProviderFactoryExtensionPoint providerFactories =
+ extensionPoints.getExtensionPoint(ProviderFactoryExtensionPoint.class);
+ BindingProviderFactory providerFactory =
+ (BindingProviderFactory) providerFactories.getProviderFactory(WebServiceBinding.class);
+ axisReferenceBindingProvider = providerFactory.createReferenceBindingProvider(epr);
}
public InterfaceContract getBindingInterfaceContract() {
diff --git a/java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java b/java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java
index 10387c62cc..27f669b889 100644
--- a/java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java
+++ b/java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java
@@ -23,10 +23,11 @@ import java.util.logging.Logger;
import org.apache.axiom.om.OMElement;
import org.apache.tuscany.sca.assembly.DistributedSCABinding;
+import org.apache.tuscany.sca.assembly.Endpoint;
+import org.apache.tuscany.sca.assembly.EndpointReference;
import org.apache.tuscany.sca.assembly.SCABinding;
import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory;
-import org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvider;
import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
@@ -34,6 +35,8 @@ import org.apache.tuscany.sca.host.http.ServletHost;
import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint;
import org.apache.tuscany.sca.interfacedef.InterfaceContract;
import org.apache.tuscany.sca.invocation.MessageFactory;
+import org.apache.tuscany.sca.provider.BindingProviderFactory;
+import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
import org.apache.tuscany.sca.provider.ServiceBindingProvider;
import org.apache.tuscany.sca.runtime.RuntimeComponent;
import org.apache.tuscany.sca.runtime.RuntimeComponentService;
@@ -48,16 +51,17 @@ public class Axis2SCAServiceBindingProvider implements ServiceBindingProvider {
private static final Logger logger = Logger.getLogger(Axis2SCAServiceBindingProvider.class.getName());
+ private RuntimeComponent component;
+ private RuntimeComponentService service;
private SCABinding binding;
- private Axis2ServiceProvider axisProvider;
+
+ private ServiceBindingProvider axisProvider;
private WebServiceBinding wsBinding;
private boolean started = false;
- public Axis2SCAServiceBindingProvider(RuntimeComponent component,
- RuntimeComponentService service,
- DistributedSCABinding binding,
+ public Axis2SCAServiceBindingProvider(Endpoint endpoint,
ExtensionPointRegistry extensionPoints) {
ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class);
@@ -65,7 +69,9 @@ public class Axis2SCAServiceBindingProvider implements ServiceBindingProvider {
FactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
MessageFactory messageFactory = modelFactories.getFactory(MessageFactory.class);
- this.binding = binding.getSCABinding();
+ this.component = (RuntimeComponent)endpoint.getComponent();
+ this.service = (RuntimeComponentService)endpoint.getService();
+ this.binding = ((DistributedSCABinding)endpoint.getBinding()).getSCABinding();
// create a ws binding model
wsBinding = modelFactories.getFactory(WebServiceBindingFactory.class).createWebServiceBinding();
@@ -79,14 +85,22 @@ public class Axis2SCAServiceBindingProvider implements ServiceBindingProvider {
InterfaceContract contract = wsBinding.getBindingInterfaceContract();
contract.getInterface().resetDataBinding(OMElement.class.getName());
+ // create a copy of the endpoint but with the web service binding in
+ Endpoint ep = null;
+ try {
+ ep = (Endpoint)endpoint.clone();
+ } catch (Exception ex){
+ // we know we can clone endpoint references
+ }
+ ep.setBinding(wsBinding);
+
// create the real Axis2 service provider
- axisProvider = new Axis2SCAServiceProvider(component,
- service,
- this.binding,
- wsBinding,
- servletHost,
- messageFactory,
- modelFactories);
+ ProviderFactoryExtensionPoint providerFactories =
+ extensionPoints.getExtensionPoint(ProviderFactoryExtensionPoint.class);
+ BindingProviderFactory providerFactory =
+ (BindingProviderFactory) providerFactories.getProviderFactory(WebServiceBinding.class);
+ axisProvider = providerFactory.createServiceBindingProvider(ep);
+
}
public InterfaceContract getBindingInterfaceContract() {
diff --git a/java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceProvider.java b/java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceProvider.java
deleted file mode 100644
index 51a175a9e6..0000000000
--- a/java/sca/modules/binding-sca-axis2-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceProvider.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-package org.apache.tuscany.sca.binding.sca.axis2.impl;
-
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.SCABinding;
-import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
-import org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvider;
-import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.invocation.MessageFactory;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * A specialization of the Axis2BindingProvider that just switches in the SCABinding model
- * element when it is required. The SCABinding is required as the service binding provider
- * finds the service wire based on the binding
- *
- * @version $Rev$ $Date$
- */
-public class Axis2SCAServiceProvider extends Axis2ServiceProvider {
-
- private SCABinding binding;
-
- /**
- * Switch in the fake ws binding
- *
- * @param component
- * @param service
- * @param binding
- * @param wsBinding
- * @param servletHost
- * @param messageFactory
- */
- public Axis2SCAServiceProvider(RuntimeComponent component,
- RuntimeComponentService service,
- SCABinding binding,
- WebServiceBinding wsBinding,
- ServletHost servletHost,
- MessageFactory messageFactory,
- FactoryExtensionPoint modelFactories) {
-
- super(component,
- service,
- wsBinding,
- servletHost,
- messageFactory,
- modelFactories);
-
- this.binding = binding;
- }
-
- /**
- * Return the sca binding as wires will be registered against this rather
- * than against the wsBinding that the Axis2SCAServiceProvider is
- * expecting
- *
- * @return the binding
- */
- @Override
- protected Binding getBinding(){
- return binding;
- }
-}