Author: antelder
Date: Wed Nov 24 12:09:26 2010
New Revision: 1038579
URL: http://svn.apache.org/viewvc?rev=1038579&view=rev
Log:
Add a binding.local which is the parts of the current sca binding for doing
local only invocations. This is part of a peice of work to restructure the sca
binding into separately configurable and pluggable pieces in order to give more
flexibility in sca binding invocations
Added:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/
- copied from r1038531,
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBinding.java
(with props)
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingInvoker.java
- copied, changed from r1038531,
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/SCABindingInvoker.java
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingProviderFactory.java
- copied, changed from r1038531,
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCABindingProviderFactory.java
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalReferenceBindingProvider.java
- copied, changed from r1038531,
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalServiceBindingProvider.java
- copied, changed from r1038531,
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/local/
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/local/LocalBindingTestCase.java
- copied, changed from r1038531,
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/SCABindingTestCase.java
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/local/ReadTestCase.java
- copied, changed from r1038531,
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/ReadTestCase.java
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/local/WriteTestCase.java
- copied, changed from r1038531,
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/WriteTestCase.java
Removed:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.sca.provider.SCABindingMapper
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.xml.Definitions
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/resources/org/apache/tuscany/sca/binding/sca/
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/SCABindingTestCase.java
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/pom.xml
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/resources/Calculator.composite
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/resources/CalculatorServiceImpl.componentType
Modified: tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/pom.xml
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/pom.xml?rev=1038579&r1=1038531&r2=1038579&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/pom.xml (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/pom.xml Wed Nov 24
12:09:26 2010
@@ -27,46 +27,24 @@
<relativePath>../pom.xml</relativePath>
</parent>
- <artifactId>tuscany-binding-sca-runtime</artifactId>
- <name>Apache Tuscany SCA Binding SCA Model</name>
+ <artifactId>tuscany-binding-local-runtime</artifactId>
+ <name>Apache Tuscany SCA Binding Local Runtime</name>
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>2.0-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>2.0-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>2.0-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-core</artifactId>
<version>2.0-SNAPSHOT</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-databinding</artifactId>
<version>2.0-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution</artifactId>
- <version>2.0-SNAPSHOT</version>
- </dependency>
+ <scope>provided</scope>
+ </dependency>
+
</dependencies>
-
</project>
Added:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBinding.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBinding.java?rev=1038579&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBinding.java
(added)
+++
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBinding.java
Wed Nov 24 12:09:26 2010
@@ -0,0 +1,33 @@
+/*
+ * 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.impl.BindingImpl;
+
+public class LocalBinding extends BindingImpl {
+
+ public static final QName TYPE = new QName(SCA11_TUSCANY_NS,
"binding.local");
+
+ public LocalBinding() {
+ super(TYPE);
+ }
+}
Propchange:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBinding.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBinding.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingInvoker.java
(from r1038531,
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/SCABindingInvoker.java)
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingInvoker.java?p2=tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingInvoker.java&p1=tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/SCABindingInvoker.java&r1=1038531&r2=1038579&rev=1038579&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/SCABindingInvoker.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingInvoker.java
Wed Nov 24 12:09:26 2010
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.tuscany.sca.binding.sca.provider;
+package org.apache.tuscany.sca.binding.local;
import org.apache.tuscany.sca.databinding.Mediator;
import org.apache.tuscany.sca.interfacedef.Operation;
@@ -30,28 +30,26 @@ import org.apache.tuscany.sca.runtime.Ru
import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
/**
- * @version $Rev$ $Date$
+ * The Local binding invoker
*/
-public class SCABindingInvoker implements Interceptor {
+public class LocalBindingInvoker implements Interceptor {
private InvocationChain chain;
private Mediator mediator;
private Operation sourceOperation;
private Operation targetOperation;
private boolean passByValue;
- private RuntimeEndpointReference epr;
private RuntimeEndpoint ep;
/**
* Construct a SCABindingInvoker that delegates to the service invocaiton
chain
*/
- public SCABindingInvoker(InvocationChain chain, Operation sourceOperation,
Mediator mediator, boolean passByValue, RuntimeEndpointReference epr) {
+ public LocalBindingInvoker(InvocationChain chain, Operation
sourceOperation, Mediator mediator, boolean passByValue,
RuntimeEndpointReference epr) {
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();
}
Copied:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingProviderFactory.java
(from r1038531,
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCABindingProviderFactory.java)
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingProviderFactory.java?p2=tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingProviderFactory.java&p1=tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCABindingProviderFactory.java&r1=1038531&r2=1038579&rev=1038579&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCABindingProviderFactory.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingProviderFactory.java
Wed Nov 24 12:09:26 2010
@@ -17,9 +17,8 @@
* under the License.
*/
-package org.apache.tuscany.sca.binding.sca.provider;
+package org.apache.tuscany.sca.binding.local;
-import org.apache.tuscany.sca.assembly.SCABinding;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.provider.BindingProviderFactory;
import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
@@ -28,29 +27,25 @@ import org.apache.tuscany.sca.runtime.Ru
import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
/**
- * The factory for creating SCA Binding providers
- *
- * @version $Rev$ $Date$
+ * The factory for creating Local Binding providers
*/
-public class RuntimeSCABindingProviderFactory implements
BindingProviderFactory<SCABinding> {
+public class LocalBindingProviderFactory implements
BindingProviderFactory<LocalBinding> {
private ExtensionPointRegistry extensionPoints;
- public RuntimeSCABindingProviderFactory(ExtensionPointRegistry
extensionPoints) {
+ public LocalBindingProviderFactory(ExtensionPointRegistry extensionPoints)
{
this.extensionPoints = extensionPoints;
-
}
public ReferenceBindingProvider
createReferenceBindingProvider(RuntimeEndpointReference endpointReference) {
-
- return new RuntimeSCAReferenceBindingProvider(extensionPoints,
endpointReference);
+ return new LocalReferenceBindingProvider(extensionPoints,
endpointReference);
}
public ServiceBindingProvider createServiceBindingProvider(RuntimeEndpoint
endpoint) {
- return new RuntimeSCAServiceBindingProvider(extensionPoints, endpoint);
+ return new LocalServiceBindingProvider(extensionPoints, endpoint);
}
- public Class<SCABinding> getModelType() {
- return SCABinding.class;
+ public Class<LocalBinding> getModelType() {
+ return LocalBinding.class;
}
}
Copied:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalReferenceBindingProvider.java
(from r1038531,
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java)
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalReferenceBindingProvider.java?p2=tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalReferenceBindingProvider.java&p1=tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java&r1=1038531&r2=1038579&rev=1038579&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalReferenceBindingProvider.java
Wed Nov 24 12:09:26 2010
@@ -17,10 +17,9 @@
* under the License.
*/
-package org.apache.tuscany.sca.binding.sca.provider;
+package org.apache.tuscany.sca.binding.local;
import org.apache.tuscany.sca.assembly.Endpoint;
-import org.apache.tuscany.sca.assembly.SCABinding;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.UtilityExtensionPoint;
import org.apache.tuscany.sca.databinding.Mediator;
@@ -31,100 +30,49 @@ import org.apache.tuscany.sca.interfaced
import org.apache.tuscany.sca.invocation.InvocationChain;
import org.apache.tuscany.sca.invocation.Invoker;
import org.apache.tuscany.sca.provider.EndpointReferenceProvider;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
import org.apache.tuscany.sca.runtime.RuntimeComponent;
import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
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.ServiceRuntimeException;
import org.oasisopen.sca.ServiceUnavailableException;
/**
- * The sca reference binding provider mediates between the twin requirements of
- * local sca bindings and remote sca bindings. In the local case is does
- * very little. When the sca binding model is set as being remote (because a
- * reference target can't be resolved in the current model) this binding will
- * try and create a remote connection to it
- *
- * @version $Rev$ $Date$
+ * The Local binding reference binding provider
*/
-public class RuntimeSCAReferenceBindingProvider implements
EndpointReferenceProvider {
+public class LocalReferenceBindingProvider implements
EndpointReferenceProvider {
private RuntimeEndpointReference endpointReference;
private RuntimeComponent component;
private RuntimeComponentReference reference;
- private SCABinding binding;
- private boolean remotable;
- private boolean started = false;
+ private LocalBinding binding;
- private ReferenceBindingProvider distributedProvider;
private Mediator mediator;
private InterfaceContractMapper interfaceContractMapper;
- private SCABindingMapper scaBindingMapper;
- public RuntimeSCAReferenceBindingProvider(ExtensionPointRegistry
extensionPoints,
- RuntimeEndpointReference
endpointReference) {
+ public LocalReferenceBindingProvider(ExtensionPointRegistry
extensionPoints, RuntimeEndpointReference endpointReference) {
this.endpointReference = endpointReference;
this.component = (RuntimeComponent)endpointReference.getComponent();
this.reference =
(RuntimeComponentReference)endpointReference.getReference();
- this.binding = (SCABinding)endpointReference.getBinding();
+ this.binding = (LocalBinding)endpointReference.getBinding();
UtilityExtensionPoint utilities =
extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
this.mediator = utilities.getUtility(Mediator.class);
this.interfaceContractMapper =
utilities.getUtility(InterfaceContractMapper.class);
- this.scaBindingMapper = utilities.getUtility(SCABindingMapper.class);
- remotable = isTargetRemote();
- getDistributedProvider();
- }
-
- private boolean isTargetRemote() {
- return endpointReference.getTargetEndpoint().isRemote();
- }
-
- private ReferenceBindingProvider getDistributedProvider() {
-
- if (remotable) {
- // initialize the remote provider if it hasn't been done already
- if (distributedProvider == null) {
- if (reference.getInterfaceContract() != null &&
!reference.getInterfaceContract().getInterface()
- .isRemotable()) {
- throw new ServiceRuntimeException("Reference interface not
remotable for component: " + component
- .getName()
- + " and reference: "
- + reference.getName());
- }
-
- if (scaBindingMapper.isRemotable()) {
- distributedProvider =
- new
DelegatingSCAReferenceBindingProvider(endpointReference, scaBindingMapper);
- }
- }
- }
-
- return distributedProvider;
}
public InterfaceContract getBindingInterfaceContract() {
- if (remotable && distributedProvider != null) {
- return distributedProvider.getBindingInterfaceContract();
+ // Check if there is a target
+ RuntimeEndpoint endpoint =
(RuntimeEndpoint)endpointReference.getTargetEndpoint();
+ if (endpoint != null) {
+ return endpoint.getComponentTypeServiceInterfaceContract();
} else {
- // Check if there is a target
- RuntimeEndpoint endpoint =
(RuntimeEndpoint)endpointReference.getTargetEndpoint();
- if (endpoint != null) {
- return endpoint.getComponentTypeServiceInterfaceContract();
- } else {
- return
endpointReference.getComponentTypeReferenceInterfaceContract();
- }
+ return
endpointReference.getComponentTypeReferenceInterfaceContract();
}
}
public boolean supportsOneWayInvocation() {
- if (remotable && distributedProvider != null) {
- return distributedProvider.supportsOneWayInvocation();
- } else {
- return false;
- }
+ return false;
}
private Invoker getInvoker(RuntimeEndpointReference epr, Operation
operation) {
@@ -141,7 +89,6 @@ public class RuntimeSCAReferenceBindingP
passByValue = false;
}
} else {
-// boolean allowsPBR = chain.allowsPassByReference(); TODO:
TUSCANY-3479 this breaks the conformance tests as it needs to consider _both_
ends
boolean allowsPBR = false;
if (allowsPBR &&
interfaceContractMapper.isCompatibleByReference(operation,
targetOp,
@@ -154,62 +101,35 @@ public class RuntimeSCAReferenceBindingP
// 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
- return chain == null ? null : new SCABindingInvoker(chain,
operation, mediator, passByValue, epr);
+ return chain == null ? null : new LocalBindingInvoker(chain,
operation, mediator, passByValue, epr);
}
}
return null;
}
public Invoker createInvoker(Operation operation) {
- if (remotable && distributedProvider != null) {
- return distributedProvider.createInvoker(operation);
- } else {
- Invoker invoker = getInvoker(endpointReference, operation);
- if (invoker == null) {
- throw new ServiceUnavailableException(
- "Unable to create SCA
binding invoker for local target " + component
- .getName()
- + " reference "
- + reference.getName()
- + " (bindingURI="
- + binding.getURI()
- + " operation="
- + operation.getName()
- + ")");
- }
- return invoker;
+ Invoker invoker = getInvoker(endpointReference, operation);
+ if (invoker == null) {
+ throw new ServiceUnavailableException(
+ "Unable to create SCA
binding invoker for local target " + component
+ .getName()
+ + " reference "
+ + reference.getName()
+ + " (bindingURI="
+ + binding.getURI()
+ + " operation="
+ + operation.getName()
+ + ")");
}
+ return invoker;
}
public void start() {
- if (started) {
- return;
- }
- if (distributedProvider != null) {
- distributedProvider.start();
- }
- started = true;
}
public void stop() {
- if (!started) {
- return;
- }
-
- try {
- if (distributedProvider != null) {
- distributedProvider.stop();
- }
- } finally {
- started = false;
- }
}
public void configure() {
- if (distributedProvider instanceof EndpointReferenceProvider) {
- ((EndpointReferenceProvider)distributedProvider).configure();
- }
-
}
-
}
Copied:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalServiceBindingProvider.java
(from r1038531,
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java)
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalServiceBindingProvider.java?p2=tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalServiceBindingProvider.java&p1=tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java&r1=1038531&r2=1038579&rev=1038579&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalServiceBindingProvider.java
Wed Nov 24 12:09:26 2010
@@ -17,85 +17,43 @@
* under the License.
*/
-package org.apache.tuscany.sca.binding.sca.provider;
+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.interfacedef.InterfaceContract;
import org.apache.tuscany.sca.provider.ServiceBindingProvider;
import org.apache.tuscany.sca.runtime.RuntimeComponentService;
import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
/**
- * The sca service binding provider mediates between the twin requirements of
- * local sca bindings and remote sca bindings. In the local case is does
- * very little. When the sca binding model is set as being remote this binding
will
- * try and create a remote service endpoint for remote references to connect to
- *
- * @version $Rev$ $Date$
+ * The Local binding service binding provider
*/
-public class RuntimeSCAServiceBindingProvider implements
ServiceBindingProvider {
+public class LocalServiceBindingProvider implements ServiceBindingProvider {
private RuntimeEndpoint endpoint;
private RuntimeComponentService service;
- private ServiceBindingProvider distributedProvider;
- private SCABindingMapper scaBindingMapper;
-
- public RuntimeSCAServiceBindingProvider(ExtensionPointRegistry
extensionPoints, RuntimeEndpoint endpoint) {
+ public LocalServiceBindingProvider(ExtensionPointRegistry extensionPoints,
RuntimeEndpoint endpoint) {
this.endpoint = endpoint;
this.service = (RuntimeComponentService)endpoint.getService();
- UtilityExtensionPoint utilities =
extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
- this.scaBindingMapper = utilities.getUtility(SCABindingMapper.class);
// if there is potentially a wire to this service that crosses the
node boundary
// then we need to create a remote endpoint
if (service.getInterfaceContract().getInterface().isRemotable()) {
-
- if (scaBindingMapper.isRemotable()) {
- distributedProvider = new
DelegatingSCAServiceBindingProvider(endpoint, scaBindingMapper);
- }
- }
- }
-
- /*
- protected boolean isDistributed(ExtensionPointRegistry extensionPoints,
Endpoint endpoint) {
- // find if the node config is for distributed endpoints
- // TODO: temp, need a much better way to do this
- DomainRegistryFactory domainRegistryFactory =
ExtensibleDomainRegistryFactory.getInstance(extensionPoints);
- Collection<EndpointRegistry> eprs =
domainRegistryFactory.getEndpointRegistries();
- if (eprs.size() > 0) {
- String eprName = eprs.iterator().next().getClass().getName();
- return
!eprName.equals("org.apache.tuscany.sca.core.assembly.impl.EndpointRegistryImpl");
+ // TODO: should this throw some exception now for the local
binding case?
}
- return false;
}
- */
public InterfaceContract getBindingInterfaceContract() {
- if (distributedProvider != null) {
- return distributedProvider.getBindingInterfaceContract();
- } else {
- return endpoint.getComponentTypeServiceInterfaceContract();
- }
+ return endpoint.getComponentTypeServiceInterfaceContract();
}
public boolean supportsOneWayInvocation() {
- if (distributedProvider != null) {
- return distributedProvider.supportsOneWayInvocation();
- }
return false;
}
public void start() {
- if (distributedProvider != null) {
- distributedProvider.start();
- }
}
public void stop() {
- if (distributedProvider != null) {
- distributedProvider.stop();
- }
}
-
}
Added:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor?rev=1038579&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
(added)
+++
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
Wed Nov 24 12:09:26 2010
@@ -0,0 +1,19 @@
+# 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.
+
+# Implementation class for the artifact processor extension
+org.apache.tuscany.sca.assembly.xml.DefaultBeanModelProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.1#binding.local,model=org.apache.tuscany.sca.binding.local.LocalBinding
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory?rev=1038579&r1=1038531&r2=1038579&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
Wed Nov 24 12:09:26 2010
@@ -16,5 +16,4 @@
# under the License.
# Implementation class for the binding extension
-org.apache.tuscany.sca.binding.sca.provider.RuntimeSCABindingProviderFactory;model=org.apache.tuscany.sca.assembly.SCABinding
-
+org.apache.tuscany.sca.binding.local.LocalBindingProviderFactory;model=org.apache.tuscany.sca.binding.local.LocalBinding
Copied:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/local/LocalBindingTestCase.java
(from r1038531,
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/SCABindingTestCase.java)
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/local/LocalBindingTestCase.java?p2=tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/local/LocalBindingTestCase.java&p1=tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/SCABindingTestCase.java&r1=1038531&r2=1038579&rev=1038579&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/SCABindingTestCase.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/local/LocalBindingTestCase.java
Wed Nov 24 12:09:26 2010
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apace.tuscany.sca.binding.sca;
+package org.apace.tuscany.sca.binding.local;
import java.io.InputStream;
@@ -44,7 +44,7 @@ import org.junit.Test;
*
* @version $Rev$ $Date$
*/
-public class SCABindingTestCase {
+public class LocalBindingTestCase {
private XMLInputFactory inputFactory;
private StAXArtifactProcessor<Object> staxProcessor;
Copied:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/local/ReadTestCase.java
(from r1038531,
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/ReadTestCase.java)
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/local/ReadTestCase.java?p2=tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/local/ReadTestCase.java&p1=tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/ReadTestCase.java&r1=1038531&r2=1038579&rev=1038579&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/ReadTestCase.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/local/ReadTestCase.java
Wed Nov 24 12:09:26 2010
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apace.tuscany.sca.binding.sca.xml;
+package org.apace.tuscany.sca.binding.local;
import static org.junit.Assert.assertNotNull;
@@ -28,7 +28,7 @@ import javax.xml.stream.XMLStreamReader;
import org.apache.tuscany.sca.assembly.ComponentType;
import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.SCABinding;
+import org.apache.tuscany.sca.binding.local.LocalBinding;
import
org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
@@ -67,10 +67,10 @@ public class ReadTestCase {
ComponentType componentType =
(ComponentType)staxProcessor.read(reader, context);
assertNotNull(componentType);
- SCABinding referenceSCABinding = (SCABinding)
componentType.getReferences().get(0).getBindings().get(0);
+ LocalBinding referenceSCABinding = (LocalBinding)
componentType.getReferences().get(0).getBindings().get(0);
assertNotNull(referenceSCABinding);
- SCABinding serviceSCABinding = (SCABinding)
componentType.getServices().get(0).getBindings().get(0);
+ LocalBinding serviceSCABinding = (LocalBinding)
componentType.getServices().get(0).getBindings().get(0);
assertNotNull(serviceSCABinding);
//new PrintUtil(System.out).print(componentType);
@@ -83,8 +83,8 @@ public class ReadTestCase {
Composite composite = (Composite)staxProcessor.read(reader, context);
assertNotNull(composite);
- SCABinding referenceSCABinding = (SCABinding)
composite.getComponents().get(0).getReferences().get(0).getBindings().get(0);
- SCABinding serviceSCABinding = (SCABinding)
composite.getComponents().get(1).getServices().get(0).getBindings().get(0);
+ LocalBinding referenceSCABinding = (LocalBinding)
composite.getComponents().get(0).getReferences().get(0).getBindings().get(0);
+ LocalBinding serviceSCABinding = (LocalBinding)
composite.getComponents().get(1).getServices().get(0).getBindings().get(0);
Assert.assertNotNull(referenceSCABinding);
Assert.assertNotNull(serviceSCABinding);
Copied:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/local/WriteTestCase.java
(from r1038531,
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/WriteTestCase.java)
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/local/WriteTestCase.java?p2=tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/local/WriteTestCase.java&p1=tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/WriteTestCase.java&r1=1038531&r2=1038579&rev=1038579&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/WriteTestCase.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/java/org/apace/tuscany/sca/binding/local/WriteTestCase.java
Wed Nov 24 12:09:26 2010
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apace.tuscany.sca.binding.sca.xml;
+package org.apace.tuscany.sca.binding.local;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/resources/Calculator.composite
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/resources/Calculator.composite?rev=1038579&r1=1038531&r2=1038579&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/resources/Calculator.composite
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/resources/Calculator.composite
Wed Nov 24 12:09:26 2010
@@ -18,18 +18,19 @@
* under the License.
-->
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
xmlns:calc="http://calc"
targetNamespace="http://calc"
name="Calculator">
<service name="CalculatorService" promote="CalculatorServiceComponent">
<interface.java interface="calculator.CalculatorService"/>
- <binding.sca/>
+ <tuscany:binding.local/>
</service>
<component name="CalculatorServiceComponent">
<implementation.java class="calculator.CalculatorServiceImpl"/>
<reference name="addService" target="AddServiceComponent">
- <binding.sca/>
+ <tuscany:binding.local/>
</reference>
<reference name="subtractService" target="SubtractServiceComponent"/>
<reference name="multiplyService" target="MultiplyServiceComponent"/>
@@ -40,7 +41,7 @@
<implementation.java class="calculator.AddServiceImpl"/>
<service name="AddService">
<interface.java interface="calculator.AddService"/>
- <binding.sca/>
+ <tuscany:binding.local/>
</service>
</component>
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/resources/CalculatorServiceImpl.componentType
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/resources/CalculatorServiceImpl.componentType?rev=1038579&r1=1038531&r2=1038579&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/resources/CalculatorServiceImpl.componentType
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-local-runtime/src/test/resources/CalculatorServiceImpl.componentType
Wed Nov 24 12:09:26 2010
@@ -17,16 +17,17 @@
* specific language governing permissions and limitations
* under the License.
-->
-<componentType xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912">
+<componentType xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" >
<service name="CalculatorService">
<interface.java interface="calculator.CalculatorService" />
- <binding.sca/>
+ <tuscany:binding.local/>
</service>
<reference name="addService">
<interface.java interface="calculator.AddService" />
- <binding.sca/>
+ <tuscany:binding.local/>
</reference>
</componentType>