You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2006/08/14 13:10:26 UTC

svn commit: r431324 - in /incubator/tuscany/java/sca/containers/container.javascript/src: main/java/org/apache/tuscany/container/javascript/ main/java/org/apache/tuscany/container/javascript/rhino/ test/java/org/apache/tuscany/container/javascript/func...

Author: antelder
Date: Mon Aug 14 04:10:26 2006
New Revision: 431324

URL: http://svn.apache.org/viewvc?rev=431324&view=rev
Log:
Get scopes working properly and matching the assembly spec

Added:
    incubator/tuscany/java/sca/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/compositeScope.js   (with props)
Modified:
    incubator/tuscany/java/sca/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptIntrospector.java
    incubator/tuscany/java/sca/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfig.java
    incubator/tuscany/java/sca/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/function/ScopeTestCase.java
    incubator/tuscany/java/sca/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfigTestCase.java
    incubator/tuscany/java/sca/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/scopeTest.scdl

Modified: incubator/tuscany/java/sca/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptIntrospector.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptIntrospector.java?rev=431324&r1=431323&r2=431324&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptIntrospector.java (original)
+++ incubator/tuscany/java/sca/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptIntrospector.java Mon Aug 14 04:10:26 2006
@@ -34,6 +34,7 @@
 import org.apache.tuscany.idl.wsdl.WSDLServiceContract;
 import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.model.ComponentType;
+import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.model.ServiceContract;
 import org.apache.tuscany.spi.model.ServiceDefinition;
 
@@ -55,7 +56,14 @@
         introspectWSDLInterface(componentType, cl, scaConfig.getWSDLNamespace(), scaConfig.getWSDLPortType(), scaConfig.getWSDLLocation());
         introspectReferences(componentType, cl, scaConfig.getReferences());
         introspectProperties(componentType, cl, scaConfig.getProperties());
+        introspectScope(componentType, scaConfig.getScope());
         return componentType;
+    }
+
+    private void introspectScope(JavaScriptComponentType componentType, Scope scope) {
+        if (scope != null) {
+            componentType.setLifecycleScope(scope);
+        }
     }
 
     @SuppressWarnings("unchecked")

Modified: incubator/tuscany/java/sca/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfig.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfig.java?rev=431324&r1=431323&r2=431324&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfig.java (original)
+++ incubator/tuscany/java/sca/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfig.java Mon Aug 14 04:10:26 2006
@@ -35,7 +35,7 @@
  *     wsdlLocation   : "\wsdl\mywsdl.txt",
  *     properties     : { "foo" : ["java.lang.String", "defaultValue"],},
  *     references     : {},
- *     scope          : 'stateless'|'request'|'session'|'module'|'composite',
+ *     scope          : 'stateless'|'request'|'conversational'|'composite',
  * }
  * </code>
  * The config must define the service with either javaInterface or wsdl. When
@@ -110,12 +110,10 @@
                     this.scope = Scope.STATELESS;
                 } else if ("request".equalsIgnoreCase(String.valueOf(o))) {
                     this.scope = Scope.REQUEST;
-                } else if ("session".equalsIgnoreCase(String.valueOf(o))) {
-                    this.scope = Scope.SESSION;
-                } else if ("module".equalsIgnoreCase(String.valueOf(o))) {
-                    this.scope = Scope.MODULE;
+                } else if ("conversational".equalsIgnoreCase(String.valueOf(o))) {
+                    this.scope = Scope.SESSION; // TODO: where's CONVERSATIONAL?
                 } else if ("composite".equalsIgnoreCase(String.valueOf(o))) {
-                    this.scope = Scope.COMPOSITE;
+                    this.scope = Scope.MODULE; // TODO: composite = MODULE for now?
                 } else {
                     throw new IllegalArgumentException("invalid scope value: " + o);
                 }

Modified: incubator/tuscany/java/sca/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/function/ScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/function/ScopeTestCase.java?rev=431324&r1=431323&r2=431324&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/function/ScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/function/ScopeTestCase.java Mon Aug 14 04:10:26 2006
@@ -39,16 +39,24 @@
         context = CurrentCompositeContext.getContext();
     }
 
