summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src')
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DefaultSCABindingMapper.java220
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAReferenceBindingProvider.java69
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAServiceBindingProvider.java82
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RemoteBindingHelper.java43
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCABindingProviderFactory.java56
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java215
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java101
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/SCABindingInvoker.java91
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/SCABindingMapper.java50
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.sca.provider.SCABindingMapper17
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.xml.Definitions17
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory20
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml26
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/SCABindingTestCase.java102
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/ReadTestCase.java93
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/WriteTestCase.java88
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/resources/Calculator.composite59
-rw-r--r--sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/resources/CalculatorServiceImpl.componentType33
18 files changed, 0 insertions, 1382 deletions
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DefaultSCABindingMapper.java b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DefaultSCABindingMapper.java
deleted file mode 100644
index 4106158e54..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DefaultSCABindingMapper.java
+++ /dev/null
@@ -1,220 +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.provider;
-
-import java.io.StringReader;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Logger;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.sca.assembly.Base;
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.builder.BindingBuilder;
-import org.apache.tuscany.sca.assembly.builder.BuilderContext;
-import org.apache.tuscany.sca.assembly.builder.BuilderExtensionPoint;
-import org.apache.tuscany.sca.common.xml.stax.StAXHelper;
-import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
-import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.extensibility.ServiceDeclarationParser;
-import org.apache.tuscany.sca.policy.PolicySubject;
-import org.apache.tuscany.sca.provider.ProviderFactory;
-import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
-import org.apache.tuscany.sca.runtime.DomainRegistryFactory;
-import org.apache.tuscany.sca.runtime.DomainRegistryFactoryExtensionPoint;
-import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
-import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
-import org.oasisopen.sca.ServiceRuntimeException;
-
-/**
- * Default implementation of SCABindingMapper
- */
-public class DefaultSCABindingMapper implements SCABindingMapper {
- private final static Logger logger = Logger.getLogger(DefaultSCABindingMapper.class.getName());
- protected ExtensionPointRegistry registry;
- protected ProviderFactoryExtensionPoint providerFactories;
- protected StAXArtifactProcessor processor;
- protected BindingBuilder builder;
- protected QName mappedBinding;
- private Binding bindingTemplate;
- private boolean remotable;
-
- public DefaultSCABindingMapper(ExtensionPointRegistry registry, Map<String, String> attributes) {
- this.registry = registry;
- if (attributes != null) {
- String qname = attributes.get("mappedBinding");
- if (qname != null) {
- mappedBinding = ServiceDeclarationParser.getQName(qname);
- }
- }
- if (mappedBinding == null) {
- String qname =
- System.getProperty("org.apache.tuscany.sca.binding.sca.provider.SCABindingMapper.mappedBinding");
- if (qname != null) {
- mappedBinding = ServiceDeclarationParser.getQName(qname);
- } else {
- // By default, mapping to binding.ws or if thats not available then binding.rmi
- mappedBinding = new QName(Base.SCA11_TUSCANY_NS, "binding.hazelcast");
- if (registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class).getProcessor(mappedBinding) == null) {
- mappedBinding = new QName(Base.SCA11_NS, "binding.ws");
- if (registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class).getProcessor(mappedBinding) == null) {
- mappedBinding = new QName(Base.SCA11_TUSCANY_NS, "binding.rmi");
- }
- }
- }
- }
-
- providerFactories = registry.getExtensionPoint(ProviderFactoryExtensionPoint.class);
- StAXArtifactProcessorExtensionPoint processors =
- registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
- processor = processors.getProcessor(mappedBinding);
- if (processor == null) {
- logger.warning("Mapped binding for binding.sca is not supported: " + mappedBinding);
- }
-
- try {
- if (processor != null) {
- bindingTemplate = createDelegatingBinding();
- ProviderFactory providerFactory = providerFactories.getProviderFactory(bindingTemplate.getClass());
- if (providerFactory == null) {
- logger.warning("Mapped binding for binding.sca is not supported: " + mappedBinding);
- processor = null;
- }
- }
- } catch (Throwable e) {
- throw new ServiceRuntimeException(e);
- }
- BuilderExtensionPoint builders = registry.getExtensionPoint(BuilderExtensionPoint.class);
- builder = builders.getBindingBuilder(mappedBinding);
- remotable = isDistributed() && processor != null;
- }
-
- // FIXME: [rfeng] This is a HACK to check if we should make binding.sca remotable
- // by checking if we have distributed domain registry present
- private boolean isDistributed() {
- DomainRegistryFactoryExtensionPoint factories =
- registry.getExtensionPoint(DomainRegistryFactoryExtensionPoint.class);
- List<DomainRegistryFactory> list = factories.getDomainRegistryFactories();
- if (list.size() == 1) {
- String[] schemes = list.get(0).getSupportedSchemes();
- if (Arrays.asList(schemes).contains("local")) {
- return false;
- }
- }
- return true;
- }
-
- public RuntimeEndpoint map(RuntimeEndpoint endpoint) {
- if (processor == null) {
- return null;
- }
- // create a copy of the endpoint but with the web service binding in
- RuntimeEndpoint ep = null;
- try {
- ep = (RuntimeEndpoint)endpoint.clone();
- } catch (Exception ex) {
- // we know we can clone endpoint references
- }
-
- Binding binding = map(endpoint.getBinding());
- ep.setBinding(binding);
- if (builder != null) {
- builder.build(ep.getComponent(), ep.getService(), binding, new BuilderContext(registry));
- }
- return ep;
- }
-
- public RuntimeEndpointReference map(RuntimeEndpointReference endpointReference) {
- if (processor == null) {
- return null;
- }
- // create a copy of the endpoint but with the web service binding in
- RuntimeEndpointReference epr = null;
- try {
- epr = (RuntimeEndpointReference)endpointReference.clone();
- } catch (Exception ex) {
- // we know we can clone endpoint references
- }
-
- Binding binding = map(endpointReference.getBinding());
- epr.setBinding(binding);
-
- // epr.setTargetEndpoint(map((RuntimeEndpoint)epr.getTargetEndpoint()));
-
- if (builder != null) {
- builder.build(epr.getComponent(), epr.getReference(), binding, new BuilderContext(registry));
- }
-
- return epr;
- }
-
- protected Binding map(Binding scaBinding) {
- try {
- Binding binding = createDelegatingBinding();
- binding.setName(scaBinding.getName());
- binding.setURI(scaBinding.getURI());
- binding.setOperationSelector(scaBinding.getOperationSelector());
- binding.setRequestWireFormat(scaBinding.getRequestWireFormat());
- binding.setResponseWireFormat(scaBinding.getResponseWireFormat());
- if (binding instanceof PolicySubject && scaBinding instanceof PolicySubject) {
- PolicySubject subject1 = (PolicySubject)binding;
- PolicySubject subject2 = (PolicySubject)scaBinding;
- subject1.getPolicySets().addAll(subject2.getPolicySets());
- subject1.getRequiredIntents().addAll(subject2.getRequiredIntents());
- }
- return binding;
- } catch (Throwable e) {
- throw new ServiceRuntimeException(e);
- }
-
- }
-
- private Binding createDelegatingBinding() throws XMLStreamException, ContributionReadException {
- if (bindingTemplate != null) {
- try {
- return (Binding)bindingTemplate.clone();
- } catch (CloneNotSupportedException e) {
- // Ignore
- }
- }
- // This is a hack to create an instance of the binding using the XML QName
- StringBuffer xml = new StringBuffer();
- xml.append("<").append(mappedBinding.getLocalPart()).append(" xmlns:b=\"").append(mappedBinding
- .getNamespaceURI()).append("\"/>");
-
- StAXHelper staxHelper = StAXHelper.getInstance(registry);
- XMLStreamReader reader = staxHelper.createXMLStreamReader(new StringReader(xml.toString()));
- reader.nextTag();
- Binding binding = (Binding)processor.read(reader, new ProcessorContext(registry));
- return binding;
- }
-
- public boolean isRemotable() {
- return remotable;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAReferenceBindingProvider.java b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAReferenceBindingProvider.java
deleted file mode 100644
index a8fec07f5c..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAReferenceBindingProvider.java
+++ /dev/null
@@ -1,69 +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.provider;
-
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.provider.EndpointReferenceProvider;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
-
-/**
- * The reference binding provider for the remote sca binding implementation.
- */
-public class DelegatingSCAReferenceBindingProvider implements EndpointReferenceProvider {
-
- private ReferenceBindingProvider provider;
-
- public DelegatingSCAReferenceBindingProvider(RuntimeEndpointReference endpointReference,
- SCABindingMapper mapper) {
- RuntimeEndpointReference epr = mapper.map(endpointReference);
- if (epr != null) {
- provider = epr.getBindingProvider();
- }
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return provider.getBindingInterfaceContract();
- }
-
- public boolean supportsOneWayInvocation() {
- return provider.supportsOneWayInvocation();
- }
-
- public Invoker createInvoker(Operation operation) {
- return provider.createInvoker(operation);
- }
-
- public void start() {
- provider.start();
- }
-
- public void stop() {
- provider.stop();
- }
-
- public void configure() {
- if (provider instanceof EndpointReferenceProvider) {
- ((EndpointReferenceProvider)provider).configure();
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAServiceBindingProvider.java b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAServiceBindingProvider.java
deleted file mode 100644
index ca90878633..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAServiceBindingProvider.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.binding.sca.provider;
-
-import java.util.logging.Logger;
-
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
-
-/**
- * The service binding provider for the remote sca binding implementation. Relies on the
- * binding-ws-axis implementation for providing a remote message endpoint
- *
- * @version $Rev$ $Date$
- */
-public class DelegatingSCAServiceBindingProvider implements ServiceBindingProvider {
-
- private static final Logger logger = Logger.getLogger(DelegatingSCAServiceBindingProvider.class.getName());
-
- private ServiceBindingProvider provider;
- private RuntimeEndpoint endpoint;
- private RuntimeEndpoint mappedEndpoint;
- private boolean started = false;
-
- public DelegatingSCAServiceBindingProvider(RuntimeEndpoint endpoint, SCABindingMapper mapper) {
- this.endpoint = endpoint;
- this.mappedEndpoint = mapper.map(endpoint);
- if (mappedEndpoint != null) {
- provider = mappedEndpoint.getBindingProvider();
- }
-
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return provider.getBindingInterfaceContract();
- }
-
- public boolean supportsOneWayInvocation() {
- return provider.supportsOneWayInvocation();
- }
-
- public void start() {
- if (started) {
- return;
- } else {
- provider.start();
- // Set the resolved binding URI back to the binding.sca
- endpoint.getBinding().setURI(mappedEndpoint.getBinding().getURI());
- started = true;
- }
- }
-
- public void stop() {
- if (!started) {
- return;
- }
- try {
- provider.stop();
- } finally {
- started = false;
- }
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RemoteBindingHelper.java b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RemoteBindingHelper.java
deleted file mode 100644
index 331f152b50..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RemoteBindingHelper.java
+++ /dev/null
@@ -1,43 +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.provider;
-
-/**
- * TODO: TUSCANY-2578, implement a pluggable mechanism so sca binding impls can
- * add their own code to the decision on whether or not to use
- * the remote binding provider.
- */
-public class RemoteBindingHelper {
-
- private static boolean alwaysRemote;
- static {
- try {
- Class.forName("org.apache.tuscany.sca.binding.sca.jms.JMSSCABindingProviderFactory");
- alwaysRemote = true;
- } catch (ClassNotFoundException e) {
- alwaysRemote = false;
- }
- }
-
- public static boolean isTargetRemote() {
- return alwaysRemote;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCABindingProviderFactory.java b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCABindingProviderFactory.java
deleted file mode 100644
index 393b8f400c..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCABindingProviderFactory.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.sca.provider;
-
-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;
-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 SCA Binding providers
- *
- * @version $Rev$ $Date$
- */
-public class RuntimeSCABindingProviderFactory implements BindingProviderFactory<SCABinding> {
-
- private ExtensionPointRegistry extensionPoints;
-
- public RuntimeSCABindingProviderFactory(ExtensionPointRegistry extensionPoints) {
- this.extensionPoints = extensionPoints;
-
- }
-
- public ReferenceBindingProvider createReferenceBindingProvider(RuntimeEndpointReference endpointReference) {
-
- return new RuntimeSCAReferenceBindingProvider(extensionPoints, endpointReference);
- }
-
- public ServiceBindingProvider createServiceBindingProvider(RuntimeEndpoint endpoint) {
- return new RuntimeSCAServiceBindingProvider(extensionPoints, endpoint);
- }
-
- public Class<SCABinding> getModelType() {
- return SCABinding.class;
- }
-}
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java
deleted file mode 100644
index 88c6888ba9..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java
+++ /dev/null
@@ -1,215 +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.provider;
-
-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;
-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.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$
- */
-public class RuntimeSCAReferenceBindingProvider implements EndpointReferenceProvider {
-
- private RuntimeEndpointReference endpointReference;
- private RuntimeComponent component;
- private RuntimeComponentReference reference;
- private SCABinding binding;
- private boolean remotable;
- private boolean started = false;
-
- private ReferenceBindingProvider distributedProvider;
- private Mediator mediator;
- private InterfaceContractMapper interfaceContractMapper;
- private SCABindingMapper scaBindingMapper;
-
- public RuntimeSCAReferenceBindingProvider(ExtensionPointRegistry extensionPoints,
- RuntimeEndpointReference endpointReference) {
- this.endpointReference = endpointReference;
- this.component = (RuntimeComponent)endpointReference.getComponent();
- this.reference = (RuntimeComponentReference)endpointReference.getReference();
- this.binding = (SCABinding)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();
- } else {
- // Check if there is a target
- RuntimeEndpoint endpoint = (RuntimeEndpoint)endpointReference.getTargetEndpoint();
- if (endpoint != null) {
- return endpoint.getComponentTypeServiceInterfaceContract();
- } else {
- return endpointReference.getComponentTypeReferenceInterfaceContract();
- }
- }
- }
-
- public boolean supportsOneWayInvocation() {
- if (remotable && distributedProvider != null) {
- return distributedProvider.supportsOneWayInvocation();
- } else {
- 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 = 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,
- 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 SCABindingInvoker(chain, operation, mediator, passByValue);
- }
- }
- 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;
- }
- }
-
- 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();
- }
-
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java
deleted file mode 100644
index 14d7284846..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java
+++ /dev/null
@@ -1,101 +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.provider;
-
-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$
- */
-public class RuntimeSCAServiceBindingProvider implements ServiceBindingProvider {
- private RuntimeEndpoint endpoint;
- private RuntimeComponentService service;
-
- private ServiceBindingProvider distributedProvider;
- private SCABindingMapper scaBindingMapper;
-
- public RuntimeSCAServiceBindingProvider(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");
- }
- return false;
- }
- */
-
- public InterfaceContract getBindingInterfaceContract() {
- if (distributedProvider != null) {
- return distributedProvider.getBindingInterfaceContract();
- } else {
- 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();
- }
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/SCABindingInvoker.java b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/SCABindingInvoker.java
deleted file mode 100644
index a0b976c7ad..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/SCABindingInvoker.java
+++ /dev/null
@@ -1,91 +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.provider;
-
-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;
-
-/**
- * @version $Rev$ $Date$
- */
-public class SCABindingInvoker implements Interceptor {
- private InvocationChain chain;
- private Mediator mediator;
- private Operation sourceOperation;
- private Operation targetOperation;
- private boolean passByValue;
-
- /**
- * Construct a SCABindingInvoker that delegates to the service invocaiton chain
- */
- public SCABindingInvoker(InvocationChain chain, Operation sourceOperation, Mediator mediator, boolean passByValue) {
- super();
- this.chain = chain;
- this.mediator = mediator;
- this.sourceOperation = sourceOperation;
- this.targetOperation = chain.getTargetOperation();
- this.passByValue = passByValue;
- }
-
- /**
- * @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));
- }
-
- 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-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/SCABindingMapper.java b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/SCABindingMapper.java
deleted file mode 100644
index 03aa44a04e..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/SCABindingMapper.java
+++ /dev/null
@@ -1,50 +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.provider;
-
-import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
-import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
-
-/**
- * SCABindingMapper allows us to map binding.sca to any of the bindings available to the runtime
- */
-public interface SCABindingMapper {
-
- /**
- * Map an endpoint with binding.sca to an endpoint
- * @param endpoint The endpoint for binding.sca
- * @return The endpoint for the mapped binding
- */
- public RuntimeEndpoint map(RuntimeEndpoint endpoint);
-
- /**
- * Map an endpoint reference with binding.sca to an endpoint reference with the mapped binding
- * @param endpointReference
- * @return The endpoint reference for the mapped binding
- */
- public RuntimeEndpointReference map(RuntimeEndpointReference endpointReference);
-
- /**
- * Check if the remote SCA binding is supported
- * @return
- */
- boolean isRemotable();
-
-}
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.sca.provider.SCABindingMapper b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.sca.provider.SCABindingMapper
deleted file mode 100644
index 2719598883..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.sca.provider.SCABindingMapper
+++ /dev/null
@@ -1,17 +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.
-org.apache.tuscany.sca.binding.sca.provider.DefaultSCABindingMapper \ No newline at end of file
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.xml.Definitions b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.xml.Definitions
deleted file mode 100644
index 151c00eec8..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.xml.Definitions
+++ /dev/null
@@ -1,17 +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.
-org/apache/tuscany/sca/binding/sca/definitions.xml
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
deleted file mode 100644
index 86e3d1e829..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
+++ /dev/null
@@ -1,20 +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.
-
-# Implementation class for the binding extension
-org.apache.tuscany.sca.binding.sca.provider.RuntimeSCABindingProviderFactory;model=org.apache.tuscany.sca.assembly.SCABinding
-
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml
deleted file mode 100644
index ff378f8f32..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--
- * 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.
--->
-<sca:definitions xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- targetNamespace="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1">
-
- <sca:bindingType type="sca:binding.sca" mayProvide="" alwaysProvides=""/>
- </sca:definitions> \ No newline at end of file
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/SCABindingTestCase.java b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/SCABindingTestCase.java
deleted file mode 100644
index d968e2891d..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/SCABindingTestCase.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.apace.tuscany.sca.binding.sca;
-
-import java.io.InputStream;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.SCABinding;
-import org.apache.tuscany.sca.assembly.SCABindingFactory;
-import org.apache.tuscany.sca.assembly.xml.CompositeModelResolver;
-import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- * SCABindingTestCase
- *
- * @version $Rev$ $Date$
- */
-public class SCABindingTestCase {
-
- private XMLInputFactory inputFactory;
- private StAXArtifactProcessor<Object> staxProcessor;
- private CompositeModelResolver resolver;
- private ExtensionPointRegistry extensionPoints;
-
- @Before
- public void init() throws Exception {
- extensionPoints = new DefaultExtensionPointRegistry();
- inputFactory = XMLInputFactory.newInstance();
-
- StAXArtifactProcessorExtensionPoint staxProcessors =
- extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
- staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null);
-
- resolver = new CompositeModelResolver(null, null);
- }
-
- @Test
- public void testSCABindingFactory() {
- SCABindingFactory factory =
- extensionPoints.getExtensionPoint(FactoryExtensionPoint.class).getFactory(SCABindingFactory.class);
-
- Assert.assertNotNull(factory.createSCABinding());
- }
-
- @Test
- @Ignore
- public void testBuildModel() {
- try {
- InputStream is = getClass().getResourceAsStream("/Calculator.composite");
- XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
- ProcessorContext context = new ProcessorContext(extensionPoints);
- Composite composite = (Composite)staxProcessor.read(reader, context);
-
- is.close();
- Assert.assertNotNull(composite);
-
- resolver.addModel(composite, context);
-
- staxProcessor.resolve(composite, resolver, new ProcessorContext());
-
- 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);
-
- Assert.assertNotNull(referenceSCABinding);
- Assert.assertNotNull(serviceSCABinding);
- } catch (Exception ex) {
- Assert.fail(ex.getMessage());
- }
-
- }
-}
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/ReadTestCase.java b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/ReadTestCase.java
deleted file mode 100644
index 895a551f79..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/ReadTestCase.java
+++ /dev/null
@@ -1,93 +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.apace.tuscany.sca.binding.sca.xml;
-
-import static org.junit.Assert.assertNotNull;
-
-import java.io.InputStream;
-
-import javax.xml.stream.XMLInputFactory;
-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.contribution.processor.ExtensibleStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Test reading WSDL interfaces.
- *
- * @version $Rev$ $Date$
- */
-public class ReadTestCase {
-
- private static XMLInputFactory inputFactory;
- private static StAXArtifactProcessor<Object> staxProcessor;
- private static ProcessorContext context;
-
- @BeforeClass
- public static void setUp() throws Exception {
- ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
- context = new ProcessorContext(extensionPoints);
-
- inputFactory = XMLInputFactory.newInstance();
- StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
- staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null);
- }
-
- @Test
- public void testReadComponentType() throws Exception {
- InputStream is = getClass().getResourceAsStream("/CalculatorServiceImpl.componentType");
- XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
- ComponentType componentType = (ComponentType)staxProcessor.read(reader, context);
- assertNotNull(componentType);
-
- SCABinding referenceSCABinding = (SCABinding) componentType.getReferences().get(0).getBindings().get(0);
- assertNotNull(referenceSCABinding);
-
- SCABinding serviceSCABinding = (SCABinding) componentType.getServices().get(0).getBindings().get(0);
- assertNotNull(serviceSCABinding);
-
- //new PrintUtil(System.out).print(componentType);
- }
-
- @Test
- public void testReadComposite() throws Exception {
- InputStream is = getClass().getResourceAsStream("/Calculator.composite");
- XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
- 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);
-
- Assert.assertNotNull(referenceSCABinding);
- Assert.assertNotNull(serviceSCABinding);
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/WriteTestCase.java b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/WriteTestCase.java
deleted file mode 100644
index 93bd129a65..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/java/org/apace/tuscany/sca/binding/sca/xml/WriteTestCase.java
+++ /dev/null
@@ -1,88 +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.apace.tuscany.sca.binding.sca.xml;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
-
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- * Test reading/write WSDL interfaces.
- *
- * @version $Rev$ $Date$
- */
-public class WriteTestCase {
-
- private static StAXArtifactProcessor<Object> staxProcessor;
- private static XMLInputFactory inputFactory;
- private static XMLOutputFactory outputFactory;
- private static ProcessorContext context;
-
- @BeforeClass
- public static void setUp() throws Exception {
- DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
- context = new ProcessorContext(extensionPoints);
- StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
- inputFactory = XMLInputFactory.newInstance();
- outputFactory = XMLOutputFactory.newInstance();
- staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory);
- }
-
- @Test
- @Ignore // broken in 2.0 bring up
- public void testReadWriteComponentType() throws Exception {
- InputStream is = getClass().getResourceAsStream("/CalculatorServiceImpl.componentType");
- ComponentType componentType = (ComponentType)staxProcessor.read(inputFactory.createXMLStreamReader(is), context);
- assertNotNull(componentType);
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- staxProcessor.write(componentType, outputFactory.createXMLStreamWriter(bos), context);
- assertEquals("<?xml version='1.0' encoding='UTF-8'?><componentType xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200912\" ><service name=\"CalculatorService\"><binding.sca /><interface.java interface=\"calculator.CalculatorService\" /></service><reference name=\"addService\"><binding.sca /><interface.java interface=\"calculator.AddService\" /></reference></componentType>",
- bos.toString());
- }
-
- @Test
- @Ignore // broken in 2.0 bring up
- public void testReadWriteComposite() throws Exception {
- InputStream is = getClass().getResourceAsStream("/Calculator.composite");
- Composite composite = (Composite)staxProcessor.read(inputFactory.createXMLStreamReader(is), context);
- assertNotNull(composite);
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- staxProcessor.write(composite, outputFactory.createXMLStreamWriter(bos), context);
- assertEquals("<?xml version='1.0' encoding='UTF-8'?><composite xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200912\" targetNamespace=\"http://calc\" name=\"Calculator\"><service name=\"CalculatorService\" promote=\"CalculatorServiceComponent\"><binding.sca /><interface.java interface=\"calculator.CalculatorService\" /></service><component name=\"CalculatorServiceComponent\"><implementation.java class=\"calculator.CalculatorServiceImpl\" /><reference name=\"addService\" target=\"AddServiceComponent\"><binding.sca /></reference><reference name=\"subtractService\" target=\"SubtractServiceComponent\" /><reference name=\"multiplyService\" target=\"MultiplyServiceComponent\" /><reference name=\"divideService\" target=\"DivideServiceComponent\" /></component><component name=\"AddServiceComponent\"><implementation.java class=\"calculator.AddServiceImpl\" /><service name=\"AddService\"><binding.sca /><interface.java interface=\"calculator.AddService\" /></service></component><component name=\"SubtractServiceComponent\"><implementation.java class=\"calculator.SubtractServiceImpl\" /></component><component name=\"MultiplyServiceComponent\"><implementation.java class=\"calculator.MultiplyServiceImpl\" /></component><component name=\"DivideServiceComponent\"><implementation.java class=\"calculator.DivideServiceImpl\" /></component></composite>",
- bos.toString());
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/resources/Calculator.composite b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/resources/Calculator.composite
deleted file mode 100644
index 1847b2b452..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/resources/Calculator.composite
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:calc="http://calc"
- targetNamespace="http://calc"
- name="Calculator">
- <service name="CalculatorService" promote="CalculatorServiceComponent">
- <interface.java interface="calculator.CalculatorService"/>
- <binding.sca/>
- </service>
-
- <component name="CalculatorServiceComponent">
- <implementation.java class="calculator.CalculatorServiceImpl"/>
- <reference name="addService" target="AddServiceComponent">
- <binding.sca/>
- </reference>
- <reference name="subtractService" target="SubtractServiceComponent"/>
- <reference name="multiplyService" target="MultiplyServiceComponent"/>
- <reference name="divideService" target="DivideServiceComponent"/>
- </component>
-
- <component name="AddServiceComponent">
- <implementation.java class="calculator.AddServiceImpl"/>
- <service name="AddService">
- <interface.java interface="calculator.AddService"/>
- <binding.sca/>
- </service>
- </component>
-
- <component name="SubtractServiceComponent">
- <implementation.java class="calculator.SubtractServiceImpl"/>
- </component>
-
- <component name="MultiplyServiceComponent">
- <implementation.java class="calculator.MultiplyServiceImpl"/>
- </component>
-
- <component name="DivideServiceComponent">
- <implementation.java class="calculator.DivideServiceImpl"/>
- </component>
-
-</composite>
diff --git a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/resources/CalculatorServiceImpl.componentType b/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/resources/CalculatorServiceImpl.componentType
deleted file mode 100644
index da4219759f..0000000000
--- a/sca-java-2.x/tags/2.0-M5-RC2/modules/binding-sca-runtime/src/test/resources/CalculatorServiceImpl.componentType
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--
- * 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.
--->
-<componentType xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912">
-
- <service name="CalculatorService">
- <interface.java interface="calculator.CalculatorService" />
- <binding.sca/>
- </service>
-
- <reference name="addService">
- <interface.java interface="calculator.AddService" />
- <binding.sca/>
- </reference>
-
-</componentType>
- \ No newline at end of file