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/12 21:06:45 UTC

svn commit: r517365 - in /incubator/tuscany/java/sca/kernel/core/src: main/java/org/apache/tuscany/core/implementation/ test/java/org/apache/tuscany/core/component/scope/ test/java/org/apache/tuscany/core/implementation/java/

Author: jboynes
Date: Mon Mar 12 13:06:44 2007
New Revision: 517365

URL: http://svn.apache.org/viewvc?view=rev&rev=517365
Log:
remove use of deprecated ScopeContainer.getInstance from production classes
update testcase for Composite scope container

Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderReferenceTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaReferenceWireTestCase.java

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java?view=diff&rev=517365&r1=517364&r2=517365
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java Mon Mar 12 13:06:44 2007
@@ -129,11 +129,16 @@
     }
 
     public Object getTargetInstance() throws TargetResolutionException {
-        return scopeContainer.getInstance(this);
+        InstanceWrapper wrapper = scopeContainer.getWrapper(this);
+        if (!wrapper.isStarted()) {
+            wrapper.start();
+        }
+        return wrapper.getInstance();
     }
 
     public Object getAssociatedTargetInstance() throws TargetResolutionException {
-        return scopeContainer.getAssociatedInstance(this);
+        InstanceWrapper wrapper = scopeContainer.getAssociatedWrapper(this);
+        return wrapper.getInstance();
     }
 
     public Object createInstance() throws ObjectCreationException {

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java?view=diff&rev=517365&r1=517364&r2=517365
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java Mon Mar 12 13:06:44 2007
@@ -20,110 +20,86 @@
 
 import java.net.URI;
 
-import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.TargetNotFoundException;
-
 import junit.framework.TestCase;
-import org.apache.tuscany.core.component.event.ComponentStop;
-import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
-import org.apache.tuscany.core.injection.EventInvoker;
-import org.apache.tuscany.core.injection.MethodEventInvoker;
-import org.apache.tuscany.core.injection.PojoObjectFactory;
-import org.apache.tuscany.core.mock.component.CompositeScopeInitDestroyComponent;
+import org.easymock.EasyMock;
+
+import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.InstanceWrapper;
+import org.apache.tuscany.spi.component.TargetResolutionException;
 
 /**
  * @version $$Rev$$ $$Date$$
  */
 public class BasicCompositeScopeTestCase extends TestCase {
 
-    private EventInvoker initInvoker;
-    private EventInvoker destroyInvoker;
-    private PojoObjectFactory<?> factory;
-
-    public void testLifecycleManagement() throws Exception {
-        CompositeScopeContainer scopeContext = new CompositeScopeContainer(null);
-        scopeContext.start();
-        AtomicComponent component = createComponent(scopeContext);
-        // start the request
-        CompositeScopeInitDestroyComponent o1 =
-            (CompositeScopeInitDestroyComponent) scopeContext.getInstance(component);
-        assertTrue(o1.isInitialized());
-        assertFalse(o1.isDestroyed());
-        CompositeScopeInitDestroyComponent o2 =
-            (CompositeScopeInitDestroyComponent) scopeContext.getInstance(component);
-        assertEquals(o1, o2);
-        scopeContext.onEvent(new ComponentStop(this, null));
-        assertTrue(o1.isDestroyed());
-        scopeContext.stop();
-    }
-
-
-    public void testGetAssociatedInstance() throws Exception {
-        CompositeScopeContainer scopeContext = new CompositeScopeContainer(null);
-        scopeContext.start();
-        AtomicComponent component = createComponent(scopeContext);
-        // start the request
-        scopeContext.getInstance(component);
-        scopeContext.getAssociatedInstance(component);
+    private CompositeScopeContainer scopeContext;
+    private AtomicComponent component;
+    private InstanceWrapper wrapper;
+
+    public void testWrapperCreation() throws Exception {
+        EasyMock.expect(component.createInstanceWrapper()).andReturn(wrapper);
+        EasyMock.replay(component, wrapper);
+        assertSame(wrapper, scopeContext.getWrapper(component));
+        EasyMock.verify(component, wrapper);
+    }
+
+    public void testWrapperRetrieve() throws Exception {
+        // first create a wrapper in the context's cache
+        EasyMock.expect(component.createInstanceWrapper()).andReturn(wrapper);
+        EasyMock.replay(component, wrapper);
+        assertSame(wrapper, scopeContext.getWrapper(component));
+        EasyMock.verify(component, wrapper);
+        EasyMock.reset(component, wrapper);
+
+        // fetch again and check that the component and wrapper are not called
+        EasyMock.replay(component, wrapper);
+        assertSame(wrapper, scopeContext.getWrapper(component));
+        EasyMock.verify(component, wrapper);
+    }
+
+    public void testAssociatedWrapperRetrieve() throws Exception {
+        // first create a wrapper in the context's cache
+        EasyMock.expect(component.createInstanceWrapper()).andReturn(wrapper);
+        EasyMock.replay(component, wrapper);
+        assertSame(wrapper, scopeContext.getWrapper(component));
+        EasyMock.verify(component, wrapper);
+        EasyMock.reset(component, wrapper);
+
+        // fetch again and check that the component and wrapper are not called
+        EasyMock.replay(component, wrapper);
+        assertSame(wrapper, scopeContext.getAssociatedWrapper(component));
+        EasyMock.verify(component, wrapper);
     }
 
     public void testGetAssociatedInstanceNonExistent() throws Exception {
-        CompositeScopeContainer scopeContext = new CompositeScopeContainer(null);
-        scopeContext.start();
-        AtomicComponent component = createComponent(scopeContext);
-        // start the request
+        URI uri = URI.create("oops");
+        EasyMock.expect(component.getUri()).andReturn(uri);
+        EasyMock.replay(component, wrapper);
         try {
-            scopeContext.getAssociatedInstance(component);
+            scopeContext.getAssociatedWrapper(component);
             fail();
-        } catch (TargetNotFoundException e) {
-            // expected
+        } catch (TargetResolutionException e) {
+            assertEquals(uri.toString(), e.getMessage());
         }
+        EasyMock.verify(component, wrapper);
     }
 
-    public void testCompositeIsolation() throws Exception {
-        CompositeScopeContainer scopeContext = new CompositeScopeContainer(null);
-        scopeContext.start();
-
-        AtomicComponent component = createComponent(scopeContext);
-
-        CompositeScopeInitDestroyComponent o1 =
-            (CompositeScopeInitDestroyComponent) scopeContext.getInstance(component);
-        assertTrue(o1.isInitialized());
-        assertFalse(o1.isDestroyed());
-
-        CompositeScopeInitDestroyComponent o2 =
-            (CompositeScopeInitDestroyComponent) scopeContext.getInstance(component);
-        assertSame(o1, o2);
-        scopeContext.onEvent(new ComponentStop(this, null));
-        assertTrue(o1.isDestroyed());
-        scopeContext.stop();
+    public void testWrapperReturn() throws Exception{
+        EasyMock.expect(component.createInstanceWrapper()).andReturn(wrapper);
+        EasyMock.replay(component, wrapper);
+        assertSame(wrapper, scopeContext.getWrapper(component));
+        scopeContext.returnWrapper(component, wrapper);
+        EasyMock.verify(component, wrapper);
     }
 
+    @SuppressWarnings("unchecked")
     protected void setUp() throws Exception {
         super.setUp();
-        factory = new PojoObjectFactory<CompositeScopeInitDestroyComponent>(
-            CompositeScopeInitDestroyComponent.class.getConstructor((Class[]) null));
-        initInvoker = new MethodEventInvoker<CompositeScopeInitDestroyComponent>(
-            CompositeScopeInitDestroyComponent.class.getMethod("init"));
-        destroyInvoker = new MethodEventInvoker<CompositeScopeInitDestroyComponent>(
-            CompositeScopeInitDestroyComponent.class.getMethod("destroy"));
-    }
-
-    protected void tearDown() throws Exception {
-        super.tearDown();
-    }
+        component = EasyMock.createNiceMock(AtomicComponent.class);
+        wrapper = EasyMock.createNiceMock(InstanceWrapper.class);
 
-    private AtomicComponent createComponent(ScopeContainer scopeContainer) {
-        PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setInstanceFactory(factory);
-        configuration.setInitInvoker(initInvoker);
-        configuration.setDestroyInvoker(destroyInvoker);
-        configuration.setName(URI.create("foo"));
-        SystemAtomicComponentImpl component = new SystemAtomicComponentImpl(configuration);
-        component.setScopeContainer(scopeContainer);
-        component.start();
-        return component;
+        scopeContext = new CompositeScopeContainer(null);
+        scopeContext.start();
+        scopeContext.register(component);
     }
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderReferenceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderReferenceTestCase.java?view=diff&rev=517365&r1=517364&r2=517365
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderReferenceTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderReferenceTestCase.java Mon Mar 12 13:06:44 2007
@@ -27,6 +27,7 @@
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.component.Component;
+import org.apache.tuscany.spi.component.InstanceWrapper;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.idl.java.JavaServiceContract;
 import org.apache.tuscany.spi.implementation.java.ConstructorDefinition;
@@ -108,15 +109,15 @@
         scopeContainer.register(EasyMock.isA(AtomicComponent.class));
         EasyMock.expectLastCall().atLeastOnce();
         EasyMock.expect(scopeContainer.getScope()).andReturn(Scope.COMPOSITE).atLeastOnce();
-        scopeContainer.getInstance(EasyMock.isA(AtomicComponent.class));
+        scopeContainer.getWrapper(EasyMock.isA(AtomicComponent.class));
         EasyMock.expectLastCall().andAnswer(new IAnswer<Object>() {
-            private Map<AtomicComponent, Object> cache = new HashMap<AtomicComponent, Object>();
+            private Map<AtomicComponent, InstanceWrapper> cache = new HashMap<AtomicComponent, InstanceWrapper>();
 
             public Object answer() throws Throwable {
                 AtomicComponent component = (AtomicComponent) EasyMock.getCurrentArguments()[0];
-                Object instance = cache.get(component);
+                InstanceWrapper instance = cache.get(component);
                 if (instance == null) {
-                    instance = component.createInstance();
+                    instance = component.createInstanceWrapper();
                     cache.put(component, instance);
                 }
                 return instance;

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaReferenceWireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaReferenceWireTestCase.java?view=diff&rev=517365&r1=517364&r2=517365
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaReferenceWireTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaReferenceWireTestCase.java Mon Mar 12 13:06:44 2007
@@ -26,6 +26,7 @@
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.component.TargetException;
+import org.apache.tuscany.spi.component.InstanceWrapper;
 import org.apache.tuscany.spi.model.Operation;
 import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.wire.InvocationChain;
@@ -93,15 +94,15 @@
         scope.register(EasyMock.isA(AtomicComponent.class));
         EasyMock.expectLastCall().atLeastOnce();
         EasyMock.expect(scope.getScope()).andReturn(Scope.COMPOSITE).atLeastOnce();
-        scope.getInstance(EasyMock.isA(AtomicComponent.class));
+        scope.getWrapper(EasyMock.isA(AtomicComponent.class));
         EasyMock.expectLastCall().andAnswer(new IAnswer<Object>() {
-            private Map<AtomicComponent, Object> cache = new HashMap<AtomicComponent, Object>();
+            private Map<AtomicComponent, InstanceWrapper> cache = new HashMap<AtomicComponent, InstanceWrapper>();
 
             public Object answer() throws Throwable {
                 AtomicComponent component = (AtomicComponent) EasyMock.getCurrentArguments()[0];
-                Object instance = cache.get(component);
+                InstanceWrapper instance = cache.get(component);
                 if (instance == null) {
-                    instance = component.createInstance();
+                    instance = component.createInstanceWrapper();
                     cache.put(component, instance);
                 }
                 return instance;



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