summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/binding-jsonrpc-runtime/src/main/java
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-10-02 16:51:27 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-10-02 16:51:27 +0000
commit8316669d4cc10f622c17d7992eb44d7e4d59b9c4 (patch)
treed1fdc18373e49f45f938e56f2e7fef873a27f69a /java/sca/modules/binding-jsonrpc-runtime/src/main/java
parent8b3dbaddb7d0727edd0521514e0c0bace1f909f4 (diff)
Removing support for scaDomain.js
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@821096 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/binding-jsonrpc-runtime/src/main/java')
-rw-r--r--java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java43
-rw-r--r--java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/ScaDomainScriptServlet.java114
2 files changed, 2 insertions, 155 deletions
diff --git a/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java b/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java
index 1444af4e71..5acc89f8be 100644
--- a/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java
+++ b/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java
@@ -19,7 +19,6 @@
package org.apache.tuscany.sca.binding.jsonrpc.provider;
-import java.net.URI;
import java.util.ArrayList;
import java.util.List;
@@ -45,12 +44,6 @@ import org.apache.tuscany.sca.runtime.RuntimeComponentService;
* @version $Rev$ $Date$
*/
public class JSONRPCServiceBindingProvider implements ServiceBindingProvider {
-
- // Path to the scaDomain.js script
- // Note: this is the same as the Ajax binding to keep the client code
- // the same for clients using either the ajax or jsonrpc binding
- private static final String SCA_DOMAIN_SCRIPT = "/SCADomain/scaDomain.js";
-
private MessageFactory messageFactory;
private Endpoint endpoint;
@@ -98,7 +91,7 @@ public class JSONRPCServiceBindingProvider implements ServiceBindingProvider {
Class<?> serviceInterface = getTargetJavaClass(serviceContract.getInterface());
// Create a Java proxy to the target service
- Object proxy = component.getComponentContext().createSelfReference(serviceInterface, service).getService();
+ Object proxy = component.getComponentContext().createSelfReference(serviceInterface, service).getService();
// Create and register a Servlet for this service
JSONRPCServiceServlet serviceServlet =
@@ -110,32 +103,11 @@ public class JSONRPCServiceBindingProvider implements ServiceBindingProvider {
if (!mapping.endsWith("*")) {
mapping += "*";
}
-
+
servletHost.addServletMapping(mapping, serviceServlet);
servletMappings.add(mapping);
servletHost.addServletMapping(binding.getURI(), serviceServlet);
servletMappings.add(binding.getURI());
-
- // Register service to scaDomain.js
- int port;
- URI uri = URI.create(servletHost.getURLMapping(binding.getURI()).toString());
- port = uri.getPort();
- if (port == -1) {
- port = servletHost.getDefaultPort();
- }
-
- // get the ScaDomainScriptServlet, if it doesn't yet exist create one
- // this uses removeServletMapping / addServletMapping as there is no getServletMapping facility
- domainScriptMapping = URI.create("http://localhost:" + port + SCA_DOMAIN_SCRIPT).toString();
- ScaDomainScriptServlet scaDomainServlet =
- (ScaDomainScriptServlet)servletHost.getServletMapping(domainScriptMapping);
- if (scaDomainServlet == null) {
- scaDomainServlet = new ScaDomainScriptServlet();
- servletHost.addServletMapping(domainScriptMapping, scaDomainServlet);
- }
-
- // Add this service to the SCA Domain Script Servlet
- scaDomainServlet.addService(binding.getName());
}
public void stop() {
@@ -145,17 +117,6 @@ public class JSONRPCServiceBindingProvider implements ServiceBindingProvider {
servletHost.removeServletMapping(mapping);
}
- // Unregister the service from the SCA Domain Script Servlet
- ScaDomainScriptServlet scaDomainServlet = (ScaDomainScriptServlet) servletHost.getServletMapping(domainScriptMapping);
- if (scaDomainServlet != null) {
- scaDomainServlet.removeService(binding.getName());
-
- // Remove the Servlet if there's no more registered services
- if (scaDomainServlet.getServiceNames().isEmpty()) {
- servletHost.removeServletMapping(domainScriptMapping);
- }
- }
-
}
private Class<?> getTargetJavaClass(Interface targetInterface) {
diff --git a/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/ScaDomainScriptServlet.java b/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/ScaDomainScriptServlet.java
deleted file mode 100644
index 999588abf1..0000000000
--- a/java/sca/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/ScaDomainScriptServlet.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 org.apache.tuscany.sca.binding.jsonrpc.provider;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * Servlet to handle requests for the scaDomain.js script.
- *
- * This script wrappers the JSON-RPC-Java jsonrpc.js script
- * adding in at the bottom the JavaScript to create and initialize
- * the variables representing the SCA services.
- *
- * @version $Rev$ $Date$
- */
-public class ScaDomainScriptServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
-
- protected transient List<String> serviceNames;
-
- public ScaDomainScriptServlet() {
- serviceNames = new ArrayList<String>();
- }
-
- @Override
- public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
-
- ServletOutputStream os = response.getOutputStream();
-
- os.println();
- os.println("/* Apache Tuscany scaDomain.js Header */");
- os.println();
-
- writeJSONRPCJavaScript(os);
- writeScaDomainCode(os, request.getServletPath());
- }
-
- /**
- * Creates a JavaScript variable within the scaDomain script for each SCA service and
- * initializes its value with the JSON-RPC client to invoke the serverside service.
- */
- protected void writeScaDomainCode(ServletOutputStream out, String path) throws IOException {
- out.println();
- out.println("/* Apache Tuscany scaDomain.js Footer */");
- out.println();
- out.println("function scaDomain() {}");
-
- // remove the leading slash '/' character
- path = path.substring(1);
-
- for (String serviceName : serviceNames) {
- out.println();
-
- // A slight hack to make the service function available with a variable named 'serviceName'
- // to do that the JSONRpcClient is added to the scaDomain and then the service function is got from that
- out.println("scaDomain." + serviceName + " = " + "new JSONRpcClient(\"" + serviceName + "\");");
- out.println(serviceName + " = scaDomain." + serviceName + ".Service;");
- }
-
- out.println();
- out.println("/** End of Apache Tuscany scaDomain.js */");
- out.println();
- }
-
- /**
- * Reads the jsonrpc.js script from the classpath and adds its contents to the output stream.
- */
- protected void writeJSONRPCJavaScript(ServletOutputStream os) throws IOException {
- URL url = getClass().getResource("jsonrpc.js");
- InputStream is = url.openStream();
- int i;
- while ((i = is.read()) != -1) {
- os.write(i);
- }
- }
-
- public void addService(String serviceName) {
- serviceNames.add(serviceName);
- }
-
- public void removeService(String serviceName) {
- serviceNames.remove(serviceName);
- }
-
- public List<String> getServiceNames() {
- return serviceNames;
- }
-
-}