+// Composite scope not implemented in core yet    
+//    public void testComposite() throws Exception {
+//        HelloWorldService composoteScopeService = context.locateService(HelloWorldService.class, "ComposoteScopeService");
+//        assertEquals("1", composoteScopeService.sayHello(""));
+//        assertEquals("2", composoteScopeService.sayHello(""));
+//    }
+
     public void testStateless() throws Exception {
         HelloWorldService statelessService = context.locateService(HelloWorldService.class, "StatelessComponent");
         assertEquals("1", statelessService.sayHello(""));
-        assertEquals("2", statelessService.sayHello(""));
+        // stateless gives a new instance for each request
+        assertEquals("1", statelessService.sayHello(""));
     }
 
-    public void testRequestState() throws Exception {
-        HelloWorldService requestService = context.locateService(HelloWorldService.class, "RequestComponent");
-        assertEquals("1", requestService.sayHello(""));
-        // TODO: scopes don't work yet, everything seems to use Module scope
-        // assertEquals("1", requestService.sayHello(""));
-    }
+// Request scope not implemented in core yet    
+//    public void testRequestState() throws Exception {
+//        HelloWorldService requestService = context.locateService(HelloWorldService.class, "RequestComponent");
+//        assertEquals("1", requestService.sayHello(""));
+//        assertEquals("1", requestService.sayHello(""));
+//    }
 }

Modified: incubator/tuscany/java/sca/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfigTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfigTestCase.java?rev=431324&r1=431323&r2=431324&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfigTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfigTestCase.java Mon Aug 14 04:10:26 2006
@@ -63,21 +63,14 @@
         RhinoScript rs = new RhinoScript("testScopeComposite", "SCA = { scope : 'composite', javaInterface : 'helloworld.HelloWorldService'}");
         RhinoSCAConfig scaConfig = rs.getSCAConfig();
         assertTrue(scaConfig.hasSCAConfig());
-        assertEquals(Scope.COMPOSITE, scaConfig.getScope());
+        assertEquals(Scope.MODULE, scaConfig.getScope()); // TODO 
     }
 
-    public void testScopeSession() {
-        RhinoScript rs = new RhinoScript("testScopeSession", "SCA = { scope : 'session', javaInterface : 'helloworld.HelloWorldService'}");
+    public void testScopeConversational() {
+        RhinoScript rs = new RhinoScript("testScopeConversational", "SCA = { scope : 'conversational', javaInterface : 'helloworld.HelloWorldService'}");
         RhinoSCAConfig scaConfig = rs.getSCAConfig();
         assertTrue(scaConfig.hasSCAConfig());
         assertEquals(Scope.SESSION, scaConfig.getScope());
-    }
-
-    public void testScopeModule() {
-        RhinoScript rs = new RhinoScript("testScopeModule", "SCA = { scope : 'module', javaInterface : 'helloworld.HelloWorldService'}");
-        RhinoSCAConfig scaConfig = rs.getSCAConfig();
-        assertTrue(scaConfig.hasSCAConfig());
-        assertEquals(Scope.MODULE, scaConfig.getScope());
     }
 
     public void testScopeRequest() {

Added: incubator/tuscany/java/sca/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/compositeScope.js
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/compositeScope.js?rev=431324&view=auto
==============================================================================
--- incubator/tuscany/java/sca/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/compositeScope.js (added)
+++ incubator/tuscany/java/sca/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/compositeScope.js Mon Aug 14 04:10:26 2006
@@ -0,0 +1,11 @@
+SCA = {
+   scope : 'composite',
+   javaInterface : 'helloworld.HelloWorldService'
+}
+
+x = 0;
+ 
+function sayHello(s) {
+   x = x + 1;
+   return x;
+}

Propchange: incubator/tuscany/java/sca/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/compositeScope.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/compositeScope.js
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/scopeTest.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/scopeTest.scdl?rev=431324&r1=431323&r2=431324&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/scopeTest.scdl (original)
+++ incubator/tuscany/java/sca/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/scopeTest.scdl Mon Aug 14 04:10:26 2006
@@ -26,8 +26,12 @@
 		<js:implementation.js script="org/apache/tuscany/container/javascript/function/statelessScope.js"/>
     </component>
 
-    <component name="RequestComponent">
+    <!-- component name="RequestComponent">
 		<js:implementation.js script="org/apache/tuscany/container/javascript/function/requestScope.js"/>
-    </component>
+    </component -->
+
+    <!-- component name="CompositeScopeComponent">
+		<js:implementation.js script="org/apache/tuscany/container/javascript/function/compositeScope.js"/>
+    </component -->
 
 </composite>



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org