You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/02/24 04:11:30 UTC

svn commit: r380316 - in /incubator/tuscany/java/sca/container.js/src: main/java/org/apache/tuscany/container/js/assembly/ main/java/org/apache/tuscany/container/js/assembly/impl/ main/java/org/apache/tuscany/container/js/builder/ main/java/org/apache/...

Author: jmarino
Date: Thu Feb 23 19:11:27 2006
New Revision: 380316

URL: http://svn.apache.org/viewcvs?rev=380316&view=rev
Log:
code refactoring and rename of RhinoInvoker

Added:
    incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoScript.java
      - copied, changed from r380064, incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoInvoker.java
Removed:
    incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoInvoker.java
Modified:
    incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/assembly/JavaScriptImplementation.java
    incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/assembly/impl/JavaScriptImplementationImpl.java
    incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptComponentContextBuilder.java
    incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/config/JavaScriptComponentRuntimeConfiguration.java
    incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/context/JavaScriptComponentContext.java
    incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoTargetInvoker.java
    incubator/tuscany/java/sca/container.js/src/test/java/org/apache/tuscany/container/js/rhino/RhinoInvokerTestCase.java

Modified: incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/assembly/JavaScriptImplementation.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/assembly/JavaScriptImplementation.java?rev=380316&r1=380315&r2=380316&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/assembly/JavaScriptImplementation.java (original)
+++ incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/assembly/JavaScriptImplementation.java Thu Feb 23 19:11:27 2006
@@ -17,9 +17,13 @@
 package org.apache.tuscany.container.js.assembly;
 
 import org.apache.tuscany.common.resource.ResourceLoader;
-import org.apache.tuscany.container.js.rhino.RhinoInvoker;
 import org.apache.tuscany.model.assembly.ComponentImplementation;
 
+/**
+ * A representation of a JavaScript component implementation type
+ * 
+ * @version $Rev$ $Date$
+ */
 public interface JavaScriptImplementation extends ComponentImplementation {
 
     public ResourceLoader getResourceLoader();
@@ -27,6 +31,4 @@
     public String getScriptFile();
 
     public void setScriptFile(String fn);
-
-    public RhinoInvoker getRhinoInvoker();
 }

Modified: incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/assembly/impl/JavaScriptImplementationImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/assembly/impl/JavaScriptImplementationImpl.java?rev=380316&r1=380315&r2=380316&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/assembly/impl/JavaScriptImplementationImpl.java (original)
+++ incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/assembly/impl/JavaScriptImplementationImpl.java Thu Feb 23 19:11:27 2006
@@ -6,12 +6,16 @@
 
 import org.apache.tuscany.common.resource.ResourceLoader;
 import org.apache.tuscany.container.js.assembly.JavaScriptImplementation;
-import org.apache.tuscany.container.js.rhino.RhinoInvoker;
 import org.apache.tuscany.model.assembly.AssemblyModelContext;
 import org.apache.tuscany.model.assembly.ComponentType;
 import org.apache.tuscany.model.assembly.ModelInitException;
 import org.apache.tuscany.model.assembly.impl.ComponentImplementationImpl;
 
+/**
+ * Default implementation of a JavScript component implementation type
+ * 
+ * @version $Rev$ $Date$
+ */
 public class JavaScriptImplementationImpl extends ComponentImplementationImpl implements JavaScriptImplementation {
 
     private ResourceLoader resourceLoader;
@@ -57,11 +61,6 @@
 
     public void setScriptFile(String fn) {
         script = fn;
-    }
-
-    // TODO remove this signature
-    public RhinoInvoker getRhinoInvoker() {
-        return null;
     }
 
     private String scriptCode;

Modified: incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptComponentContextBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptComponentContextBuilder.java?rev=380316&r1=380315&r2=380316&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptComponentContextBuilder.java (original)
+++ incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptComponentContextBuilder.java Thu Feb 23 19:11:27 2006
@@ -25,7 +25,7 @@
 import org.apache.tuscany.container.js.assembly.JavaScriptImplementation;
 import org.apache.tuscany.container.js.assembly.impl.JavaScriptImplementationImpl;
 import org.apache.tuscany.container.js.config.JavaScriptComponentRuntimeConfiguration;
-import org.apache.tuscany.container.js.rhino.RhinoInvoker;
+import org.apache.tuscany.container.js.rhino.RhinoScript;
 import org.apache.tuscany.core.builder.BuilderConfigException;
 import org.apache.tuscany.core.builder.BuilderException;
 import org.apache.tuscany.core.builder.RuntimeConfigurationBuilder;
@@ -122,7 +122,7 @@
                     }
                 }
 
