summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/tags/2.0-Beta2-RC1/samples/extending-tuscany/implementation-sample/src/main/java/sample/impl/SampleWSDLInvoker.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/SampleWSDLInvoker.java')
-rw-r--r--sca-java-2.x/tags/2.0-Beta2-RC1/samples/extending-tuscany/implementation-sample/src/main/java/sample/impl/SampleWSDLInvoker.java134
1 files changed, 0 insertions, 134 deletions
diff --git a/sca-java-2.x/tags/2.0-Beta2-RC1/samples/extending-tuscany/implementation-sample/src/main/java/sample/impl/SampleWSDLInvoker.java b/sca-java-2.x/tags/2.0-Beta2-RC1/samples/extending-tuscany/implementation-sample/src/main/java/sample/impl/SampleWSDLInvoker.java
deleted file mode 100644
index 5c76cfd90a..0000000000
--- a/sca-java-2.x/tags/2.0-Beta2-RC1/samples/extending-tuscany/implementation-sample/src/main/java/sample/impl/SampleWSDLInvoker.java
+++ /dev/null
@@ -1,134 +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.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.lang.reflect.Method;
-
-import org.apache.tuscany.sca.core.invocation.AsyncResponseInvoker;
-import org.apache.tuscany.sca.core.invocation.InterceptorAsyncImpl;
-import org.apache.tuscany.sca.interfacedef.wsdl.WSDLOperation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
-import org.oasisopen.sca.ServiceRuntimeException;
-import org.w3c.dom.Element;
-
-/**
- * Invoker for Sample components that implement a WSDL interface using a generic
- * call method.
- *
- * @version $Rev$ $Date$
- */
-class SampleWSDLInvoker extends InterceptorAsyncImpl {
- final String name;
- final Object instance;
- final Method method;
-
- SampleWSDLInvoker(final WSDLOperation op, final Class<?> clazz, final Object instance) throws SecurityException, NoSuchMethodException {
- this.name = op.getName();
- this.instance = instance;
- this.method = clazz.getMethod("call", String.class, Element.class);
- }
-
- public Invoker getNext() {
- // Can't get next for an implementation invoker
- return null;
- }
-
- public Message invoke(final Message msg) {
- return processRequest(msg);
- }
-
- public void invokeAsyncRequest(Message msg) {
- if (msg.getOperation().getName().equals("upper")){
- // Retrieve the async callback information
- AsyncResponseInvoker respInvoker = (AsyncResponseInvoker)msg.getHeaders().get("ASYNC_RESPONSE_INVOKER");
- if( respInvoker == null ) throw new ServiceRuntimeException("Async Implementation invoked with no response invoker");
-
- Message responseMsg = processRequest(msg);
-
- // in this sample programming model we make the async
- // response from the implementation provider. The
- // component implementation itself doesn't get a chance to
- // do async responses.
-
- // At this point we could serialize the AsyncResponseInvoker and pick it up again
- // later to send the async response
-
- try {
- FileOutputStream fos = new FileOutputStream("ari.dat");
- ObjectOutputStream oos = new ObjectOutputStream(fos);
- oos.writeObject(respInvoker);
- oos.close();
- respInvoker.invokeAsyncResponse(responseMsg);
- } catch (Exception ex) {
- ex.printStackTrace();
- }
-
- } else if (msg.getOperation().getName().equals("upper2")){
- Message responseMsg = processRequest(msg);
-
- // read the async response invoker back in and call it
- FileInputStream fis = null;
- ObjectInputStream ois = null;
- try {
- fis = new FileInputStream("ari.dat");
- ois = new ObjectInputStream(fis);
- AsyncResponseInvoker respInvoker = (AsyncResponseInvoker) ois.readObject();
- ois.close();
- respInvoker.invokeAsyncResponse(responseMsg);
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- } else {
- // Retrieve the async callback information
- AsyncResponseInvoker respInvoker = (AsyncResponseInvoker)msg.getHeaders().get("ASYNC_RESPONSE_INVOKER");
- if( respInvoker == null ) throw new ServiceRuntimeException("Async Implementation invoked with no response invoker");
-
- Message responseMsg = processRequest(msg);
-
- if (responseMsg.getBody() != null){
- respInvoker.invokeAsyncResponse(responseMsg);
- }
- }
-
- } // end method invokeAsyncRequest
-
- public Message processRequest(Message msg) {
- try {
- //AsyncHeader asyncHeader = (String) message.getHeaders().get("ASYNC-HEADER");
- // Invoke the generic call method
- Object response = method.invoke(instance, name, ((Object[])msg.getBody())[0]);
- msg.setBody(response);
- } catch(Exception e) {
- e.printStackTrace();
- msg.setFaultBody(e.getCause());
- }
- return msg;
- }
-
- public Message processResponse(Message msg) {
- return msg;
- }
-}