summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/tags/2.0-Beta2-RC1/samples/extending-tuscany/implementation-sample/src/main/java/sample/impl/SampleProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/tags/2.0-Beta2-RC1/samples/extending-tuscany/implementation-sample/src/main/java/sample/impl/SampleProvider.java')
-rw-r--r--sca-java-2.x/tags/2.0-Beta2-RC1/samples/extending-tuscany/implementation-sample/src/main/java/sample/impl/SampleProvider.java114
1 files changed, 0 insertions, 114 deletions
diff --git a/sca-java-2.x/tags/2.0-Beta2-RC1/samples/extending-tuscany/implementation-sample/src/main/java/sample/impl/SampleProvider.java b/sca-java-2.x/tags/2.0-Beta2-RC1/samples/extending-tuscany/implementation-sample/src/main/java/sample/impl/SampleProvider.java
deleted file mode 100644
index 7186c0a0d2..0000000000
--- a/sca-java-2.x/tags/2.0-Beta2-RC1/samples/extending-tuscany/implementation-sample/src/main/java/sample/impl/SampleProvider.java
+++ /dev/null
@@ -1,114 +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 sample.impl;
-
-import java.lang.reflect.Field;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.invocation.ProxyFactory;
-import org.apache.tuscany.sca.interfacedef.Interface;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
-import org.apache.tuscany.sca.interfacedef.java.JavaOperation;
-import org.apache.tuscany.sca.interfacedef.wsdl.WSDLOperation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.InvokerAsyncRequest;
-import org.apache.tuscany.sca.invocation.InvokerAsyncResponse;
-import org.apache.tuscany.sca.provider.ImplementationAsyncProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * Implementation provider for Sample component implementations.
- *
- * @version $Rev$ $Date$
- */
-class SampleProvider implements ImplementationAsyncProvider {
- final RuntimeComponent comp;
- final SampleImplementation impl;
- final ProxyFactory pxf;
- final ExtensionPointRegistry ep;
- Object instance;
-
- // make this static rather than worrying about persistence on the reference side
- static Map<String, Object> asyncMessageMap = new HashMap<String, Object>();
-
- SampleProvider(final RuntimeComponent comp, final SampleImplementation impl, ProxyFactory pf, ExtensionPointRegistry ep) {
- this.comp = comp;
- this.impl = impl;
- this.pxf = pf;
- this.ep = ep;
- }
-
- public void start() {
- // Construct implementation instance and inject reference proxies
- try {
- instance = impl.clazz.newInstance();
-
- for(ComponentReference r: comp.getReferences()) {
- final Field f = impl.clazz.getDeclaredField(r.getName());
- f.setAccessible(true);
- // Inject a Java or WSDLReference proxy
- final Interface i = r.getInterfaceContract().getInterface();
- if(i instanceof JavaInterface)
- f.set(instance, pxf.createProxy(comp.getComponentContext().getServiceReference(f.getType(), r.getName())));
- else
- f.set(instance, new SampleWSDLProxy(asyncMessageMap, r.getEndpointReferences().get(0), i, ep));
- }
- } catch(Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- public void stop() {
- instance = null;
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- public Invoker createInvoker(final RuntimeComponentService s, final Operation op) {
- try {
- // Creating an invoker for a Java or WSDL-typed implementation
- if(op instanceof JavaOperation)
- return new SampleJavaInvoker((JavaOperation)op, impl.clazz, instance);
- return new SampleWSDLInvoker((WSDLOperation)op, impl.clazz, instance);
- } catch(Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- public InvokerAsyncRequest createAsyncInvoker(RuntimeComponentService service, Operation operation) {
- // Only providing Async support through WSDL interfaces in this test
- try {
- return new SampleWSDLInvoker((WSDLOperation)operation, impl.clazz, instance);
- } catch(Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- public InvokerAsyncResponse createAsyncResponseInvoker(Operation operation) {
- return new SampleAsyncResponseInvoker(asyncMessageMap, operation, impl.clazz, instance);
- }
-}