Author: slaws
Date: Thu Nov  1 14:56:04 2007
New Revision: 591151

URL: http://svn.apache.org/viewvc?rev=591151&view=rev
Log:
revert back JSONRPC changes to r586698, i.e. V1.0

Added:
    
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCBindingActivator.java
      - copied unchanged from r586698, 
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCBindingActivator.java
    
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCService.java
      - copied unchanged from r586698, 
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCService.java
    
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator
      - copied unchanged from r586698, 
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator
Removed:
    
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/
    
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
    
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
Modified:
    incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/pom.xml
    
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCBinding.java
    
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCServiceServlet.java
    
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/ScaDomainScriptServlet.java

Modified: 
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/pom.xml?rev=591151&r1=591150&r2=591151&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/pom.xml 
(original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/pom.xml 
Thu Nov  1 14:56:04 2007
@@ -43,79 +43,47 @@
                <version>0.8</version>
                <scope>test</scope>
         </dependency>
+     
 
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-assembly</artifactId>
+            <artifactId>tuscany-extension-helper</artifactId>
             <version>1.0.1-incubating-SNAPSHOT</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-interface-java</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-core-spi</artifactId>
+            <artifactId>tuscany-implementation-java-runtime</artifactId>
             <version>1.0.1-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
         </dependency>
         
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-core</artifactId>
+            <artifactId>tuscany-interface-java</artifactId>
             <version>1.0.1-incubating-SNAPSHOT</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-databinding</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>
-        
-        <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-databinding-json</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>
-        
-        <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-host-http</artifactId>
             <version>1.0.1-incubating-SNAPSHOT</version>
         </dependency>
         
         <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-host-jetty</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-            <scope>test</scope>
-        </dependency>        
-        
-        <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>servlet-api</artifactId>
             <version>2.4</version> <!-- to keep compatible with older servlet 
containers --> 
             <scope>provided</scope>
         </dependency>
 
-
-        <!-- Test Dependencies -->
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-host-embedded</artifactId>
+            <artifactId>tuscany-host-jetty</artifactId>
             <version>1.0.1-incubating-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
-        
-        <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-implementation-java-runtime</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-            <scope>test</scope>
-        </dependency>        
-        
+
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>

Modified: 
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCBinding.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCBinding.java?rev=591151&r1=591150&r2=591151&view=diff
==============================================================================
--- 
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCBinding.java
 (original)
+++ 
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCBinding.java
 Thu Nov  1 14:56:04 2007
@@ -19,40 +19,12 @@
 
 package org.apache.tuscany.sca.binding.jsonrpc;
 
-import org.apache.tuscany.sca.assembly.Binding;
 
 /**
  * A model for the JSONRPC binding.
- * 
- * @version $Rev$ $Date$
  */
-public class JSONRPCBinding implements Binding {
-    private String name;
-    private String uri;
-
-    public String getName() {
-        return name;
-    }
-
-    public String getURI() {
-        return uri;
-    }
-
-    public void setURI(String uri) {
-        this.uri = uri;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public boolean isUnresolved() {
-        // The binding is always resolved
-        return false;
-    }
-
-    public void setUnresolved(boolean unresolved) {
-        // The binding is always resolved
-    }
-
+public class JSONRPCBinding {
+    
+    // empty as right now the json-rpc binding has no attributes
+    
 }

Modified: 
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCServiceServlet.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCServiceServlet.java?rev=591151&r1=591150&r2=591151&view=diff
==============================================================================
--- 
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCServiceServlet.java
 (original)
+++ 
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCServiceServlet.java
 Thu Nov  1 14:56:04 2007
@@ -24,24 +24,17 @@
 import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.io.UnsupportedEncodingException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
+import java.text.ParseException;
 
 import javax.servlet.ServletConfig;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-import org.codehaus.jettison.json.JSONArray;
-import org.codehaus.jettison.json.JSONException;
-import org.osoa.sca.ServiceRuntimeException;
+import org.json.JSONObject;
 
 import com.metaparadigm.jsonrpc.JSONRPCBridge;
+import com.metaparadigm.jsonrpc.JSONRPCResult;
 import com.metaparadigm.jsonrpc.JSONRPCServlet;
 
 /**
@@ -52,22 +45,12 @@
 public class JSONRPCServiceServlet extends JSONRPCServlet {
     private static final long serialVersionUID = 1L;
 
-    transient Binding binding;
     transient String serviceName;
     transient Object serviceInstance;
-    transient RuntimeComponentService componentService;
-    transient InterfaceContract serviceContract;
     transient Class<?> serviceInterface;
 
-    public JSONRPCServiceServlet(Binding binding,
-                                 RuntimeComponentService componentService,
-                                 InterfaceContract serviceContract,
-                                 Class<?> serviceInterface,
-                                 Object serviceInstance) {
-        this.binding = binding;
-        this.serviceName = binding.getName();
-        this.componentService = componentService;
-        this.serviceContract = serviceContract;
+    public JSONRPCServiceServlet(String serviceName, Class<?> 
serviceInterface, Object serviceInstance) {
+        this.serviceName = serviceName;
         this.serviceInterface = serviceInterface;
         this.serviceInstance = serviceInstance;
     }
@@ -82,6 +65,7 @@
 
     @Override
     public void service(HttpServletRequest request, HttpServletResponse 
response) throws IOException {
+
         if (request.getParameter("smd") != null) {
             handleSMDRequest(request, response);
         } else {
@@ -96,8 +80,17 @@
         }
     }
 
-    private void handleServiceRequest(HttpServletRequest request, 
HttpServletResponse response)
-        throws IOException {
+    private void handleServiceRequest(HttpServletRequest request, 
HttpServletResponse response) throws IOException {
+        /*
+         * Create a new bridge for every request to aviod all the problems 
with 
+         * JSON-RPC-Java storing the bridge in the session
+         */
+        HttpSession session = request.getSession();
+
+        JSONRPCBridge jsonrpcBridge = new JSONRPCBridge();
+        jsonrpcBridge.registerObject(serviceName, serviceInstance, 
serviceInterface);
+        session.setAttribute("JSONRPCBridge", jsonrpcBridge);
+
         // Encode using UTF-8, although We are actually ASCII clean as
         // all unicode data is JSON escaped using backslash u. This is
         // less data efficient for foreign character sets but it is
@@ -125,26 +118,24 @@
             data.write(buf, 0, ret);
         }
 
-        org.codehaus.jettison.json.JSONObject jsonReq = null;
-        String method = null;
+        JSONObject jsonReq = null;
+        JSONRPCResult jsonResp = null;
         try {
-            jsonReq = new 
org.codehaus.jettison.json.JSONObject(data.toString());
-            method = jsonReq.getString("method");
-        } catch (JSONException e) {
+            jsonReq = new JSONObject(data.toString());
+        } catch (ParseException e) {
             throw new RuntimeException("Unable to parse request", e);
         }
 
-        
-        // check if it's a system request 
-        // or a method invocation
-        byte[] bout;
-        if (method.startsWith("system.")) {
-            bout = handleJSONRPCSystemInvocation(request, response, 
data.toString());
-        } else {
-            bout = handleJSONRPCMethodInvocation(request, response, jsonReq);
+        String method = jsonReq.getString("method");
+        if ((method != null) && (method.indexOf('.') < 0)) {
+            jsonReq.putOpt("method", serviceName + "." + method);
         }
 
-        // Send response to client
+        // invoke the request
+        jsonResp = jsonrpcBridge.call(new Object[] {request}, jsonReq);
+
+        byte[] bout = jsonResp.toString().getBytes("UTF-8");
+
         out.write(bout);
         out.flush();
         out.close();
@@ -153,8 +144,7 @@
     /**
      * handles requests for the SMD descriptor for a service
      */
-    protected void handleSMDRequest(HttpServletRequest request, 
HttpServletResponse response) throws IOException,
-        UnsupportedEncodingException {
+    protected void handleSMDRequest(HttpServletRequest request, 
HttpServletResponse response) throws IOException, UnsupportedEncodingException {
         String serviceUrl = request.getRequestURL().toString();
         String smd = JavaToSmd.interfaceToSmd(serviceInterface, serviceUrl);
 
@@ -166,112 +156,5 @@
         out.flush();
         out.close();
     }
-    
-    protected byte[] handleJSONRPCSystemInvocation(HttpServletRequest request, 
HttpServletResponse response, String requestData) throws IOException,
-    UnsupportedEncodingException {
-        /*
-         * Create a new bridge for every request to avoid all the problems 
with 
-         * JSON-RPC-Java storing the bridge in the session
-         */
-        HttpSession session = request.getSession();
-
-        JSONRPCBridge jsonrpcBridge = new JSONRPCBridge();
-        jsonrpcBridge.registerObject(serviceName, serviceInstance, 
serviceInterface);
-        session.setAttribute("JSONRPCBridge", jsonrpcBridge);
-        
-        org.json.JSONObject jsonReq = null;
-        com.metaparadigm.jsonrpc.JSONRPCResult jsonResp = null;
-        try {
-            jsonReq = new org.json.JSONObject(requestData);
-        } catch (java.text.ParseException e) {
-            throw new RuntimeException("Unable to parse request", e);
-        }
-
-        String method = jsonReq.getString("method");
-        if ((method != null) && (method.indexOf('.') < 0)) {
-            jsonReq.putOpt("method", serviceName + "." + method);
-        }
-
-        // invoke the request
-        jsonResp = jsonrpcBridge.call(new Object[] {request}, jsonReq);
-
-        return jsonResp.toString().getBytes("UTF-8");
-    }
-    
-    protected byte[] handleJSONRPCMethodInvocation(HttpServletRequest request, 
HttpServletResponse response, org.codehaus.jettison.json.JSONObject jsonReq) 
throws IOException,
-    UnsupportedEncodingException {
-
-        String method = null;
-        Object[] args = null;
-        Object id = null;
-        try {
-            // Extract the method
-            method = jsonReq.getString("method");
-            if ((method != null) && (method.indexOf('.') < 0)) {
-                jsonReq.putOpt("method", serviceName + "." + method);
-            }
-            
-            // Extract the arguments
-            JSONArray array = jsonReq.getJSONArray("params");
-            args = new Object[array.length()];
-            for (int i = 0; i < args.length; i++) {
-                args[i] = array.get(i);
-            }
-            id = jsonReq.get("id");
-
-        } catch (JSONException e) {
-            throw new RuntimeException("Unable to find json method name", e);
-        }
-
-        // invoke the request
-        RuntimeWire wire = componentService.getRuntimeWire(binding, 
serviceContract);
-        Operation jsonOperation = findOperation(method);
-        Object result = null;
-        org.codehaus.jettison.json.JSONObject jsonResponse = new 
org.codehaus.jettison.json.JSONObject();
-        try {
-            result = wire.invoke(jsonOperation, args);
-            try {
-                jsonResponse.put("result", result);
-                jsonResponse.putOpt("id", id);
-            } catch (JSONException e) {
-                throw new ServiceRuntimeException(e);
-            }
-        } catch (InvocationTargetException e) {
-            try {
-                jsonResponse.put("error", e.getCause());
-                jsonResponse.putOpt("id", id);
-            } catch (JSONException e1) {
-                throw new ServiceRuntimeException(e);
-            }
-        }
-        
-        //get response to send to client
-        return jsonResponse.toString().getBytes("UTF-8");
-    }
 
-    /**
-     * Find the operation from the component service contract
-     * @param componentService
-     * @param method
-     * @return
-     */
-    private Operation findOperation(String method) {
-        if (method.contains(".")) {
-            method = method.substring(method.lastIndexOf(".") + 1);
-        }
-    
-        List<Operation> operations = 
serviceContract.getInterface().getOperations();
-            
//componentService.getBindingProvider(binding).getBindingInterfaceContract().getInterface().getOperations();
-
-        
-        Operation result = null;
-        for (Operation o : operations) {
-            if (o.getName().equalsIgnoreCase(method)) {
-                result = o;
-                break;
-            }
-        }
-
-        return result;
-    }
 }

Modified: 
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/ScaDomainScriptServlet.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/ScaDomainScriptServlet.java?rev=591151&r1=591150&r2=591151&view=diff
==============================================================================
--- 
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/ScaDomainScriptServlet.java
 (original)
+++ 
incubator/tuscany/branches/sca-java-1.0.1/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/ScaDomainScriptServlet.java
 Thu Nov  1 14:56:04 2007
@@ -35,8 +35,6 @@
  * 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;



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to