You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jb...@apache.org on 2007/03/11 01:10:54 UTC

svn commit: r516814 - in /incubator/tuscany/java/sca/kernel/core/src: main/java/org/apache/tuscany/core/implementation/java/ test/java/org/apache/tuscany/core/implementation/java/ test/java/org/apache/tuscany/core/integration/wire/oneway/

Author: jboynes
Date: Sat Mar 10 16:10:53 2007
New Revision: 516814

URL: http://svn.apache.org/viewvc?view=rev&rev=516814
Log:
pass ScopeContainer to JavaTargetInvoker so that it can co-ordinate lifecycle for STATELESS components

Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponent.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaTargetInvoker.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerBasicInvocationTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerMediationTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerNonBlockingInvocationTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerSequenceTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerStatelessDestroyTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/wire/oneway/OneWayWireToJavaInvocationTestCase.java

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java?view=diff&rev=516814&r1=516813&r2=516814
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java Sat Mar 10 16:10:53 2007
@@ -19,14 +19,11 @@
 package org.apache.tuscany.core.implementation.java;
 
 import java.lang.reflect.Method;
-import java.lang.reflect.Type;
-import java.util.List;
 
 import org.apache.tuscany.spi.ObjectFactory;
 import org.apache.tuscany.spi.idl.java.JavaIDLUtils;
 import org.apache.tuscany.spi.component.TargetInvokerCreationException;
 import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.DataType;
 import org.apache.tuscany.spi.model.physical.PhysicalOperationDefinition;
 import org.apache.tuscany.spi.wire.TargetInvoker;
 import org.apache.tuscany.spi.wire.Wire;
@@ -57,7 +54,7 @@
         }
         try {
             Method method = JavaIDLUtils.findMethod(implClass, operation);
-            return new JavaTargetInvoker(method, this, workContext);
+            return new JavaTargetInvoker(method, this, null, workContext);
         } catch (NoSuchMethodException e) {
             throw new TargetMethodNotFoundException(operation);
         }

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponent.java?view=diff&rev=516814&r1=516813&r2=516814
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponent.java Sat Mar 10 16:10:53 2007
@@ -178,7 +178,7 @@
         } catch (NoSuchMethodException e) {
             throw new TargetMethodNotFoundException(operation);
         }
