summaryrefslogtreecommitdiffstats
path: root/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider
diff options
context:
space:
mode:
Diffstat (limited to 'tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider')
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BasePolicyProvider.java169
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BindingProviderFactory.java50
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java498
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProvider.java68
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProviderFactory.java42
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProvider.java39
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProviderFactory.java53
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyImplementor.java38
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProvider.java45
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.java51
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderRRB.java37
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactory.java36
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java63
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProvider.java76
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProviderRRB.java35
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProvider.java63
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProviderRRB.java35
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProvider.java54
-rw-r--r--tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProviderFactory.java53
19 files changed, 0 insertions, 1505 deletions
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BasePolicyProvider.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BasePolicyProvider.java
deleted file mode 100644
index 785ac70271..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BasePolicyProvider.java
+++ /dev/null
@@ -1,169 +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.provider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.ComponentService;
-import org.apache.tuscany.sca.assembly.Endpoint;
-import org.apache.tuscany.sca.assembly.EndpointReference;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.InvocationChain;
-import org.apache.tuscany.sca.invocation.PhasedInterceptor;
-import org.apache.tuscany.sca.policy.PolicyExpression;
-import org.apache.tuscany.sca.policy.PolicySet;
-import org.apache.tuscany.sca.policy.PolicySubject;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-
-/**
- * Abstract base class for policy providers
- */
-public abstract class BasePolicyProvider<T> implements PolicyProvider {
- protected Class<T> policyType;
- protected PolicySubject subject;
-
- protected BasePolicyProvider(Class<T> policyType, PolicySubject subject) {
- this.policyType = policyType;
- this.subject = subject;
- }
-
- protected List<T> findPolicies() {
- List<T> policies = new ArrayList<T>();
- List<PolicySet> policySets = subject.getPolicySets();
- for (PolicySet ps : policySets) {
- for (Object p : ps.getPolicies()) {
- if (policyType.isInstance(p)) {
- policies.add(policyType.cast(p));
- }
- if (p instanceof PolicyExpression) {
- PolicyExpression exp = (PolicyExpression)p;
- if (policyType.isInstance(exp.getPolicy())) {
- policies.add(policyType.cast(exp.getPolicy()));
- }
- }
-
- }
- }
- return policies;
- }
-
- protected List<PolicySet> findPolicySets() {
- List<PolicySet> policies = new ArrayList<PolicySet>();
- List<PolicySet> policySets = subject.getPolicySets();
- for (PolicySet ps : policySets) {
- for (Object p : ps.getPolicies()) {
- if (policyType.isInstance(p)) {
- policies.add(ps);
- }
- if (p instanceof PolicyExpression) {
- PolicyExpression exp = (PolicyExpression)p;
- if (policyType.isInstance(exp.getPolicy())) {
- policies.add(ps);
- }
- }
- }
- }
- return policies;
- }
-
- protected PolicySet findPolicySet() {
- List<PolicySet> policySets = subject.getPolicySets();
- for (PolicySet ps : policySets) {
- for (Object p : ps.getPolicies()) {
- if (policyType.isInstance(p)) {
- return ps;
- }
- if (p instanceof PolicyExpression) {
- PolicyExpression exp = (PolicyExpression)p;
- if (policyType.isInstance(exp.getPolicy())) {
- return ps;
- }
- }
- }
- }
- return null;
- }
-
- protected String getContext() {
- if (subject instanceof Endpoint) {
- Endpoint endpoint = (Endpoint)subject;
- return endpoint.getURI();
- } else if (subject instanceof EndpointReference) {
- EndpointReference endpointReference = (EndpointReference)subject;
- return endpointReference.getURI();
- } else if (subject instanceof Component) {
- Component component = (Component)subject;
- return component.getURI();
- }
- return null;
- }
-
- public void start() {
- }
-
- public void stop() {
- }
-
- public PhasedInterceptor createInterceptor(Operation operation) {
- return null;
- }
-
- private InvocationChain getInvocationChain() {
- if (subject instanceof Endpoint) {
- Endpoint endpoint = (Endpoint)subject;
- RuntimeComponentService service = (RuntimeComponentService)endpoint.getService();
- RuntimeWire wire = service.getRuntimeWire(endpoint.getBinding());
- List<InvocationChain> chains = wire.getInvocationChains();
- for (InvocationChain chain : chains) {
- configure(chain, chain.getTargetOperation());
- }
-
- } else if (subject instanceof EndpointReference) {
- EndpointReference endpointReference = (EndpointReference)subject;
- RuntimeComponentReference reference = (RuntimeComponentReference)endpointReference.getReference();
- RuntimeWire wire = reference.getRuntimeWire(endpointReference.getBinding());
- List<InvocationChain> chains = wire.getInvocationChains();
- for (InvocationChain chain : chains) {
- configure(chain, chain.getSourceOperation());
- }
- } else if (subject instanceof Component) {
- Component component = (Component)subject;
- for (ComponentService s : component.getServices()) {
- RuntimeComponentService service = (RuntimeComponentService)s;
- for (RuntimeWire wire : service.getRuntimeWires()) {
- List<InvocationChain> chains = wire.getInvocationChains();
- for (InvocationChain chain : chains) {
- configure(chain, chain.getTargetOperation());
- }
- }
-
- }
- }
- return null;
- }
-
- protected void configure(InvocationChain invocationChain, Operation operation) {
- }
-
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BindingProviderFactory.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BindingProviderFactory.java
deleted file mode 100644
index 0e94a28d98..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BindingProviderFactory.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.provider;
-
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.Endpoint;
-import org.apache.tuscany.sca.assembly.EndpointReference;
-
-/**
- * A factory for creating the runtime artifacts that represent bindings.
- *
- * @version $Rev$ $Date$
- */
-public interface BindingProviderFactory<M extends Binding> extends ProviderFactory<M> {
-
- /**
- * Creates a new reference binding provider for the given endpoint reference
- *
- * @param endpointReference defines the component/reference/binding against which to create the provider
- * @return The binding provider
- */
- ReferenceBindingProvider createReferenceBindingProvider(EndpointReference endpointReference);
-
- /**
- * Creates a new service binding provider for the given component and
- * service.
- *
- * @param endpoint defines the component/service/binding against which to create the provider
- * @return The binding provider
- */
- ServiceBindingProvider createServiceBindingProvider(Endpoint endpoint);
-
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java
deleted file mode 100644
index 2ee058a14d..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java
+++ /dev/null
@@ -1,498 +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.provider;
-
-import java.lang.reflect.Constructor;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.Endpoint;
-import org.apache.tuscany.sca.assembly.EndpointReference;
-import org.apache.tuscany.sca.assembly.Implementation;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
-import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * Default implementation of a provider factory extension point.
- *
- * @version $Rev$ $Date$
- */
-public class DefaultProviderFactoryExtensionPoint implements ProviderFactoryExtensionPoint {
-
- private ExtensionPointRegistry registry;
- private final Map<Class<?>, ProviderFactory> providerFactories = new HashMap<Class<?>, ProviderFactory>();
- private final List<PolicyProviderFactory> policyProviderFactories = new ArrayList<PolicyProviderFactory>();
- private boolean loaded;
-
- /**
- * The default constructor. Does nothing.
- *
- */
- public DefaultProviderFactoryExtensionPoint(ExtensionPointRegistry registry) {
- this.registry = registry;
- }
-
- /**
- * Add a provider factory.
- *
- * @param providerFactory The provider factory
- */
- public void addProviderFactory(ProviderFactory providerFactory) {
- if(providerFactory instanceof PolicyProviderFactory) {
- policyProviderFactories.add((PolicyProviderFactory)providerFactory);
- }
- providerFactories.put(providerFactory.getModelType(), providerFactory);
- }
-
- /**
- * Remove a provider factory.
- *
- * @param providerFactory The provider factory
- */
- public void removeProviderFactory(ProviderFactory providerFactory) {
- if(providerFactory instanceof PolicyProviderFactory) {
- policyProviderFactories.remove((PolicyProviderFactory)providerFactory);
- }
- providerFactories.remove(providerFactory.getModelType());
- }
-
- /**
- * Returns the provider factory associated with the given model type.
- * @param modelType A model type
- * @return The provider factory associated with the given model type
- */
- public ProviderFactory getProviderFactory(Class<?> modelType) {
- loadProviderFactories();
-
- Class<?>[] classes = modelType.getInterfaces();
- for (Class<?> c : classes) {
- ProviderFactory factory = providerFactories.get(c);
- if (factory != null) {
- return factory;
- }
- }
- return providerFactories.get(modelType);
- }
-
- public List<PolicyProviderFactory> getPolicyProviderFactories() {
- loadProviderFactories();
- return policyProviderFactories;
- }
-
- /**
- * Load provider factories declared under META-INF/services.
- * @param registry
- */
- private synchronized void loadProviderFactories() {
- if (loaded)
- return;
-
- loadProviderFactories(BindingProviderFactory.class);
- loadProviderFactories(ImplementationProviderFactory.class);
- loadProviderFactories(PolicyProviderFactory.class);
- loadProviderFactories(WireFormatProviderFactory.class);
- loadProviderFactories(OperationSelectorProviderFactory.class);
-
- loaded = true;
- }
-
- /**
- * Load provider factories declared under META-INF/services.
- * @param registry
- * @param factoryClass
- * @return
- */
- private List<ProviderFactory> loadProviderFactories(Class<?> factoryClass) {
-
- // Get the provider factory service declarations
- Collection<ServiceDeclaration> factoryDeclarations;
- ServiceDiscovery serviceDiscovery = registry.getServiceDiscovery();
- try {
- factoryDeclarations = serviceDiscovery.getServiceDeclarations(factoryClass.getName(), true);
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
-
- // Get the target extension point
- ProviderFactoryExtensionPoint factoryExtensionPoint =
- registry.getExtensionPoint(ProviderFactoryExtensionPoint.class);
- List<ProviderFactory> factories = new ArrayList<ProviderFactory>();
-
- for (ServiceDeclaration factoryDeclaration : factoryDeclarations) {
- Map<String, String> attributes = factoryDeclaration.getAttributes();
-
- // Load an implementation provider factory
- if (factoryClass == ImplementationProviderFactory.class) {
- String modelTypeName = attributes.get("model");
-
- // Create a provider factory wrapper and register it
- ImplementationProviderFactory factory =
- new LazyImplementationProviderFactory(registry, modelTypeName, factoryDeclaration);
- factoryExtensionPoint.addProviderFactory(factory);
- factories.add(factory);
-
- } else if (factoryClass == BindingProviderFactory.class) {
-
- // Load a binding provider factory
- String modelTypeName = attributes.get("model");
-
- // Create a provider factory wrapper and register it
- BindingProviderFactory factory =
- new LazyBindingProviderFactory(registry, modelTypeName, factoryDeclaration);
- factoryExtensionPoint.addProviderFactory(factory);
- factories.add(factory);
- } else if (factoryClass == PolicyProviderFactory.class) {
- // Load a policy provider factory
- String modelTypeName = attributes.get("model");
-
- // Create a provider factory wrapper and register it
- PolicyProviderFactory factory =
- new LazyPolicyProviderFactory(registry, modelTypeName, factoryDeclaration);
- factoryExtensionPoint.addProviderFactory(factory);
- factories.add(factory);
- } else if (factoryClass == WireFormatProviderFactory.class) {
-
- // Load a wire format provider factory
- String modelTypeName = attributes.get("model");
-
- // Create a provider factory wrapper and register it
- WireFormatProviderFactory factory =
- new LazyWireFormatProviderFactory(registry, modelTypeName, factoryDeclaration);
- factoryExtensionPoint.addProviderFactory(factory);
- factories.add(factory);
- } else if (factoryClass == OperationSelectorProviderFactory.class) {
-
- // Load a wire format provider factory
- String modelTypeName = attributes.get("model");
-
- // Create a provider factory wrapper and register it
- OperationSelectorProviderFactory factory =
- new LazyOperationSelectorProviderFactory(registry, modelTypeName, factoryDeclaration);
- factoryExtensionPoint.addProviderFactory(factory);
- factories.add(factory);
- }
- }
- return factories;
- }
-
- /**
- * A wrapper around an implementation provider factory allowing lazy
- * loading and initialization of implementation providers.
- */
- private static class LazyBindingProviderFactory implements BindingProviderFactory {
-
- private ExtensionPointRegistry registry;
- private String modelTypeName;
- private ServiceDeclaration factoryDeclaration;
- private BindingProviderFactory factory;
- private Class<?> modelType;
-
- private LazyBindingProviderFactory(ExtensionPointRegistry registry,
- String modelTypeName,
- ServiceDeclaration factoryDeclaration) {
- this.registry = registry;
- this.modelTypeName = modelTypeName;
- this.factoryDeclaration = factoryDeclaration;
- }
-
- @SuppressWarnings("unchecked")
- private BindingProviderFactory getFactory() {
- if (factory == null) {
- try {
- Class<BindingProviderFactory> factoryClass =
- (Class<BindingProviderFactory>)factoryDeclaration.loadClass();
- Constructor<BindingProviderFactory> constructor =
- factoryClass.getConstructor(ExtensionPointRegistry.class);
- factory = constructor.newInstance(registry);
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
- }
- return factory;
- }
-
- @SuppressWarnings("unchecked")
- public ReferenceBindingProvider createReferenceBindingProvider(EndpointReference endpointReference) {
- return getFactory().createReferenceBindingProvider(endpointReference);
- }
-
- @SuppressWarnings("unchecked")
- public ServiceBindingProvider createServiceBindingProvider(Endpoint endpoint) {
- return getFactory().createServiceBindingProvider(endpoint);
- }
-
- public Class<?> getModelType() {
- if (modelType == null) {
- try {
- modelType = factoryDeclaration.loadClass(modelTypeName);
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
- }
- return modelType;
- }
-
- }
-
- /**
- * A wrapper around an implementation provider factory allowing lazy
- * loading and initialization of implementation providers.
- */
- private class LazyImplementationProviderFactory implements ImplementationProviderFactory {
-
- private ExtensionPointRegistry registry;
- private String modelTypeName;
- private ServiceDeclaration providerClass;
- private ImplementationProviderFactory factory;
- private Class<?> modelType;
-
- private LazyImplementationProviderFactory(ExtensionPointRegistry registry,
- String modelTypeName,
- ServiceDeclaration providerClass) {
- this.registry = registry;
- this.modelTypeName = modelTypeName;
- this.providerClass = providerClass;
- }
-
- @SuppressWarnings("unchecked")
- private ImplementationProviderFactory getFactory() {
- if (factory == null) {
- try {
- Class<ImplementationProviderFactory> factoryClass =
- (Class<ImplementationProviderFactory>)providerClass.loadClass();
- Constructor<ImplementationProviderFactory> constructor =
- factoryClass.getConstructor(ExtensionPointRegistry.class);
- factory = constructor.newInstance(registry);
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
- }
- return factory;
- }
-
- @SuppressWarnings("unchecked")
- public ImplementationProvider createImplementationProvider(RuntimeComponent component,
- Implementation Implementation) {
- return getFactory().createImplementationProvider(component, Implementation);
- }
-
- public Class<?> getModelType() {
- if (modelType == null) {
- try {
-
- modelType = providerClass.loadClass(modelTypeName);
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
- }
- return modelType;
- }
-
- }
-
- /**
- * A wrapper around an policy provider factory allowing lazy
- * loading and initialization of policy providers.
- */
- private class LazyPolicyProviderFactory implements PolicyProviderFactory {
- private ExtensionPointRegistry registry;
- private String modelTypeName;
- private ServiceDeclaration providerClass;
- private PolicyProviderFactory factory;
- private Class<?> modelType;
-
- private LazyPolicyProviderFactory(ExtensionPointRegistry registry,
- String modelTypeName,
- ServiceDeclaration providerClass) {
- this.registry = registry;
- this.modelTypeName = modelTypeName;
- this.providerClass = providerClass;
- }
-
- @SuppressWarnings("unchecked")
- private PolicyProviderFactory getFactory() {
- if (factory == null) {
- try {
- Class<PolicyProviderFactory> factoryClass = (Class<PolicyProviderFactory>)providerClass.loadClass();
- Constructor<PolicyProviderFactory> constructor =
- factoryClass.getConstructor(ExtensionPointRegistry.class);
- factory = constructor.newInstance(registry);
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
- }
- return factory;
- }
-
- public PolicyProvider createImplementationPolicyProvider(RuntimeComponent component) {
- return getFactory().createImplementationPolicyProvider(component);
- }
-
- public PolicyProvider createReferencePolicyProvider(EndpointReference endpointReference) {
- return getFactory().createReferencePolicyProvider(endpointReference);
- }
-
- public PolicyProvider createServicePolicyProvider(Endpoint endpoint) {
- return getFactory().createServicePolicyProvider(endpoint);
- }
-
- public Class<?> getModelType() {
- if (modelType == null) {
- try {
- modelType = providerClass.loadClass(modelTypeName);
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
- }
- return modelType;
- }
- }
-
- /**
- * A wrapper around a wire format provider factory allowing lazy
- * loading and initialization of wire format providers.
- */
- private class LazyWireFormatProviderFactory implements WireFormatProviderFactory {
-
- private ExtensionPointRegistry registry;
- private String modelTypeName;
- private ServiceDeclaration providerClass;
- private WireFormatProviderFactory factory;
- private Class<?> modelType;
-
- private LazyWireFormatProviderFactory(ExtensionPointRegistry registry,
- String modelTypeName,
- ServiceDeclaration providerClass) {
- this.registry = registry;
- this.modelTypeName = modelTypeName;
- this.providerClass = providerClass;
- }
-
- @SuppressWarnings("unchecked")
- private WireFormatProviderFactory getFactory() {
- if (factory == null) {
- try {
- Class<WireFormatProviderFactory> factoryClass =
- (Class<WireFormatProviderFactory>)providerClass.loadClass();
- Constructor<WireFormatProviderFactory> constructor =
- factoryClass.getConstructor(ExtensionPointRegistry.class);
- factory = constructor.newInstance(registry);
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
- }
- return factory;
- }
-
- public WireFormatProvider createReferenceWireFormatProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- Binding binding){
- return getFactory().createReferenceWireFormatProvider(component, reference, binding);
- }
-
- public WireFormatProvider createServiceWireFormatProvider(RuntimeComponent component,
- RuntimeComponentService service,
- Binding binding){
- return getFactory().createServiceWireFormatProvider(component, service, binding);
- }
-
- public Class<?> getModelType() {
- if (modelType == null) {
- try {
-
- modelType = providerClass.loadClass(modelTypeName);
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
- }
- return modelType;
- }
- }
-
- /**
- * A wrapper around a operation selector provider factory allowing lazy
- * loading and initialization of operation selector providers.
- */
- private class LazyOperationSelectorProviderFactory implements OperationSelectorProviderFactory {
-
- private ExtensionPointRegistry registry;
- private String modelTypeName;
- private ServiceDeclaration providerClass;
- private OperationSelectorProviderFactory factory;
- private Class<?> modelType;
-
- private LazyOperationSelectorProviderFactory(ExtensionPointRegistry registry,
- String modelTypeName,
- ServiceDeclaration providerClass) {
- this.registry = registry;
- this.modelTypeName = modelTypeName;
- this.providerClass = providerClass;
- }
-
- @SuppressWarnings("unchecked")
- private OperationSelectorProviderFactory getFactory() {
- if (factory == null) {
- try {
- Class<OperationSelectorProviderFactory> factoryClass =
- (Class<OperationSelectorProviderFactory>)providerClass.loadClass();
- Constructor<OperationSelectorProviderFactory> constructor =
- factoryClass.getConstructor(ExtensionPointRegistry.class);
- factory = constructor.newInstance(registry);
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
- }
- return factory;
- }
-
- public OperationSelectorProvider createReferenceOperationSelectorProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- Binding binding){
- return getFactory().createReferenceOperationSelectorProvider(component, reference, binding);
- }
-
- public OperationSelectorProvider createServiceOperationSelectorProvider(RuntimeComponent component,
- RuntimeComponentService service,
- Binding binding){
- return getFactory().createServiceOperationSelectorProvider(component, service, binding);
- }
-
- public Class<?> getModelType() {
- if (modelType == null) {
- try {
-
- modelType = providerClass.loadClass(modelTypeName);
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
- }
- return modelType;
- }
- }
-
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProvider.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProvider.java
deleted file mode 100644
index 015c673d66..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProvider.java
+++ /dev/null
@@ -1,68 +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.provider;
-
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * A component implementation can implement this interface in order to tie
- * into the Tuscany runtime
- *
- * @version $Rev$ $Date$
- */
-public interface ImplementationProvider {
-
- /**
- * This method will be invoked when the component implementation
- * is activated.
- */
- void start();
-
- /**
- * This method will be invoked when the component implementation
- * is deactivated.
- */
- void stop();
-
- /**
- * Create an invoker for the component implementation in the invocation
- * chain. The invoker will be responsible for calling the implementation
- * logic for the given component.
- *
- * @param service The component service
- * @param operation The operation that the interceptor will handle
- * @return An invoker that handles the invocation logic, null should be
- * returned if no invoker is required
- */
- Invoker createInvoker(RuntimeComponentService service, Operation operation);
-
- /**
- * For bindings that invoke one-way callback operations asynchronously,
- * there is no need to perform a thread switch before calling the invoker.
- * This method indicates whether the binding has this capability.
- *
- * @return true if the callback invoker is able to invoke one-way operations
- * asynchronously, false if all invocations are synchronous
- */
- boolean supportsOneWayInvocation();
-
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProviderFactory.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProviderFactory.java
deleted file mode 100644
index 6a37d1e951..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProviderFactory.java
+++ /dev/null
@@ -1,42 +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.provider;
-
-import org.apache.tuscany.sca.assembly.Implementation;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-
-/**
- * An interface for factories that create implementation providers.
- *
- * @version $Rev$ $Date$
- */
-public interface ImplementationProviderFactory<M extends Implementation> extends ProviderFactory<M> {
-
- /**
- * Creates a new implementation provider for the given
- * component.
- *
- * @param component The runtime component
- * @param Implementation The implementation type
- * @return The implementation provider
- */
- ImplementationProvider createImplementationProvider(RuntimeComponent component, M Implementation);
-
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProvider.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProvider.java
deleted file mode 100644
index f385c7dfba..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProvider.java
+++ /dev/null
@@ -1,39 +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.provider;
-
-import org.apache.tuscany.sca.invocation.Interceptor;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface OperationSelectorProvider {
- /**
- * Create an interceptor for the operation selector
- * @return An interceptor that realize the policySet
- */
- Interceptor createInterceptor();
-
- /**
- * Get the phase that the interceptor should be added
- * @return The phase that this interceptor belongs to
- */
- String getPhase();
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProviderFactory.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProviderFactory.java
deleted file mode 100644
index 183b38cb33..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProviderFactory.java
+++ /dev/null
@@ -1,53 +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.provider;
-
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.OperationSelector;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface OperationSelectorProviderFactory<M extends OperationSelector> extends ProviderFactory<M> {
- /**
- * Create wire format provider for a given reference binding
- * @param component
- * @param reference
- * @param binding
- * @return
- */
- OperationSelectorProvider createReferenceOperationSelectorProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- Binding binding);
-
- /**
- * Create policy provider for a given service binding
- * @param component
- * @param service
- * @param binding
- * @return
- */
- OperationSelectorProvider createServiceOperationSelectorProvider(RuntimeComponent component,
- RuntimeComponentService service,
- Binding binding);
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyImplementor.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyImplementor.java
deleted file mode 100644
index f2b59a7c54..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyImplementor.java
+++ /dev/null
@@ -1,38 +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.provider;
-
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-/**
- * This interface can be optionally implemented by the Binding or Implementation providers to
- * indicate if they implement the policies in the binding/implementation provider.
- *
- * @version $Rev$ $Date$
- */
-public interface PolicyImplementor {
- /**
- * Get a list of policy names that are implemented by this policy implementor
- * @return A list of policy names
- */
- List<QName> getImplementedPolicies();
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProvider.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProvider.java
deleted file mode 100644
index 00ef0d1c3c..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProvider.java
+++ /dev/null
@@ -1,45 +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.provider;
-
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.PhasedInterceptor;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface PolicyProvider {
- /**
- * Create an interceptor for a given operation
- * @param operation
- * @return An interceptor that realize the policySet
- */
- PhasedInterceptor createInterceptor(Operation operation);
-
- /**
- * Start the provider
- */
- void start();
-
- /**
- * Stop the provider
- */
- void stop();
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.java
deleted file mode 100644
index 564e6c633b..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.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.provider;
-
-import org.apache.tuscany.sca.assembly.Endpoint;
-import org.apache.tuscany.sca.assembly.EndpointReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface PolicyProviderFactory<M> extends ProviderFactory<M> {
- /**
- * Create policy provider for a given reference binding
- * @param endpointReference The endpoint reference
- * @return A policy provider for the endpoint reference
- */
- PolicyProvider createReferencePolicyProvider(EndpointReference endpointReference);
-
- /**
- * Create policy provider for a given service binding
- * @param endpoint The endpoint
- * @return A policy provider for the endpoint
- */
- PolicyProvider createServicePolicyProvider(Endpoint endpoint);
-
- /**
- * Create policy provider for a given component implementation
- * @param component
- * @return A policy provider for the implementation
- */
- PolicyProvider createImplementationPolicyProvider(RuntimeComponent component);
-
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderRRB.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderRRB.java
deleted file mode 100644
index 6e7f2bd554..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderRRB.java
+++ /dev/null
@@ -1,37 +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.provider;
-
-import org.apache.tuscany.sca.invocation.PhasedInterceptor;
-
-/**
- * TODO RRB experiment
- * This is an experiment extension to try out the request response
- * binding function
- * @version $Rev$ $Date$
- */
-public interface PolicyProviderRRB extends PolicyProvider {
- /**
- * Create a binding interceptor
- * @return An interceptor that realize the policySet
- */
- PhasedInterceptor createBindingInterceptor();
-
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactory.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactory.java
deleted file mode 100644
index 2102806881..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactory.java
+++ /dev/null
@@ -1,36 +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.provider;
-
-/**
- * A factory for runtime providers.
- *
- * @version $Rev$ $Date$
- */
-public interface ProviderFactory<M> {
-
- /**
- * The model type that this factory creates providers for.
- *
- * @return the model type
- */
- Class<M> getModelType();
-
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java
deleted file mode 100644
index d8f9973338..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java
+++ /dev/null
@@ -1,63 +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.provider;
-
-import java.util.List;
-
-
-/**
- * An extension point for provider factories. Holds all of the provider
- * factories from loaded extension points. Allows a provider factory
- * to be located based on a given model type. Hence the runtime can
- * generate runtime artifacts from the in memory assembly model.
- *
- * @version $Rev$ $Date$
- */
-public interface ProviderFactoryExtensionPoint {
-
-
- /**
- * Add a provider factory.
- *
- * @param providerFactory The provider factory
- */
- void addProviderFactory(ProviderFactory providerFactory);
-
- /**
- * Remove a provider factory.
- *
- * @param providerFactory The provider factory
- */
- void removeProviderFactory(ProviderFactory providerFactory);
-
- /**
- * Returns the provider factory associated with the given model type.
- * @param modelType A model type
- * @return The provider factory associated with the given model type
- */
- ProviderFactory getProviderFactory(Class<?> modelType);
-
- /**
- * Get a list of registered PolicyProviderFactory
- * @return a list of registered PolicyProviderFactory
- */
- List<PolicyProviderFactory> getPolicyProviderFactories();
-
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProvider.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProvider.java
deleted file mode 100644
index b3ab1d8b87..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProvider.java
+++ /dev/null
@@ -1,76 +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.provider;
-
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-
-/**
- * A reference binding implementation can options implement this
- * interface to tie into the Tuscany SCA runtime
- *
- * @version $Rev$ $Date$
- */
-public interface ReferenceBindingProvider {
-
- /**
- * This method will be invoked when the component reference binding is
- * activated.
- */
- void start();
-
- /**
- * This method will be invoked when the component reference binding is
- * deactivated.
- */
- void stop();
-
- /**
- * Create an invoker for the reference binding in the invocation chain. The
- * invoker is responsible for making the outbound invocation over the
- * binding protocol.
- *
- * @param operation The operation that the interceptor will handle
- * @return An invoker that handles the invocation logic, null should be
- * returned if no invoker is required
- */
- Invoker createInvoker(Operation operation);
-
- /**
- * Get the effective interface contract imposed by the binding. For example,
- * it will be interface contract introspected from the WSDL portType used by
- * the endpoint for a WebService binding.
- *
- * @return The effective interface contract, if null is returned, the
- * interface contract for the component reference will be used
- */
- InterfaceContract getBindingInterfaceContract();
-
- /**
- * For bindings that invoke one-way operations asynchronously, there is no
- * need to perform a thread switch before calling the invoker. This method
- * indicates whether the binding has this capability.
- *
- * @return true if the binding invoker is able to invoke one-way operations
- * asynchronously, false if all invocations are synchronous
- */
- boolean supportsOneWayInvocation();
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProviderRRB.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProviderRRB.java
deleted file mode 100644
index 3ea9d0ac3c..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProviderRRB.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.provider;
-
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-
-/**
- * TODO RRB experiment
- * This is an experiment extension to try out the request response
- * binding function
- *
- * @version $Rev$ $Date$
- */
-public interface ReferenceBindingProviderRRB extends ReferenceBindingProvider {
-
- void configureBindingChain(RuntimeWire runtimeWire);
-
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProvider.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProvider.java
deleted file mode 100644
index e15234a549..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProvider.java
+++ /dev/null
@@ -1,63 +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.provider;
-
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-
-/**
- * A service binding can optionally implement this interface to tie
- * into the Tuscany SCA runtime
- *
- * @version $Rev$ $Date$
- */
-public interface ServiceBindingProvider {
- /**
- * This method will be invoked when the component service binding is
- * activated.
- */
- void start();
-
- /**
- * This method will be invoked when the component service binding is
- * deactivated.
- */
- void stop();
-
- /**
- * Get the effective interface contract imposed by the binding. For example,
- * it will be interface contract introspected from the WSDL portType used by
- * the endpoint for a WebService binding.
- *
- * @return The effective interface contract, if null is returned, the
- * interface contract for the component service will be used
- */
- InterfaceContract getBindingInterfaceContract();
-
- /**
- * For bindings that invoke one-way callback operations asynchronously,
- * there is no need to perform a thread switch before calling the invoker.
- * This method indicates whether the binding has this capability.
- *
- * @return true if the callback invoker is able to invoke one-way operations
- * asynchronously, false if all invocations are synchronous
- */
- boolean supportsOneWayInvocation();
-
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProviderRRB.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProviderRRB.java
deleted file mode 100644
index 278bb23e0a..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProviderRRB.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.provider;
-
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-
-/**
- * TODO RRB experiment
- * This is an experiment extension to try out the request response
- * binding function
- *
- * @version $Rev$ $Date$
- */
-public interface ServiceBindingProviderRRB extends ServiceBindingProvider {
-
- void configureBindingChain(RuntimeWire runtimeWire);
-
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProvider.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProvider.java
deleted file mode 100644
index b3a2b4763e..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProvider.java
+++ /dev/null
@@ -1,54 +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.provider;
-
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.invocation.Interceptor;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface WireFormatProvider {
-
- /**
- * Set up the contract that describes the interface that
- * is providing data to or accepting data from the
- * wire format interceptor. The wire format's job
- * is to translate between this interface contract and the
- * format on the wire. The interface contract may be
- * configured separately for request and response
- * wire formats
- *
- * @return the wire format interface contract
- */
- public InterfaceContract configureWireFormatInterfaceContract(InterfaceContract interfaceContract);
-
- /**
- * Create an interceptor for the wire format
- * @return An interceptor that realize the policySet
- */
- Interceptor createInterceptor();
-
- /**
- * Get the phase that the interceptor should be added
- * @return The phase that this interceptor belongs to
- */
- String getPhase();
-}
diff --git a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProviderFactory.java b/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProviderFactory.java
deleted file mode 100644
index fd748df6ca..0000000000
--- a/tags/java/sca/2.0-M4-RC1/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProviderFactory.java
+++ /dev/null
@@ -1,53 +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.provider;
-
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.WireFormat;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface WireFormatProviderFactory<M extends WireFormat> extends ProviderFactory<M> {
- /**
- * Create wire format provider for a given reference binding
- * @param component
- * @param reference
- * @param binding
- * @return
- */
- WireFormatProvider createReferenceWireFormatProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- Binding binding);
-
- /**
- * Create policy provider for a given service binding
- * @param component
- * @param service
- * @param binding
- * @return
- */
- WireFormatProvider createServiceWireFormatProvider(RuntimeComponent component,
- RuntimeComponentService service,
- Binding binding);
-}