-                RhinoInvoker invoker = createRhinoInvoker(component.getName(), script, properties);
+                RhinoScript invoker = createRhinoInvoker(component.getName(), script, properties);
                 JavaScriptComponentRuntimeConfiguration config = new JavaScriptComponentRuntimeConfiguration(component.getName(),
                         scope, services, properties, invoker);
 
@@ -194,8 +194,8 @@
      * @param properties configured properties for the component
      * @return
      */
-    private RhinoInvoker createRhinoInvoker(String name, String script, Map properties) {
-        RhinoInvoker ri = new RhinoInvoker(name, script, properties);
+    private RhinoScript createRhinoInvoker(String name, String script, Map properties) {
+        RhinoScript ri = new RhinoScript(name, script, properties);
         return ri;
     }
 }

Modified: incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/config/JavaScriptComponentRuntimeConfiguration.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/config/JavaScriptComponentRuntimeConfiguration.java?rev=380316&r1=380315&r2=380316&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/config/JavaScriptComponentRuntimeConfiguration.java (original)
+++ incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/config/JavaScriptComponentRuntimeConfiguration.java Thu Feb 23 19:11:27 2006
@@ -20,7 +20,7 @@
 import java.util.Map;
 
 import org.apache.tuscany.container.js.context.JavaScriptComponentContext;
-import org.apache.tuscany.container.js.rhino.RhinoInvoker;
+import org.apache.tuscany.container.js.rhino.RhinoScript;
 import org.apache.tuscany.core.builder.ContextCreationException;
 import org.apache.tuscany.core.builder.RuntimeConfiguration;
 import org.apache.tuscany.core.context.SimpleComponentContext;
@@ -42,10 +42,10 @@
 
     private Map<String, Object> properties;
 