-        return new JavaTargetInvoker(method, this, workContext);
+        return new JavaTargetInvoker(method, this, scopeContainer, workContext);
     }
 
     public URI getUri() {

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaTargetInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaTargetInvoker.java?view=diff&rev=516814&r1=516813&r2=516814
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaTargetInvoker.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaTargetInvoker.java Sat Mar 10 16:10:53 2007
@@ -27,6 +27,7 @@
 import org.apache.tuscany.spi.component.InvalidConversationSequenceException;
 import org.apache.tuscany.spi.component.TargetException;
 import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.extension.TargetInvokerExtension;
 import org.apache.tuscany.spi.model.Scope;
 
@@ -40,15 +41,20 @@
  */
 public class JavaTargetInvoker extends TargetInvokerExtension {
     protected Method operation;
-    protected AtomicComponent component;
+    private final AtomicComponent component;
+    private final ScopeContainer scopeContainer;
     protected Object target;
     protected boolean stateless;
 
-    public JavaTargetInvoker(Method operation, AtomicComponent component, WorkContext context) {
+    public JavaTargetInvoker(Method operation,
+                             AtomicComponent component,
+                             ScopeContainer scopeContainer,
+                             WorkContext context) {
         super(context);
         assert operation != null : "Operation method cannot be null";
         this.operation = operation;
         this.component = component;
+        this.scopeContainer = scopeContainer;
         stateless = Scope.STATELESS == component.getScope();
     }
 

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerBasicInvocationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerBasicInvocationTestCase.java?view=diff&rev=516814&r1=516813&r2=516814
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerBasicInvocationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerBasicInvocationTestCase.java Sat Mar 10 16:10:53 2007
@@ -66,7 +66,7 @@
         EasyMock.expect(component.getTargetInstance()).andReturn(bean);
         EasyMock.expect(component.getScope()).andReturn(Scope.COMPOSITE);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(echoMethod, component, context);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(echoMethod, component, null, context);
         Object ret = invoker.invokeTarget("foo", NONE);
         assertEquals("foo", ret);
     }
@@ -77,7 +77,7 @@
         EasyMock.expect(component.getTargetInstance()).andReturn(bean);
         EasyMock.expect(component.getScope()).andReturn(Scope.COMPOSITE);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(arrayMethod, component, context);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(arrayMethod, component, null, context);
 
         String[] args = new String[]{"foo", "bar"};
         Object ret = invoker.invokeTarget(new Object[]{args}, NONE);
@@ -94,7 +94,7 @@
         EasyMock.expect(component.getTargetInstance()).andReturn(bean);
         EasyMock.expect(component.getScope()).andReturn(Scope.COMPOSITE);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(nullParamMethod, component, context);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(nullParamMethod, component, null, context);
         Object ret = invoker.invokeTarget(null, NONE);
         String retS = (String) ret;
         assertEquals("foo", retS);
@@ -106,7 +106,7 @@
         EasyMock.expect(component.getTargetInstance()).andReturn(bean);
         EasyMock.expect(component.getScope()).andReturn(Scope.COMPOSITE);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(primitiveMethod, component, context);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(primitiveMethod, component, null, context);
         Object ret = invoker.invokeTarget(new Integer[]{1}, NONE);
         Integer retI = (Integer) ret;
         assertEquals(1, retI.intValue());
@@ -118,7 +118,7 @@
         EasyMock.expect(component.getTargetInstance()).andReturn(bean);
         EasyMock.expect(component.getScope()).andReturn(Scope.COMPOSITE);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(checkedMethod, component, context);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(checkedMethod, component, null, context);
         try {
             invoker.invokeTarget(null, NONE);
         } catch (InvocationTargetException e) {
@@ -137,7 +137,7 @@
         EasyMock.expect(component.getTargetInstance()).andReturn(bean);
         EasyMock.expect(component.getScope()).andReturn(Scope.COMPOSITE);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(runtimeMethod, component, context);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(runtimeMethod, component, null, context);
         try {
             invoker.invokeTarget(null, NONE);
         } catch (InvocationTargetException e) {

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerMediationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerMediationTestCase.java?view=diff&rev=516814&r1=516813&r2=516814
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerMediationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerMediationTestCase.java Sat Mar 10 16:10:53 2007
@@ -47,7 +47,7 @@
         EasyMock.expect(component.getTargetInstance()).andReturn(target);
         EasyMock.expect(component.getScope()).andReturn(Scope.COMPOSITE);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(hello, component, null);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(hello, component, null, null);
         assertEquals("foo", invoker.invokeTarget("foo", NONE));
     }
 

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerNonBlockingInvocationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerNonBlockingInvocationTestCase.java?view=diff&rev=516814&r1=516813&r2=516814
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerNonBlockingInvocationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerNonBlockingInvocationTestCase.java Sat Mar 10 16:10:53 2007
@@ -72,7 +72,7 @@
         EasyMock.replay(context);
         Method method = AsyncTarget.class.getMethod("invoke");
         method.setAccessible(true);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(method, component, context);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(method, component, null, context);
         invoker.invoke(msg);
         EasyMock.verify(target);
         EasyMock.verify(component);
@@ -98,7 +98,7 @@
         EasyMock.expect(component.getTargetInstance()).andReturn(bean);
         EasyMock.expect(component.getScope()).andReturn(Scope.COMPOSITE);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(echoMethod, component, context);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(echoMethod, component, null, context);
         Object ret = invoker.invokeTarget("foo", NONE);
         assertEquals("foo", ret);
     }
@@ -109,7 +109,7 @@
         EasyMock.expect(component.getTargetInstance()).andReturn(bean);
         EasyMock.expect(component.getScope()).andReturn(Scope.COMPOSITE);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(arrayMethod, component, context);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(arrayMethod, component, null, context);
 
         String[] args = new String[]{"foo", "bar"};
         Object ret = invoker.invokeTarget(new Object[]{args}, NONE);
@@ -126,7 +126,7 @@
         EasyMock.expect(component.getTargetInstance()).andReturn(bean);
         EasyMock.expect(component.getScope()).andReturn(Scope.COMPOSITE);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(nullParamMethod, component, context);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(nullParamMethod, component, null, context);
         Object ret = invoker.invokeTarget(null, NONE);
         String retS = (String) ret;
         assertEquals("foo", retS);
@@ -138,7 +138,7 @@
         EasyMock.expect(component.getTargetInstance()).andReturn(bean);
         EasyMock.expect(component.getScope()).andReturn(Scope.COMPOSITE);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(primitiveMethod, component, context);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(primitiveMethod, component, null, context);
         Object ret = invoker.invokeTarget(new Integer[]{1}, NONE);
         Integer retI = (Integer) ret;
         assertEquals(1, retI.intValue());
@@ -150,7 +150,7 @@
         EasyMock.expect(component.getTargetInstance()).andReturn(bean);
         EasyMock.expect(component.getScope()).andReturn(Scope.COMPOSITE);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(checkedMethod, component, context);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(checkedMethod, component, null, context);
         try {
             invoker.invokeTarget(null, NONE);
         } catch (InvocationTargetException e) {
@@ -169,7 +169,7 @@
         EasyMock.expect(component.getTargetInstance()).andReturn(bean);
         EasyMock.expect(component.getScope()).andReturn(Scope.COMPOSITE);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(runtimeMethod, component, context);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(runtimeMethod, component, null, context);
         try {
             invoker.invokeTarget(null, NONE);
         } catch (InvocationTargetException e) {

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerSequenceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerSequenceTestCase.java?view=diff&rev=516814&r1=516813&r2=516814
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerSequenceTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerSequenceTestCase.java Sat Mar 10 16:10:53 2007
@@ -42,7 +42,7 @@
         EasyMock.expect(component.getTargetInstance()).andReturn(foo);
         EasyMock.expect(component.getScope()).andReturn(Scope.CONVERSATION);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(Foo.class.getMethod("invoke"), component, null);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(Foo.class.getMethod("invoke"), component, null, null);
         Message msg = new MessageImpl();
         msg.setConversationSequence(TargetInvoker.NONE);
         invoker.invoke(msg);
@@ -61,7 +61,7 @@
         EasyMock.expect(component.getTargetInstance()).andReturn(foo);
         EasyMock.expect(component.getScope()).andReturn(Scope.CONVERSATION);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(Foo.class.getMethod("invoke"), component, null);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(Foo.class.getMethod("invoke"), component, null, null);
         Message msg = new MessageImpl();
         msg.setConversationSequence(TargetInvoker.START);
         invoker.invoke(msg);
@@ -80,7 +80,7 @@
         EasyMock.expect(component.getAssociatedTargetInstance()).andReturn(foo);
         EasyMock.expect(component.getScope()).andReturn(Scope.CONVERSATION);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(Foo.class.getMethod("invoke"), component, null);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(Foo.class.getMethod("invoke"), component, null, null);
         Message msg = new MessageImpl();
         msg.setConversationSequence(TargetInvoker.CONTINUE);
         invoker.invoke(msg);
@@ -102,7 +102,7 @@
         component.removeInstance();
         component.destroy(EasyMock.eq(foo));
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(Foo.class.getMethod("invoke"), component, null);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(Foo.class.getMethod("invoke"), component, null, null);
         Message msg = new MessageImpl();
         msg.setConversationSequence(TargetInvoker.END);
         invoker.invoke(msg);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerStatelessDestroyTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerStatelessDestroyTestCase.java?view=diff&rev=516814&r1=516813&r2=516814
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerStatelessDestroyTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerStatelessDestroyTestCase.java Sat Mar 10 16:10:53 2007
@@ -38,7 +38,7 @@
         EasyMock.expect(component.getScope()).andReturn(Scope.STATELESS);
         component.destroy(EasyMock.isA(Echo.class));
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(echoMethod, component, null);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(echoMethod, component, null, null);
         invoker.setCacheable(false);
         assertEquals("foo", invoker.invokeTarget("foo", JavaTargetInvoker.NONE));
         EasyMock.verify(component);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerTestCase.java?view=diff&rev=516814&r1=516813&r2=516814
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaTargetInvokerTestCase.java Sat Mar 10 16:10:53 2007
@@ -37,7 +37,7 @@
         EasyMock.expect(component.getTargetInstance()).andReturn(new Echo());
         EasyMock.expect(component.getScope()).andReturn(Scope.COMPOSITE);
         EasyMock.replay(component);
-        JavaTargetInvoker invoker = new JavaTargetInvoker(echoMethod, component, null);
+        JavaTargetInvoker invoker = new JavaTargetInvoker(echoMethod, component, null, null);
         invoker.setCacheable(false);
         assertEquals("foo", invoker.invokeTarget("foo", JavaTargetInvoker.NONE));
         EasyMock.verify(component);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/wire/oneway/OneWayWireToJavaInvocationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/wire/oneway/OneWayWireToJavaInvocationTestCase.java?view=diff&rev=516814&r1=516813&r2=516814
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/wire/oneway/OneWayWireToJavaInvocationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/wire/oneway/OneWayWireToJavaInvocationTestCase.java Sat Mar 10 16:10:53 2007
@@ -83,7 +83,7 @@
         Method method = AsyncTarget.class.getMethod("invoke");
         method.setAccessible(true);
         ExecutionMonitor monitor = EasyMock.createNiceMock(ExecutionMonitor.class);
-        invoker = new JavaTargetInvoker(method, component, context);
+        invoker = new JavaTargetInvoker(method, component, null, context);
         Operation<Type> operation = new Operation<Type>("invoke", null, null, null, false, null, TargetInvoker.NONE);
         ochain = new InvocationChainImpl(operation);
         NonBlockingInterceptor bridgeInterceptor = new NonBlockingInterceptor(scheduler, context);



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