summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2013-10-07 22:23:21 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2013-10-07 22:23:21 +0000
commit5963a2d3d6860fe57afc138f095bf2d2eb5a7b80 (patch)
tree018d3d8c637e265b8292d34e5f7c11ca8ce11b7d /sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local
parent132aa8a77685ec92bc90c03f987650d275a7b639 (diff)
Official Tuscany 2.0.1 Release
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1530096 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local')
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBinding.java33
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingInvoker.java102
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingProviderFactory.java51
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalReferenceBindingProvider.java135
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalServiceBindingProvider.java59
5 files changed, 0 insertions, 380 deletions
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBinding.java b/sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBinding.java
deleted file mode 100644
index c69d61ec53..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBinding.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;
-
-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);
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingInvoker.java b/sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingInvoker.java
deleted file mode 100644
index c03abcb528..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingInvoker.java
+++ /dev/null
@@ -1,102 +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.databinding.Mediator;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Interceptor;
-import org.apache.tuscany.sca.invocation.InvocationChain;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.invocation.Phase;
-import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
-import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
-
-/**
- * The Local binding invoker
- */
-public class LocalBindingInvoker implements Interceptor {
- private InvocationChain chain;
- private Mediator mediator;
- private Operation sourceOperation;
- private Operation targetOperation;
- private boolean passByValue;
- private RuntimeEndpoint ep;
-
- /**
- * Construct a SCABindingInvoker that delegates to the service invocaiton chain
- */
- 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.ep = (RuntimeEndpoint)epr.getTargetEndpoint();
- }
-
- /**
- * @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
- }
-
- /**
- * @see org.apache.tuscany.sca.invocation.Invoker#invoke(org.apache.tuscany.sca.invocation.Message)
- */
- public Message invoke(Message msg) {
-
- if (passByValue) {
- msg.setBody(mediator.copyInput(msg.getBody(), sourceOperation, targetOperation));
- }
-
- 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 );
- }
-
- Message resultMsg = getNext().invoke(msg);
-
- if (passByValue) {
- // Note source and target operation swapped so result is in source class loader
- if (resultMsg.isFault()) {
- resultMsg.setFaultBody(mediator.copyFault(resultMsg.getBody(), sourceOperation, targetOperation));
- } else {
- if (sourceOperation.getOutputType() != null) {
- resultMsg.setBody(mediator.copyOutput(resultMsg.getBody(), sourceOperation, targetOperation));
- }
- }
- }
-
- return resultMsg;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingProviderFactory.java b/sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingProviderFactory.java
deleted file mode 100644
index f93a2dd11b..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalBindingProviderFactory.java
+++ /dev/null
@@ -1,51 +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.provider.BindingProviderFactory;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
-import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
-
-/**
- * The factory for creating Local Binding providers
- */
-public class LocalBindingProviderFactory implements BindingProviderFactory<LocalBinding> {
-
- private ExtensionPointRegistry extensionPoints;
-
- public LocalBindingProviderFactory(ExtensionPointRegistry extensionPoints) {
- this.extensionPoints = extensionPoints;
- }
-
- public ReferenceBindingProvider createReferenceBindingProvider(RuntimeEndpointReference endpointReference) {
- return new LocalReferenceBindingProvider(extensionPoints, endpointReference);
- }
-
- public ServiceBindingProvider createServiceBindingProvider(RuntimeEndpoint endpoint) {
- return new LocalServiceBindingProvider(extensionPoints, endpoint);
- }
-
- public Class<LocalBinding> getModelType() {
- return LocalBinding.class;
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalReferenceBindingProvider.java b/sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalReferenceBindingProvider.java
deleted file mode 100644
index 0573a68f22..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalReferenceBindingProvider.java
+++ /dev/null
@@ -1,135 +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.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.EndpointReferenceProvider;
-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.ServiceUnavailableException;
-
-/**
- * The Local binding reference binding provider
- */
-public class LocalReferenceBindingProvider implements EndpointReferenceProvider {
-
- private RuntimeEndpointReference endpointReference;
- private RuntimeComponent component;
- private RuntimeComponentReference reference;
- private LocalBinding binding;
-
- private Mediator mediator;
- private InterfaceContractMapper interfaceContractMapper;
-
- public LocalReferenceBindingProvider(ExtensionPointRegistry extensionPoints, RuntimeEndpointReference endpointReference) {
- this.endpointReference = endpointReference;
- this.component = (RuntimeComponent)endpointReference.getComponent();
- this.reference = (RuntimeComponentReference)endpointReference.getReference();
- this.binding = (LocalBinding)endpointReference.getBinding();
-
- UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
- this.mediator = utilities.getUtility(Mediator.class);
- this.interfaceContractMapper = utilities.getUtility(InterfaceContractMapper.class);
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- // Check if there is a target
- RuntimeEndpoint endpoint = (RuntimeEndpoint)endpointReference.getTargetEndpoint();
- if (endpoint != null) {
- return endpoint.getComponentTypeServiceInterfaceContract();
- } else {
- return endpointReference.getComponentTypeReferenceInterfaceContract();
- }
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- private Invoker getInvoker(RuntimeEndpointReference epr, Operation operation) {
- Endpoint target = epr.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 {
- boolean allowsPBR = false;
- if (allowsPBR && interfaceContractMapper.isCompatibleByReference(operation,
- targetOp,
- Compatibility.SUBSET)) {
- passByValue = false;
- } else if (interfaceContractMapper.isCompatibleByValue(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
- return chain == null ? null : new LocalBindingInvoker(chain, operation, mediator, passByValue, epr);
- }
- }
- return null;
- }
-
- public Invoker createInvoker(Operation operation) {
- 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() {
- }
-
- public void stop() {
- }
-
- public void configure() {
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalServiceBindingProvider.java b/sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalServiceBindingProvider.java
deleted file mode 100644
index 5f8d9cd9fd..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/binding-local-runtime/src/main/java/org/apache/tuscany/sca/binding/local/LocalServiceBindingProvider.java
+++ /dev/null
@@ -1,59 +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.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
-
-/**
- * The Local binding service binding provider
- */
-public class LocalServiceBindingProvider implements ServiceBindingProvider {
- private RuntimeEndpoint endpoint;
- private RuntimeComponentService service;
-
- public LocalServiceBindingProvider(ExtensionPointRegistry extensionPoints, RuntimeEndpoint endpoint) {
- this.endpoint = endpoint;
- this.service = (RuntimeComponentService)endpoint.getService();
-
- // 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()) {
- // TODO: should this throw some exception now for the local binding case?
- }
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return endpoint.getComponentTypeServiceInterfaceContract();
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- public void start() {
- }
-
- public void stop() {
- }
-}