summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABinding.java32
-rw-r--r--sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingFactory.java33
-rw-r--r--sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingFactoryImpl.java35
-rw-r--r--sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingImpl.java116
-rw-r--r--sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingInvocationInterceptor.java108
-rw-r--r--sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingInvoker.java167
-rw-r--r--sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingProviderFactory.java56
-rw-r--r--sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAReferenceBindingProvider.java146
-rw-r--r--sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java74
9 files changed, 0 insertions, 767 deletions
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABinding.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABinding.java
deleted file mode 100644
index 701c148218..0000000000
--- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABinding.java
+++ /dev/null
@@ -1,32 +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.local;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.sca.assembly.Base;
-import org.apache.tuscany.sca.assembly.Binding;
-
-/**
- * Represents a Local SCA Binding
- */
-public interface LocalSCABinding extends Binding {
- QName TYPE = new QName(Base.SCA11_TUSCANY_NS, "binding.local");
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingFactory.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingFactory.java
deleted file mode 100644
index 14717d8f70..0000000000
--- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingFactory.java
+++ /dev/null
@@ -1,33 +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.local;
-
-/**
- * Factory for the Local SCA Service binding model.
- */
-public interface LocalSCABindingFactory {
- /**
- * Create a new Local binding.
- *
- * @return a new Local binding
- */
- LocalSCABinding createLocalBinding();
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingFactoryImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingFactoryImpl.java
deleted file mode 100644
index abf2efd876..0000000000
--- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingFactoryImpl.java
+++ /dev/null
@@ -1,35 +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.local;
-
-/**
- * A factory for the Local SCA binding model.
- */
-public class LocalSCABindingFactoryImpl implements LocalSCABindingFactory {
- public LocalSCABindingFactoryImpl() {
-
- }
-
- @Override
- public LocalSCABinding createLocalBinding() {
- return new LocalSCABindingImpl();
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingImpl.java
deleted file mode 100644
index 9ed9ccd1a9..0000000000
--- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingImpl.java
+++ /dev/null
@@ -1,116 +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.local;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.sca.assembly.OperationSelector;
-import org.apache.tuscany.sca.assembly.WireFormat;
-
-/**
- * Represents a Local SCA Binding
- */
-public class LocalSCABindingImpl implements LocalSCABinding {
- private String name;
- private String uri;
- private WireFormat wireFormat;
-
- /**
- * Constructs a new Local binding.
- */
- public LocalSCABindingImpl() {
- }
-
- @Override
- public QName getType() {
- return TYPE;
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(String name) {
- this.name = name;
- }
-
- /**
- * Getters for the binding URI. The computed URI for the
- * service that the reference is targeting or which the service represents
- * depending on whether the biding is associated with a reference or
- * service
- *
- * @return the binding URI
- */
- @Override
- public String getURI() {
- return uri;
- }
-
- @Override
- public void setURI(String uri) {
- this.uri = uri;
- }
-
- @Override
- public boolean isUnresolved() {
- return false;
- }
-
- @Override
- public void setUnresolved(boolean unresolved) {
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException {
- return super.clone();
- }
-
- @Override
- public WireFormat getRequestWireFormat() {
- return wireFormat;
- }
-
- @Override
- public void setRequestWireFormat(WireFormat wireFormat) {
- this.wireFormat = wireFormat;
- }
-
- @Override
- public WireFormat getResponseWireFormat() {
- return wireFormat;
- }
-
- @Override
- public void setResponseWireFormat(WireFormat wireFormat) {
- this.wireFormat = wireFormat;
- }
-
- @Override
- public OperationSelector getOperationSelector() {
- return null;
- }
-
- @Override
- public void setOperationSelector(OperationSelector operationSelector) {
- }
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingInvocationInterceptor.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingInvocationInterceptor.java
deleted file mode 100644
index 36ac93a5be..0000000000
--- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingInvocationInterceptor.java
+++ /dev/null
@@ -1,108 +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.local;
-
-import java.util.logging.Logger;
-
-import org.apache.tuscany.sca.core.invocation.AsyncResponseInvoker;
-import org.apache.tuscany.sca.core.invocation.InterceptorAsyncImpl;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.InvokerAsyncResponse;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
-
-/**
- * Interceptor used by the SCA Binding on the service side chain to provide a mechanism for optimising
- * invocations when the reference and the service involved are both in the same JVM, and thus the need
- * to use a transport of any kind is unnecessary.
- *
- */
-public class LocalSCABindingInvocationInterceptor extends InterceptorAsyncImpl {
- private static final Logger logger = Logger.getLogger(LocalSCABindingInvocationInterceptor.class.getName());
-
- private Invoker next;
-
- private boolean skipPrevious;
-
- public LocalSCABindingInvocationInterceptor() {
- super();
- } // end constructor
-
- public Message invoke(Message msg) {
- return next.invoke(msg);
- } // end method invoke
-
- public Invoker getNext() {
- return next;
- } // end method getNext
-
- public void setNext(Invoker next) {
- this.next = next;
- } // end method setNext
-
- /**
- * Process request method is simply a passthrough
- */
- public Message processRequest(Message msg) {
- return msg ;
- } // end method processRequest
-
-
- /**
- * Handle an async response
- * - deals with the local SCA binding case only (at present)
- * - in this case, extract the async response invoker from the message header and call the EPR
- * that is present in the invoker, which is in fact the local EPR from which the original forward
- * request came
- */
- public void invokeAsyncResponse(Message msg) {
- @SuppressWarnings("unchecked")
- AsyncResponseInvoker<?> respInvoker =
- (AsyncResponseInvoker<?>)msg.getHeaders().get("ASYNC_RESPONSE_INVOKER");
- if( respInvoker != null && "SCA_LOCAL".equals(respInvoker.getBindingType()) ) {
- // Handle the locally optimised case
- RuntimeEndpointReference responseEPR = (RuntimeEndpointReference)respInvoker.getResponseTargetAddress();
- msg.setFrom(responseEPR);
- // Handle async response Relates_To message ID value
- String msgID = respInvoker.getRelatesToMsgID();
- msg.getHeaders().put("RELATES_TO", msgID);
-
- // Call the processing on the reference chain directly
- responseEPR.invokeAsyncResponse(msg);
-
- // Prevent the response being processed by the rest of the service chain
- return;
- } else {
- // Carry on processing the response by the rest of the service chain
- InvokerAsyncResponse thePrevious = (InvokerAsyncResponse)getPrevious();
- if (thePrevious != null ) thePrevious.invokeAsyncResponse(msg);
- return;
- } // end if
-
- } // end method invokeAsyncResponse
-
- /**
- * processResponse is not called during async response handling (all handled by invokeAsyncResponse)
- * - this version is a dummy which does nothing.
- */
- public Message processResponse(Message msg) {
- return msg;
- } // end method processResponse
-
-} // end class
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingInvoker.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingInvoker.java
deleted file mode 100644
index a2eb53d5bb..0000000000
--- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingInvoker.java
+++ /dev/null
@@ -1,167 +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.local;
-
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.core.invocation.AsyncResponseInvoker;
-import org.apache.tuscany.sca.core.invocation.InterceptorAsyncImpl;
-import org.apache.tuscany.sca.databinding.Mediator;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.InvocationChain;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.InvokerAsyncRequest;
-import org.apache.tuscany.sca.invocation.InvokerAsyncResponse;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.invocation.MessageFactory;
-import org.apache.tuscany.sca.invocation.Phase;
-import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
-import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
-
-
-/**
- * @version $Rev: 1057653 $ $Date: 2011-01-11 09:18:49 -0500 (Tue, 11 Jan 2011) $
- */
-public class LocalSCABindingInvoker extends InterceptorAsyncImpl {
- private InvocationChain chain;
- private Mediator mediator;
- private Operation sourceOperation;
- private Operation targetOperation;
- private boolean passByValue;
- private RuntimeEndpointReference epr;
- private RuntimeEndpoint ep;
- private ExtensionPointRegistry registry;
-
- /**
- * Construct a SCABindingInvoker that delegates to the service invocation chain
- */
- public LocalSCABindingInvoker(InvocationChain chain, Operation sourceOperation, Mediator mediator,
- boolean passByValue, RuntimeEndpointReference epr, ExtensionPointRegistry registry) {
- super();
- this.chain = chain;
- this.mediator = mediator;
- this.sourceOperation = sourceOperation;
- this.targetOperation = chain.getTargetOperation();
- this.passByValue = passByValue;
- this.epr = epr;
- this.ep = (RuntimeEndpoint)epr.getTargetEndpoint();
- this.registry = registry;
- }
-
- /**
- * @see org.apache.tuscany.sca.invocation.Interceptor#getNext()
- */
- public Invoker getNext() {
- return chain.getHeadInvoker(Phase.SERVICE_POLICY);
- }
-
- /**
- * @see org.apache.tuscany.sca.invocation.Interceptor#setNext(org.apache.tuscany.sca.invocation.Invoker)
- */
- public void setNext(Invoker next) {
- // NOOP
- }
-
- public Message processRequest(Message msg){
- if (passByValue) {
- msg.setBody(mediator.copyInput(msg.getBody(), sourceOperation, targetOperation));
- } // end if
-
- ep.getInvocationChains();
- if ( !ep.getCallbackEndpointReferences().isEmpty() ) {
- RuntimeEndpointReference asyncEPR = (RuntimeEndpointReference) ep.getCallbackEndpointReferences().get(0);
- // Place a link to the callback EPR into the message headers...
- msg.getHeaders().put("ASYNC_CALLBACK", asyncEPR );
- } // end if
-
- if( ep.isAsyncInvocation() ) {
- // Get the message ID
- String msgID = (String)msg.getHeaders().get("MESSAGE_ID");
-
- String operationName = msg.getOperation().getName();
-
- // Create a response invoker and add it to the message headers
- AsyncResponseInvoker<RuntimeEndpointReference> respInvoker =
- new AsyncResponseInvoker<RuntimeEndpointReference>(ep, null, epr, msgID, operationName, getMessageFactory());
- respInvoker.setBindingType("SCA_LOCAL");
- msg.getHeaders().put("ASYNC_RESPONSE_INVOKER", respInvoker);
- } // end if
-
- return msg;
- } // end method processRequest
-
- /**
- * Regular (sync) processing of response message
- */
- public Message processResponse(Message msg){
- if (passByValue) {
- // Note source and target operation swapped so result is in source class loader
- if (msg.isFault()) {
- msg.setFaultBody(mediator.copyFault(msg.getBody(), sourceOperation, targetOperation));
- } else {
- if (sourceOperation.getOutputType() != null) {
- msg.setBody(mediator.copyOutput(msg.getBody(), sourceOperation, targetOperation));
- } // end if
- } // end if
- } // end if
-
- return msg;
- } // end method processResponse
-
- public void invokeAsyncRequest(Message msg) throws Throwable {
- try{
- msg = processRequest(msg);
- InvokerAsyncRequest theNext = (InvokerAsyncRequest)getNext();
- if( theNext != null ) theNext.invokeAsyncRequest(msg);
- postProcessRequest(msg);
- } catch (Throwable e) {
- postProcessRequest(msg, e);
- } // end try
- } // end method invokeAsyncRequest
-
- public void invokeAsyncResponse(Message msg) {
- msg = processResponse(msg);
-
- // Handle async response Relates_To message ID value
- @SuppressWarnings("unchecked")
- AsyncResponseInvoker<RuntimeEndpointReference> respInvoker =
- (AsyncResponseInvoker<RuntimeEndpointReference>)msg.getHeaders().get("ASYNC_RESPONSE_INVOKER");
- // TODO - this deals with the Local case only - not distributed
- if( respInvoker != null && "SCA_LOCAL".equals(respInvoker.getBindingType()) ) {
- RuntimeEndpointReference responseEPR = respInvoker.getResponseTargetAddress();
- msg.setFrom(responseEPR);
- String msgID = respInvoker.getRelatesToMsgID();
- msg.getHeaders().put("RELATES_TO", msgID);
- } // end if
-
- InvokerAsyncResponse thePrevious = (InvokerAsyncResponse)getPrevious();
- if (thePrevious != null ) thePrevious.invokeAsyncResponse(msg);
- } // end method invokeAsyncResponse
-
- public boolean isLocalSCABIndingInvoker() {
- return true;
- }
-
- private MessageFactory getMessageFactory() {
- FactoryExtensionPoint modelFactories = registry.getExtensionPoint(FactoryExtensionPoint.class);
- return modelFactories.getFactory(MessageFactory.class);
- } // end method getMessageFactory
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingProviderFactory.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingProviderFactory.java
deleted file mode 100644
index 4ba66fb47a..0000000000
--- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCABindingProviderFactory.java
+++ /dev/null
@@ -1,56 +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.local;
-
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.UtilityExtensionPoint;
-import org.apache.tuscany.sca.provider.BindingProviderFactory;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.provider.SCABindingMapper;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
-import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
-
-public class LocalSCABindingProviderFactory implements BindingProviderFactory<LocalSCABinding> {
- private ExtensionPointRegistry extensionPoints;
- private SCABindingMapper scaBindingMapper;
-
- public LocalSCABindingProviderFactory(ExtensionPointRegistry extensionPoints) {
- this.extensionPoints = extensionPoints;
- UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
- this.scaBindingMapper = utilities.getUtility(SCABindingMapper.class);
- }
-
- @Override
- public ReferenceBindingProvider createReferenceBindingProvider(RuntimeEndpointReference endpointReference) {
- return new LocalSCAReferenceBindingProvider(extensionPoints, endpointReference, scaBindingMapper);
- }
-
- @Override
- public ServiceBindingProvider createServiceBindingProvider(RuntimeEndpoint endpoint) {
- return new LocalSCAServiceBindingProvider(endpoint, scaBindingMapper);
- }
-
- @Override
- public Class<LocalSCABinding> getModelType() {
- return LocalSCABinding.class;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAReferenceBindingProvider.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAReferenceBindingProvider.java
deleted file mode 100644
index 199ab0a103..0000000000
--- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAReferenceBindingProvider.java
+++ /dev/null
@@ -1,146 +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.local;
-
-import org.apache.tuscany.sca.assembly.Endpoint;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.binding.local.LocalSCABindingInvoker;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.UtilityExtensionPoint;
-import org.apache.tuscany.sca.databinding.Mediator;
-import org.apache.tuscany.sca.interfacedef.Compatibility;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.InvocationChain;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.provider.EndpointReferenceAsyncProvider;
-import org.apache.tuscany.sca.provider.SCABindingMapper;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
-import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
-import org.oasisopen.sca.ServiceUnavailableException;
-
-public class LocalSCAReferenceBindingProvider implements EndpointReferenceAsyncProvider {
- private RuntimeEndpointReference endpointReference;
-
- private InterfaceContractMapper interfaceContractMapper;
- private ExtensionPointRegistry extensionPoints;
- private Mediator mediator;
-
- public LocalSCAReferenceBindingProvider(ExtensionPointRegistry extensionPoints, RuntimeEndpointReference endpointReference, SCABindingMapper mapper) {
- this.extensionPoints = extensionPoints;
- UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
- this.interfaceContractMapper = utilities.getUtility(InterfaceContractMapper.class);
- this.mediator = utilities.getUtility(Mediator.class);
-
- this.endpointReference = endpointReference;
- }
-
- @Override
- public InterfaceContract getBindingInterfaceContract() {
- RuntimeEndpoint endpoint = (RuntimeEndpoint) endpointReference.getTargetEndpoint();
- if (endpoint != null) {
- return endpoint.getComponentTypeServiceInterfaceContract();
- } else {
- return endpointReference.getComponentTypeReferenceInterfaceContract();
- }
- }
-
- @Override
- public Invoker createInvoker(Operation operation) {
- Invoker result = null;
-
- Endpoint target = endpointReference.getTargetEndpoint();
- if (target != null) {
- RuntimeComponentService service = (RuntimeComponentService) target.getService();
- if (service != null) { // not a callback wire
- InvocationChain chain = ((RuntimeEndpoint) target).getInvocationChain(operation);
-
- boolean passByValue = false;
- Operation targetOp = chain.getTargetOperation();
- if (!operation.getInterface().isRemotable()) {
- if (interfaceContractMapper.isCompatibleByReference(operation, targetOp, Compatibility.SUBSET)) {
- passByValue = false;
- }
- } else {
- Reference ref = endpointReference.getReference().getReference();
- // The spec says both ref and service needs to
- // allowsPassByReference
- boolean allowsPBR = (endpointReference.getReference().isAllowsPassByReference() || (ref != null && ref.isAllowsPassByReference())) && chain.allowsPassByReference();
-
- if (allowsPBR && interfaceContractMapper.isCompatibleByReference(operation, targetOp, Compatibility.SUBSET)) {
- passByValue = false;
- } else if (interfaceContractMapper.isCompatibleWithoutUnwrapByValue(operation, targetOp, Compatibility.SUBSET)) {
- passByValue = true;
- }
- }
- // it turns out that the chain source and target operations are
- // the same, and are the operation
- // from the target, not sure if thats by design or a bug. The
- // SCA binding invoker needs to know
- // the source and target class loaders so pass in the real
- // source operation in the constructor
- result = chain == null ? null : new LocalSCABindingInvoker(chain, operation, mediator, passByValue, endpointReference, extensionPoints);
- }
- }
-
- if (result == null) {
- throw new ServiceUnavailableException("Unable to create SCA binding invoker for local target " + endpointReference.getComponent().getName() + " reference "
- + endpointReference.getReference().getName() + " (bindingURI=" + endpointReference.getBinding().getURI() + " operation=" + operation.getName() + ")");
- }
-
- return result;
- }
-
- @Override
- public boolean supportsOneWayInvocation() {
- // Default for Local invocation
- return false;
- }
-
- @Override
- public boolean supportsNativeAsync() {
- return true;
- }
-
- @Override
- public void configure() {
- // Nothing required for Local invocation
- }
-
- @Override
- public void start() {
- // Nothing required for Local invocation
- }
-
- @Override
- public void stop() {
- // Nothing required for Local invocation
- }
-
- /**
- * Allows us to replace the delegate EPR with the real EPR so that the local binding
- * optimization operates against the correct invocation chains.
- */
- public void setEndpointReference(RuntimeEndpointReference endpointReference){
- this.endpointReference = endpointReference;
- }
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java
deleted file mode 100644
index 3bcc25e5cb..0000000000
--- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalSCAServiceBindingProvider.java
+++ /dev/null
@@ -1,74 +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.local;
-
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.invocation.InvokerAsyncResponse;
-import org.apache.tuscany.sca.provider.EndpointAsyncProvider;
-import org.apache.tuscany.sca.provider.SCABindingMapper;
-import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
-
-/*
- * This service side binding provide doesn't actually serve much purpose as the
- * local optimization skips over it.
- */
-public class LocalSCAServiceBindingProvider implements EndpointAsyncProvider {
- private RuntimeEndpoint endpoint;
-
- public LocalSCAServiceBindingProvider(RuntimeEndpoint endpoint, SCABindingMapper scaBindingMapper) {
- this.endpoint = endpoint;
- }
-
- @Override
- public InterfaceContract getBindingInterfaceContract() {
- return endpoint.getComponentTypeServiceInterfaceContract();
- }
-
- @Override
- public InvokerAsyncResponse createAsyncResponseInvoker() {
- return null;
- }
-
- @Override
- public boolean supportsOneWayInvocation() {
- // Default for Local invocation
- return false;
- }
-
- @Override
- public boolean supportsNativeAsync() {
- return true;
- }
-
- @Override
- public void stop() {
- // Nothing required for local invocation
- }
-
- @Override
- public void start() {
- // Nothing required for local invocation
- }
-
- @Override
- public void configure() {
- // Nothing required for local invocation
- }
-}