summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider')
-rw-r--r--branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java50
-rw-r--r--branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingProviderFactory.java57
-rw-r--r--branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java64
-rw-r--r--branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java106
4 files changed, 0 insertions, 277 deletions
diff --git a/branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java b/branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java
deleted file mode 100644
index ade2603516..0000000000
--- a/branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.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.jsonrpc.provider;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-
-/**
- * Interceptor for the sample JSONRPC binding.
- *
- * @version $Rev$ $Date$
- */
-public class JSONRPCBindingInvoker implements Invoker {
-
- private Object echo(Object[] args) throws InvocationTargetException {
- // echo back the result, a real binding would invoke some API for flowing the request
- return args[0];
- }
-
- public Message invoke(Message msg) {
- try {
- Object resp = echo((Object[])msg.getBody());
- msg.setBody(resp);
- } catch (InvocationTargetException e) {
- msg.setFaultBody(e.getCause());
- } catch (Throwable e) {
- msg.setFaultBody(e);
- }
- return msg;
- }
-
-}
diff --git a/branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingProviderFactory.java b/branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingProviderFactory.java
deleted file mode 100644
index 4bbf39e02c..0000000000
--- a/branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingProviderFactory.java
+++ /dev/null
@@ -1,57 +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.jsonrpc.provider;
-
-import org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBinding;
-import org.apache.tuscany.sca.http.ServletHost;
-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.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-
-
-/**
- * Implementation of the JSONRPC binding model.
- *
- * @version $Rev$ $Date$
- */
-public class JSONRPCBindingProviderFactory implements BindingProviderFactory<JSONRPCBinding> {
-
- ServletHost servletHost;
-
- public JSONRPCBindingProviderFactory(ServletHost servletHost) {
- this.servletHost = servletHost;
- }
-
- public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, RuntimeComponentReference reference, JSONRPCBinding binding) {
- return new JSONRPCReferenceBindingProvider(component, reference, binding);
- }
-
- public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, RuntimeComponentService service, JSONRPCBinding binding) {
- return new JSONRPCServiceBindingProvider(component, service, binding, servletHost);
- }
-
- public Class<JSONRPCBinding> getModelType() {
- return JSONRPCBinding.class;
- }
-}
diff --git a/branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java b/branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java
deleted file mode 100644
index c8e43d824a..0000000000
--- a/branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java
+++ /dev/null
@@ -1,64 +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.jsonrpc.provider;
-
-import org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBinding;
-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.ReferenceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-
-
-/**
- * Implementation of the JSONRPC binding provider.
- *
- * @version $Rev$ $Date$
- */
-public class JSONRPCReferenceBindingProvider implements ReferenceBindingProvider {
-
- private RuntimeComponentReference reference;
-
- public JSONRPCReferenceBindingProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- JSONRPCBinding binding) {
- this.reference = reference;
- }
-
- public Invoker createInvoker(Operation operation, boolean isCallback) {
- if (isCallback) {
- throw new UnsupportedOperationException();
- } else {
- return new JSONRPCBindingInvoker();
- }
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return reference.getInterfaceContract();
- }
-
- public void start() {
- }
-
- public void stop() {
- }
-
-}
diff --git a/branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java b/branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java
deleted file mode 100644
index be593baa97..0000000000
--- a/branches/sca-java-0.90/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java
+++ /dev/null
@@ -1,106 +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.jsonrpc.provider;
-
-import org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBinding;
-import org.apache.tuscany.sca.binding.jsonrpc.server.JSONRPCEntryPointServlet;
-import org.apache.tuscany.sca.binding.jsonrpc.server.JSONRPCScriptServlet;
-import org.apache.tuscany.sca.http.ServletHost;
-import org.apache.tuscany.sca.interfacedef.Interface;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * Implementation of the JSONRPC binding provider.
- *
- * @version $Rev$ $Date$
- */
-public class JSONRPCServiceBindingProvider implements ServiceBindingProvider {
-
- private static int servletRegistrationCount = 0;
- private RuntimeComponent component;
- private RuntimeComponentService service;
- private JSONRPCBinding binding;
- private ServletHost servletHost;
-
- // path to the JSONRPC javascript servlet
- public static final String SCRIPT_GETTER_SERVICE_MAPPING = "/SCA/scripts";
-
- public static final String JSONRPC_SERVICE_MAPPING_PREFIX = "/";
-
- public JSONRPCServiceBindingProvider(RuntimeComponent component,
- RuntimeComponentService service,
- JSONRPCBinding binding,
- ServletHost servletHost) {
- this.component = component;
- this.service = service;
- this.binding = binding;
- this.servletHost = servletHost;
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return service.getInterfaceContract();
- }
-
- public void start() {
- JSONRPCEntryPointServlet servlet;
-
- Class<?> aClass = getTargetJavaClass(service.getInterfaceContract().getInterface());
- Object instance = component.createSelfReference(aClass).getService();
-
- servlet = new JSONRPCEntryPointServlet(binding.getName(), aClass, instance);
-
- // register the servlet based on the service name
- servletHost.addServletMapping(JSONRPC_SERVICE_MAPPING_PREFIX + binding.getName(), servlet);
-
- // if the script getter servlet is not already registered then register
- // it
- if (servletRegistrationCount == 0) {
- servletHost.addServletMapping(SCRIPT_GETTER_SERVICE_MAPPING, new JSONRPCScriptServlet());
- }
-
- // increase the registered servlet count
- servletRegistrationCount++;
- }
-
- public void stop() {
-
- // Unregister from the servlet mapping
- servletHost.removeServletMapping(JSONRPC_SERVICE_MAPPING_PREFIX + binding.getName());
- servletRegistrationCount--;
- // if we unregistered the last JSONRPC servlet, then unreister the
- // script servlet
- if (servletRegistrationCount == 0) {
- servletHost.removeServletMapping(SCRIPT_GETTER_SERVICE_MAPPING);
- }
- }
-
- private Class<?> getTargetJavaClass(Interface targetInterface) {
- // TODO: right now assume that the target is always a Java
- // Implementation. Need to figure out
- // how to generate Java Interface in cases where the target is not a
- // Java Implementation
- return ((JavaInterface)targetInterface).getJavaClass();
- }
-
-}