-    private RhinoInvoker invoker;
+    private RhinoScript invoker;
 
     public JavaScriptComponentRuntimeConfiguration(String name, Scope scope, Map<String, Class> services,
-            Map<String, Object> properties, RhinoInvoker invoker) {
+            Map<String, Object> properties, RhinoScript invoker) {
         this.name = name;
         this.scope = scope;
         this.services = services;

Modified: incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/context/JavaScriptComponentContext.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/context/JavaScriptComponentContext.java?rev=380316&r1=380315&r2=380316&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/context/JavaScriptComponentContext.java (original)
+++ incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/context/JavaScriptComponentContext.java Thu Feb 23 19:11:27 2006
@@ -20,7 +20,7 @@
 import java.util.Iterator;
 import java.util.Map;
 
-import org.apache.tuscany.container.js.rhino.RhinoInvoker;
+import org.apache.tuscany.container.js.rhino.RhinoScript;
 import org.apache.tuscany.core.context.AbstractContext;
 import org.apache.tuscany.core.context.CoreRuntimeException;
 import org.apache.tuscany.core.context.LifecycleEventListener;
@@ -34,7 +34,7 @@
 
     private Map<String, Class> services;
 
-    private RhinoInvoker rhinoInvoker;
+    private RhinoScript rhinoInvoker;
 
     private Map<String, Object> properties;
 
@@ -45,7 +45,7 @@
     private Object instance;
 
     public JavaScriptComponentContext(String name, Map<String, Class> services, Map<String, Object> properties,
-            Map<String, ProxyFactory> sourceProxyFactories, Map<String, ProxyFactory> targetProxyFactories, RhinoInvoker invoker) {
+            Map<String, ProxyFactory> sourceProxyFactories, Map<String, ProxyFactory> targetProxyFactories, RhinoScript invoker) {
         super(name);
         assert (services != null) : "No service interface mapping specified";
         assert (properties != null) : "No properties specified";

Copied: incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoScript.java (from r380064, incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoInvoker.java)
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoScript.java?p2=incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoScript.java&p1=incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoInvoker.java&r1=380064&r2=380316&rev=380316&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoInvoker.java (original)
+++ incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoScript.java Thu Feb 23 19:11:27 2006
@@ -27,12 +27,9 @@
 import org.mozilla.javascript.Wrapper;
 
 /**
- * RhinoInvoker simplifies invoking JavaScript functions with Rhino.
- * <p>
- * TODO We should probably change the name from "invoker" since this is confusing with TargetInvoker. This really wraps
- * the scipt
+ * Represents, and is responsible for dispatching to, a JavaScript artifact in Rhino
  */
-public class RhinoInvoker {
+public class RhinoScript {
 
     private String scriptName;
 
@@ -65,7 +62,7 @@
      * @param scriptName the name of the script. Can be anything, only used in messages to identify the script
      * @param script the complete script
      */
-    public RhinoInvoker(String scriptName, String script) {
+    public RhinoScript(String scriptName, String script) {
         this(scriptName, script, (Map) null);
     }
 
@@ -77,7 +74,7 @@
      * @param context name-value pairs that are added in to the scope where the script is compiled. May be null. The
      *        value objects are made available to the script by using a variable with the name.
      */
-    public RhinoInvoker(String scriptName, String script, Map context) {
+    public RhinoScript(String scriptName, String script, Map context) {
         this.scriptName = scriptName;
         this.script = script;
         initScriptScope(scriptName, script, context);
@@ -88,7 +85,7 @@
      * Construct a RhinoInvoker from another RhinoInvoker object. This uses the original script scope so the script
      * doesn't need to be recompiled.
      */
-    protected RhinoInvoker(String scriptName, String script, Scriptable scriptScope) {
+    protected RhinoScript(String scriptName, String script, Scriptable scriptScope) {
         this.scriptName = scriptName;
         this.script = script;
         this.scriptScope = scriptScope;
@@ -280,8 +277,8 @@
      * Make a copy of this RhinoScript object. This shares the script scope to avoid the overhead of recompiling the
      * script, and to allow any initialization done by the script to be shared.
      */
-    public RhinoInvoker copy() {
-        return new RhinoInvoker(scriptName, script, scriptScope);
+    public RhinoScript copy() {
+        return new RhinoScript(scriptName, script, scriptScope);
     }
 
     /**

Modified: incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoTargetInvoker.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoTargetInvoker.java?rev=380316&r1=380315&r2=380316&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoTargetInvoker.java (original)
+++ incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoTargetInvoker.java Thu Feb 23 19:11:27 2006
@@ -16,7 +16,7 @@
 
     private String operation;
 
-    private RhinoInvoker target;
+    private RhinoScript target;
 
     public RhinoTargetInvoker(String serviceName, String operation, ScopeContext container) {
         assert (serviceName != null) : "No service name specified";
@@ -30,11 +30,11 @@
     public Object invokeTarget(Object payload) throws InvocationTargetException {
         if (cacheable) {
             if (target == null) {
-                target = (RhinoInvoker) container.getContext(name.getPartName()).getImplementationInstance();
+                target = (RhinoScript) container.getContext(name.getPartName()).getImplementationInstance();
             }
             return target.invoke(operation, payload);
         } else {
-            return ((RhinoInvoker) container.getContext(name.getPartName()).getImplementationInstance()).invoke(operation,
+            return ((RhinoScript) container.getContext(name.getPartName()).getImplementationInstance()).invoke(operation,
                     payload);
         }
     }

Modified: incubator/tuscany/java/sca/container.js/src/test/java/org/apache/tuscany/container/js/rhino/RhinoInvokerTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.js/src/test/java/org/apache/tuscany/container/js/rhino/RhinoInvokerTestCase.java?rev=380316&r1=380315&r2=380316&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.js/src/test/java/org/apache/tuscany/container/js/rhino/RhinoInvokerTestCase.java (original)
+++ incubator/tuscany/java/sca/container.js/src/test/java/org/apache/tuscany/container/js/rhino/RhinoInvokerTestCase.java Thu Feb 23 19:11:27 2006
@@ -39,13 +39,13 @@
     }
 
     public void testSimpleInvocation() {
-        RhinoInvoker ri = new RhinoInvoker(scriptName, script);
+        RhinoScript ri = new RhinoScript(scriptName, script);
         Object x = ri.invoke("echo", "petra", null);
         assertEquals("petra", x);
     }
 
     public void testCopy() {
-        RhinoInvoker ri = new RhinoInvoker(scriptName, script);
+        RhinoScript ri = new RhinoScript(scriptName, script);
         Object x = ri.invoke("echo", "petra", null);
         assertEquals("petra", x);
 
@@ -56,7 +56,7 @@
     }
 
     public void testContexts1() {
-        RhinoInvoker ri = new RhinoInvoker(scriptName, script);
+        RhinoScript ri = new RhinoScript(scriptName, script);
         Map<String, Object> contexts = new HashMap<String, Object>();
         contexts.put("a", "petra");
         Object x = ri.invoke("getA", null, contexts);
@@ -67,7 +67,7 @@
      * Tests context not accessable across invocations
      */
     public void testContexts2() {
-        RhinoInvoker ri = new RhinoInvoker(scriptName, script);
+        RhinoScript ri = new RhinoScript(scriptName, script);
         Map<String, Object> contexts = new HashMap<String, Object>();
         contexts.put("a", "petra");
         Object x = ri.invoke("getA", null, contexts);
@@ -85,7 +85,7 @@
      * Tests shared scope is accessable across invocations
      */
     public void testScopes1() {
-        RhinoInvoker ri = new RhinoInvoker(scriptName, script);
+        RhinoScript ri = new RhinoScript(scriptName, script);
         ri.invoke("setGlobalVarY", "petra", null);
 
         Object x = ri.invoke("getGlobalVarY", null, null);
@@ -96,7 +96,7 @@
      * Tests local vars are NOT accessable across invocations
      */
     public void testScopes2() {
-        RhinoInvoker ri = new RhinoInvoker(scriptName, script);
+        RhinoScript ri = new RhinoScript(scriptName, script);
         ri.invoke("setLocalVarY", "petra", null);
 
         try {
@@ -111,7 +111,7 @@
      * Tests shared scope is accessable when using contexts (ie an invocation scope)
      */
     public void testScopes3() {
-        RhinoInvoker ri = new RhinoInvoker(scriptName, script);
+        RhinoScript ri = new RhinoScript(scriptName, script);
         ri.invoke("setGlobalVarY", "petra", null);
 
         Map<String, Object> contexts = new HashMap<String, Object>();
@@ -128,7 +128,7 @@
      * Tests a copy only retains the script scope not the shared scope
      */
     public void testScopes4() {
-        RhinoInvoker ri = new RhinoInvoker(scriptName, script);
+        RhinoScript ri = new RhinoScript(scriptName, script);
         ri.invoke("setGlobalVarY", "petra", null);
 
         ri = ri.copy();
@@ -148,7 +148,7 @@
     }
 
     public void testGetInt() {
-        RhinoInvoker ri = new RhinoInvoker(scriptName, script);
+        RhinoScript ri = new RhinoScript(scriptName, script);
         Object x = ri.invoke("getInt", null, Integer.TYPE, null);
         assertEquals(Integer.class, x.getClass());
     }