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