summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java')
-rw-r--r--branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java277
1 files changed, 0 insertions, 277 deletions
diff --git a/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java b/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java
deleted file mode 100644
index fd9061b852..0000000000
--- a/branches/sca-java-1.2/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java
+++ /dev/null
@@ -1,277 +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 java.net.URI;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.SCABinding;
-import org.apache.tuscany.sca.binding.sca.DistributedSCABinding;
-import org.apache.tuscany.sca.binding.ws.DefaultWebServiceBindingFactory;
-import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
-import org.apache.tuscany.sca.binding.ws.axis2.Axis2ReferenceBindingProvider;
-import org.apache.tuscany.sca.core.assembly.EndpointReferenceImpl;
-import org.apache.tuscany.sca.domain.SCADomainEventService;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract;
-import org.apache.tuscany.sca.interfacedef.wsdl.java2wsdl.Java2WSDLHelper;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.MessageFactory;
-import org.apache.tuscany.sca.node.NodeFactory;
-import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.runtime.EndpointReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-
-/**
- * The reference binding provider for the remote sca binding implementation. Relies on the
- * binding-ws-axis implementation for sending messages to remote services to this provider
- * just uses the ws-axis provider.
- *
- * @version $Rev: 563772 $ $Date: 2007-08-08 07:50:49 +0100 (Wed, 08 Aug 2007) $
- */
-public class Axis2SCAReferenceBindingProvider implements ReferenceBindingProvider {
-
- private final static Logger logger = Logger.getLogger(Axis2SCAReferenceBindingProvider.class.getName());
-
- private NodeFactory nodeFactory;
- private RuntimeComponent component;
- private RuntimeComponentReference reference;
- private SCABinding binding;
- private Axis2ReferenceBindingProvider axisReferenceBindingProvider;
- private WebServiceBinding wsBinding;
-
- private EndpointReference serviceEPR = null;
- private EndpointReference callbackEPR = null;
-
- public Axis2SCAReferenceBindingProvider(NodeFactory nodeFactory,
- RuntimeComponent component,
- RuntimeComponentReference reference,
- DistributedSCABinding binding,
- ServletHost servletHost,
- MessageFactory messageFactory,
- Map<ClassLoader, List<PolicyHandlerTuple>> policyHandlerClassnames) {
- this.nodeFactory = nodeFactory;
- this.component = component;
- this.reference = reference;
- this.binding = binding.getSCABinding();
- wsBinding = (new DefaultWebServiceBindingFactory()).createWebServiceBinding();
-
- // Turn the java interface contract into a wsdl interface contract
- InterfaceContract contract = reference.getInterfaceContract();
- if ((contract instanceof JavaInterfaceContract)) {
- contract = Java2WSDLHelper.createWSDLInterfaceContract((JavaInterfaceContract)contract);
- }
-
- // Set to use the Axiom data binding
- contract.getInterface().resetDataBinding(OMElement.class.getName());
-
- wsBinding.setBindingInterfaceContract(contract);
- wsBinding.setName(this.binding.getName());
-
- axisReferenceBindingProvider = new Axis2ReferenceBindingProvider(component,
- reference,
- wsBinding,
- servletHost,
- messageFactory,
- policyHandlerClassnames);
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return wsBinding.getBindingInterfaceContract();
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- public Invoker createInvoker(Operation operation) {
- return new Axis2SCABindingInvoker(this, axisReferenceBindingProvider.createInvoker(operation));
- }
-
- /**
- * Uses the distributed domain service discovery feature to locate remote
- * service endpoints
- *
- * @return An EPR for the target service that this reference refers to
- */
- public EndpointReference getServiceEndpoint(){
-
- String endpointURL = null;
-
- if (binding.getURI() != null) {
- // check if the binding URI is already resolved if it is use is if not
- try {
- URI uri = new URI(binding.getURI());
- if (uri.isAbsolute()) {
- endpointURL = binding.getURI();
- }
- } catch(Exception ex) {
- // do nothing
- }
-
- if ( endpointURL == null) {
- SCADomainEventService domainProxy = (SCADomainEventService)nodeFactory.getNode().getDomain();
-
- try {
- endpointURL = domainProxy.findServiceEndpoint(nodeFactory.getNode().getDomain().getURI(),
- binding.getURI(),
- binding.getClass().getName());
- } catch (Exception ex) {
- logger.log(Level.WARNING,
- "Unable to find service service: " +
- nodeFactory.getNode().getDomain().getURI() + " " +
- nodeFactory.getNode().getURI() + " " +
- binding.getURI() + " " +
- binding.getClass().getName());
- }
-
- if (endpointURL.equals(domainProxy.SERVICE_NOT_REGISTERED)){
- throw new IllegalStateException("Can't resolve reference as no SCA binding URI is available while trying to find target service. Component: "+
- component.getName() +
- " and reference: " +
- reference.getName() );
- }
- }
- }
-
- binding.setURI(endpointURL);
-
- serviceEPR = new EndpointReferenceImpl(binding.getURI());
-
-
-/*
- if ( serviceEPR == null && nodeFactory.getNode() != null ){
- // try to resolve the service endpoint with the registry
- SCADomainEventService domainProxy = (SCADomainEventService)nodeFactory.getNode().getDomain();
-
- if (domainProxy != null){
-
- // The binding URI might be null in the case where this reference is completely
- // dynamic, for example, in the case of callbacks
- String bindingURIString = binding.getURI();
- if (bindingURIString != null) {
- String serviceURL = null;
- URI bindingURI = null;
-
- // first time through here assume that the binding URI is correct
- try {
- bindingURI = new URI(bindingURIString);
- if (bindingURI.isAbsolute()){
- serviceURL = bindingURIString;
- }
- } catch(Exception ex) {
-
- }
-
- if ( serviceURL == null) {
- try {
- serviceURL = domainProxy.findServiceEndpoint(nodeFactory.getNode().getDomain().getURI(),
- bindingURI.getPath(),
- binding.getClass().getName());
- } catch (Exception ex) {
- logger.log(Level.WARNING,
- "Unable to find service service: " +
- nodeFactory.getNode().getDomain().getURI() + " " +
- nodeFactory.getNode().getURI() + " " +
- binding.getURI() + " " +
- binding.getClass().getName());
- }
- }
-
- if ( (serviceURL != null ) &&
- (!serviceURL.equals(""))){
- serviceEPR = new EndpointReferenceImpl(serviceURL);
- }
- }
- } else {
- throw new IllegalStateException("No domain service available while trying to find component: "+
- component.getName() +
- " and service: " +
- reference.getName());
- }
- }
-*/
-
- return serviceEPR;
- }
-
- /**
- * Go back to the distributed domain to go and get the service endpoint
- *
- * @return An EPR for the target service that this reference refers to
- */
- public EndpointReference refreshServiceEndpoint(){
- serviceEPR= null;
- return getServiceEndpoint();
- }
-
- /**
- * Retrieves the uri of the callback service (that this reference has created)
- * returns null if there is no callback service for the sca binding
- *
- * @return the callback endpoint
- */
- public EndpointReference getCallbackEndpoint(){
- if (callbackEPR == null) {
- if (reference.getCallbackService() != null) {
- for (Binding callbackBinding : reference.getCallbackService().getBindings()) {
- if (callbackBinding instanceof SCABinding) {
- callbackEPR = new EndpointReferenceImpl(reference.getName() + "/" + callbackBinding.getName());
- continue;
- }
- }
- }
- }
- return callbackEPR;
- }
-
-
- public SCABinding getSCABinding () {
- return binding;
- }
-
- public RuntimeComponent getComponent () {
- return component;
- }
-
- public RuntimeComponentReference getComponentReference () {
- return reference;
- }
-
- public void start() {
- // Try and resolve the service endpoint just in case it is available now
- // getServiceEndpoint();
- axisReferenceBindingProvider.start();
- }
-
- public void stop() {
- axisReferenceBindingProvider.stop();
- }
-
-}