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 2006/05/24 07:37:26 UTC

svn commit: r409074 [2/3] - in /incubator/tuscany/sandbox/jboynes/sca: containers/container.java/src/main/java/org/apache/tuscany/container/java/builder/ containers/container.java/src/main/java/org/apache/tuscany/container/java/context/ containers/cont...

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/loader/SystemImplementationLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/loader/SystemImplementationLoader.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/loader/SystemImplementationLoader.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/loader/SystemImplementationLoader.java Tue May 23 22:37:23 2006
@@ -22,7 +22,7 @@
 
 import org.apache.tuscany.core.loader.StAXUtil;
 import org.apache.tuscany.core.system.model.SystemImplementation;
-import org.apache.tuscany.spi.loader.LoaderContext;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.loader.LoaderException;
 import org.apache.tuscany.spi.extension.LoaderExtension;
 
@@ -36,13 +36,13 @@
         return SYSTEM_IMPLEMENTATION;
     }
 
-    public SystemImplementation load(XMLStreamReader reader, LoaderContext loaderContext) throws XMLStreamException, LoaderException {
+    public SystemImplementation load(XMLStreamReader reader, DeploymentContext deploymentContext) throws XMLStreamException, LoaderException {
         assert SYSTEM_IMPLEMENTATION.equals(reader.getName());
         SystemImplementation implementation = new SystemImplementation();
         String implClass = reader.getAttributeValue(null, "class");
-        Class<?> implementationClass = StAXUtil.loadClass(implClass, loaderContext.getClassLoader());
+        Class<?> implementationClass = StAXUtil.loadClass(implClass, deploymentContext.getClassLoader());
         implementation.setImplementationClass(implementationClass);
-        registry.loadComponentType(implementation);
+        registry.loadComponentType(implementation, deploymentContext);
         StAXUtil.skipToEndElement(reader);
         return implementation;
     }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/model/SystemImplementation.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/model/SystemImplementation.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/model/SystemImplementation.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/model/SystemImplementation.java Tue May 23 22:37:23 2006
@@ -25,6 +25,11 @@
 public class SystemImplementation extends AtomicImplementation<PojoComponentType> {
     private Class<?> implementationClass;
 
+    public SystemImplementation(PojoComponentType componentType, Class<?> implementationClass) {
+        super(componentType);
+        this.implementationClass = implementationClass;
+    }
+
     public SystemImplementation() {
     }
 

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java Tue May 23 22:37:23 2006
@@ -23,11 +23,13 @@
 import org.apache.tuscany.spi.builder.ComponentBuilder;
 import org.apache.tuscany.spi.context.ComponentContext;
 import org.apache.tuscany.spi.context.CompositeContext;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
 
 /**
  * @version $Rev$ $Date$
  */
 public class BuilderRegistryTestCase extends TestCase {
+    private DeploymentContext deploymentContext;
     private BuilderRegistryImpl registry;
 
     public void testRegistrationWithGenerics() {
@@ -35,7 +37,7 @@
         registry.register(builder);
         Component<CompositeImplementation> component = new Component(new CompositeImplementation());
         component.getImplementation().setComponentType(new CompositeComponentType());
-        registry.build(null, component);
+        registry.build(null, component, deploymentContext);
     }
 
     public void testRegistrationWithoutGenerics() {
@@ -43,23 +45,24 @@
         registry.register(CompositeImplementation.class, builder);
         Component<CompositeImplementation> component = new Component(new CompositeImplementation());
         component.getImplementation().setComponentType(new CompositeComponentType());
-        registry.build(null, component);
+        registry.build(null, component, deploymentContext);
     }
 
     protected void setUp() throws Exception {
         super.setUp();
         registry = new BuilderRegistryImpl();
+        deploymentContext = new DeploymentContext(null, null, null);
     }
 
     public static class GenerifiedBuilder implements ComponentBuilder<CompositeImplementation> {
-        public ComponentContext build(CompositeContext parent, Component<CompositeImplementation> component) {
+        public ComponentContext build(CompositeContext parent, Component<CompositeImplementation> component, DeploymentContext deploymentContext) {
             return null;
         }
     }
 
     @SuppressWarnings({"RawUseOfParameterizedType"})
     public static class RawBuilder implements ComponentBuilder {
-        public ComponentContext build(CompositeContext parent, Component component) {
+        public ComponentContext build(CompositeContext parent, Component component, DeploymentContext deploymentContext) {
             return null;
         }
     }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/builder/ConnectorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/builder/ConnectorTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/builder/ConnectorTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/builder/ConnectorTestCase.java Tue May 23 22:37:23 2006
@@ -38,6 +38,8 @@
             }
         }
         targetContext.prepare();
+        sourceContext.start();
+        targetContext.start();
         scopeContext.onEvent(new ModuleStart(this, null));
         SimpleSource source = sourceContext.getService();
         assertEquals("foo", source.getTarget().echo("foo"));
@@ -67,6 +69,8 @@
             }
         }
         targetContext.prepare();
+        sourceContext.start();
+        targetContext.start();
         scopeContext.onEvent(new ModuleStart(this, null));
         assertEquals(0, interceptor.getCount());
         SimpleSource source = sourceContext.getService();
@@ -97,6 +101,8 @@
             }
         }
         targetContext.prepare();
+        sourceContext.start();
+        targetContext.start();
         scopeContext.onEvent(new ModuleStart(this, null));
         assertEquals(0, interceptor.getCount());
         SimpleSource source = sourceContext.getService();
@@ -130,6 +136,8 @@
             }
         }
         targetContext.prepare();
+        sourceContext.start();
+        targetContext.start();
         scopeContext.onEvent(new ModuleStart(this, null));
         assertEquals(0, sourceInterceptor.getCount());
         assertEquals(0, targetInterceptor.getCount());
@@ -165,6 +173,8 @@
             }
         }
         targetContext.prepare();
+        sourceContext.start();
+        targetContext.start();
         scopeContext.onEvent(new ModuleStart(this, null));
         assertEquals(0, interceptor.getCount());
         assertEquals(0, handler.getCount());
@@ -200,6 +210,8 @@
             }
         }
         targetContext.prepare();
+        sourceContext.start();
+        targetContext.start();
         scopeContext.onEvent(new ModuleStart(this, null));
         assertEquals(0, interceptor.getCount());
         assertEquals(0, handler.getCount());
@@ -236,6 +248,8 @@
             }
         }
         targetContext.prepare();
+        sourceContext.start();
+        targetContext.start();
         scopeContext.onEvent(new ModuleStart(this, null));
         assertEquals(0, interceptor.getCount());
         assertEquals(0, handler.getCount());
@@ -271,6 +285,8 @@
             }
         }
         targetContext.prepare();
+        sourceContext.start();
+        targetContext.start();
         scopeContext.onEvent(new ModuleStart(this, null));
         assertEquals(0, interceptor.getCount());
         assertEquals(0, handler.getCount());
@@ -306,6 +322,8 @@
         }
         }
         targetContext.prepare();
+        sourceContext.start();
+        targetContext.start();
         scopeContext.onEvent(new ModuleStart(this, null));
         assertEquals(0, interceptor.getCount());
         assertEquals(0, handler.getCount());
@@ -341,6 +359,8 @@
             }
         }
         targetContext.prepare();
+        sourceContext.start();
+        targetContext.start();
         scopeContext.onEvent(new ModuleStart(this, null));
         assertEquals(0, interceptor.getCount());
         assertEquals(0, handler.getCount());
@@ -373,6 +393,8 @@
             }
         }
         targetContext.prepare();
+        sourceContext.start();
+        targetContext.start();
         scopeContext.onEvent(new ModuleStart(this, null));
         assertEquals(0, handler.getCount());
         SimpleSource source = sourceContext.getService();
@@ -403,6 +425,8 @@
             }
         }
         targetContext.prepare();
+        sourceContext.start();
+        targetContext.start();
         scopeContext.onEvent(new ModuleStart(this, null));
         assertEquals(0, handler.getCount());
         SimpleSource source = sourceContext.getService();
@@ -433,6 +457,8 @@
             }
         }
         targetContext.prepare();
+        sourceContext.start();
+        targetContext.start();
         scopeContext.onEvent(new ModuleStart(this, null));
         assertEquals(0, handler.getCount());
         SimpleSource source = sourceContext.getService();
@@ -463,6 +489,8 @@
             }
         }
         targetContext.prepare();
+        sourceContext.start();
+        targetContext.start();
         scopeContext.onEvent(new ModuleStart(this, null));
         assertEquals(0, handler.getCount());
         SimpleSource source = sourceContext.getService();
@@ -493,6 +521,8 @@
             }
         }
         targetContext.prepare();
+        sourceContext.start();
+        targetContext.start();
         scopeContext.onEvent(new ModuleStart(this, null));
         assertEquals(0, handler.getCount());
         SimpleSource source = sourceContext.getService();
@@ -523,6 +553,8 @@
             }
         }
         targetContext.prepare();
+        sourceContext.start();
+        targetContext.start();
         scopeContext.onEvent(new ModuleStart(this, null));
         assertEquals(0, handler.getCount());
         SimpleSource source = sourceContext.getService();

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicHttpSessionScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicHttpSessionScopeTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicHttpSessionScopeTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicHttpSessionScopeTestCase.java Tue May 23 22:37:23 2006
@@ -11,6 +11,7 @@
 import org.apache.tuscany.core.system.context.SystemAtomicContextImpl;
 import org.apache.tuscany.spi.ObjectFactory;
 import org.apache.tuscany.spi.context.WorkContext;
+import org.apache.tuscany.spi.context.ScopeContext;
 
 /**
  * @version $$Rev$$ $$Date$$
@@ -25,8 +26,7 @@
         WorkContext workContext = new WorkContextImpl();
         HttpSessionScopeContext scopeContext = new HttpSessionScopeContext(workContext);
         scopeContext.start();
-        SystemAtomicContext atomicContext = createContext();
-        atomicContext.setScopeContext(scopeContext);
+        SystemAtomicContext atomicContext = createContext(scopeContext);
         // start the request
         Object session = new Object();
         workContext.setIdentifier(HttpSessionScopeContext.HTTP_IDENTIFIER, session);
@@ -45,8 +45,7 @@
         HttpSessionScopeContext scopeContext = new HttpSessionScopeContext(workContext);
         scopeContext.start();
 
-        SystemAtomicContext atomicContext = createContext();
-        atomicContext.setScopeContext(scopeContext);
+        SystemAtomicContext atomicContext = createContext(scopeContext);
 
         Object session1 = new Object();
         workContext.setIdentifier(HttpSessionScopeContext.HTTP_IDENTIFIER, session1);
@@ -77,7 +76,9 @@
         super.tearDown();
     }
 
-    private SystemAtomicContext createContext() {
-        return new SystemAtomicContextImpl("foo", null, SessionScopeInitDestroyComponent.class, factory, false, initInvoker, destroyInvoker, null, null);
+    private SystemAtomicContext createContext(ScopeContext scopeContext) {
+        SystemAtomicContextImpl context = new SystemAtomicContextImpl("foo", null, scopeContext, SessionScopeInitDestroyComponent.class, factory, false, initInvoker, destroyInvoker, null, null);
+        context.start();
+        return context;
     }
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicModuleScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicModuleScopeTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicModuleScopeTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicModuleScopeTestCase.java Tue May 23 22:37:23 2006
@@ -11,6 +11,7 @@
 import org.apache.tuscany.core.system.context.SystemAtomicContextImpl;
 import org.apache.tuscany.spi.ObjectFactory;
 import org.apache.tuscany.spi.context.WorkContext;
+import org.apache.tuscany.spi.context.ScopeContext;
 
 /**
  * @version $$Rev$$ $$Date$$
@@ -25,8 +26,7 @@
         WorkContext workContext = new WorkContextImpl();
         ModuleScopeContext scopeContext = new ModuleScopeContext(workContext);
         scopeContext.start();
-        SystemAtomicContext atomicContext = createContext();
-        atomicContext.setScopeContext(scopeContext);
+        SystemAtomicContext atomicContext = createContext(scopeContext);
         // start the request
         ModuleScopeInitDestroyComponent o1 = (ModuleScopeInitDestroyComponent) scopeContext.getInstance(atomicContext);
         assertTrue(o1.isInitialized());
@@ -43,10 +43,8 @@
         ModuleScopeContext scopeContext = new ModuleScopeContext(workContext);
         scopeContext.start();
 
-        SystemAtomicContext atomicContext = createContext();
-        atomicContext.setScopeContext(scopeContext);
-        SystemAtomicContext atomicContext2 = createContext();
-        atomicContext2.setScopeContext(scopeContext);
+        SystemAtomicContext atomicContext = createContext(scopeContext);
+        SystemAtomicContext atomicContext2 = createContext(scopeContext);
 
         ModuleScopeInitDestroyComponent o1 = (ModuleScopeInitDestroyComponent) scopeContext.getInstance(atomicContext);
         assertTrue(o1.isInitialized());
@@ -70,7 +68,9 @@
         super.tearDown();
     }
 
-    private SystemAtomicContext createContext() {
-        return new SystemAtomicContextImpl("foo", null, ModuleScopeInitDestroyComponent.class, factory, false, initInvoker, destroyInvoker, null, null);
+    private SystemAtomicContext createContext(ScopeContext scopeContext) {
+        SystemAtomicContextImpl context = new SystemAtomicContextImpl("foo", null, scopeContext, ModuleScopeInitDestroyComponent.class, factory, false, initInvoker, destroyInvoker, null, null);
+        context.start();
+        return context;
     }
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicRequestScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicRequestScopeTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicRequestScopeTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicRequestScopeTestCase.java Tue May 23 22:37:23 2006
@@ -9,6 +9,7 @@
 import org.apache.tuscany.core.system.context.SystemAtomicContext;
 import org.apache.tuscany.core.system.context.SystemAtomicContextImpl;
 import org.apache.tuscany.spi.ObjectFactory;
+import org.apache.tuscany.spi.context.ScopeContext;
 
 /**
  * @version $$Rev$$ $$Date$$
@@ -22,8 +23,7 @@
     public void testLifecycleManagement() throws Exception {
         RequestScopeContext scopeContext = new RequestScopeContext(null);
         scopeContext.start();
-        SystemAtomicContext atomicContext = createContext();
-        atomicContext.setScopeContext(scopeContext);
+        SystemAtomicContext atomicContext = createContext(scopeContext);
         // start the request
         RequestScopeInitDestroyComponent o1 = (RequestScopeInitDestroyComponent) scopeContext.getInstance(atomicContext);
         assertTrue(o1.isInitialized());
@@ -39,8 +39,7 @@
         RequestScopeContext scopeContext = new RequestScopeContext(null);
         scopeContext.start();
 
-        SystemAtomicContext atomicContext = createContext();
-        atomicContext.setScopeContext(scopeContext);
+        SystemAtomicContext atomicContext = createContext(scopeContext);
 
         RequestScopeInitDestroyComponent o1 = (RequestScopeInitDestroyComponent) scopeContext.getInstance(atomicContext);
         assertTrue(o1.isInitialized());
@@ -65,7 +64,9 @@
         super.tearDown();
     }
 
-    private SystemAtomicContext createContext() {
-        return new SystemAtomicContextImpl("foo", null, RequestScopeInitDestroyComponent.class, factory, false, initInvoker, destroyInvoker, null, null);
+    private SystemAtomicContext createContext(ScopeContext scopeContext) {
+        SystemAtomicContextImpl context = new SystemAtomicContextImpl("foo", null, scopeContext, RequestScopeInitDestroyComponent.class, factory, false, initInvoker, destroyInvoker, null, null);
+        context.start();
+        return context;
     }
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicStatelessScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicStatelessScopeTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicStatelessScopeTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicStatelessScopeTestCase.java Tue May 23 22:37:23 2006
@@ -23,11 +23,9 @@
         WorkContext ctx = new WorkContextImpl();
         StatelessScopeContext scope = new StatelessScopeContext(ctx);
         scope.start();
-        SystemAtomicContext context1 = MockContextFactory.createSystemAtomicContext("comp1", StatelessComponentImpl.class);
-        context1.setScopeContext(scope);
+        SystemAtomicContext context1 = MockContextFactory.createSystemAtomicContext("comp1", scope, StatelessComponentImpl.class);
         scope.register(context1);
-        SystemAtomicContext context2 = MockContextFactory.createSystemAtomicContext("comp2", StatelessComponentImpl.class);
-        context2.setScopeContext(scope);
+        SystemAtomicContext context2 = MockContextFactory.createSystemAtomicContext("comp2", scope, StatelessComponentImpl.class);
         scope.register(context2);
         StatelessComponentImpl comp1 = (StatelessComponentImpl) scope.getInstance(context1);
         Assert.assertNotNull(comp1);
@@ -42,13 +40,11 @@
         StatelessScopeContext scope = new StatelessScopeContext(ctx);
 
         scope.start();
-        SystemAtomicContext context1 = MockContextFactory.createSystemAtomicContext("comp1", StatelessComponentImpl.class);
-        context1.setScopeContext(scope);
+        SystemAtomicContext context1 = MockContextFactory.createSystemAtomicContext("comp1", scope, StatelessComponentImpl.class);
         scope.register(context1);
         StatelessComponent comp1 = (StatelessComponentImpl) scope.getInstance(context1);
         Assert.assertNotNull(comp1);
-        SystemAtomicContext context2 = MockContextFactory.createSystemAtomicContext("comp2", StatelessComponentImpl.class);
-        context2.setScopeContext(scope);
+        SystemAtomicContext context2 = MockContextFactory.createSystemAtomicContext("comp2", scope, StatelessComponentImpl.class);
         scope.register(context2);
         StatelessComponentImpl comp2 = (StatelessComponentImpl) scope.getInstance(context2);
         Assert.assertNotNull(comp2);

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/HttpSessionScopeInstanceLifecycleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/HttpSessionScopeInstanceLifecycleTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/HttpSessionScopeInstanceLifecycleTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/HttpSessionScopeInstanceLifecycleTestCase.java Tue May 23 22:37:23 2006
@@ -27,15 +27,15 @@
         HttpSessionScopeContext scope = new HttpSessionScopeContext(ctx);
         scope.start();
 
-        SystemAtomicContext initDestroyContext = MockContextFactory.createSystemAtomicContext("InitDestroy", RequestScopeInitDestroyComponent.class);
-        initDestroyContext.setScopeContext(scope);
+        SystemAtomicContext initDestroyContext = MockContextFactory.createSystemAtomicContext("InitDestroy", scope, RequestScopeInitDestroyComponent.class);
+        initDestroyContext.start();
 
-        SystemAtomicContext initOnlyContext = MockContextFactory.createSystemAtomicContext("InitOnly", RequestScopeInitOnlyComponent.class);
-        initOnlyContext.setScopeContext(scope);
-
-        SystemAtomicContext destroyOnlyContext = MockContextFactory.createSystemAtomicContext("DestroyOnly", RequestScopeDestroyOnlyComponent.class);
-        destroyOnlyContext.setScopeContext(scope);
+        SystemAtomicContext initOnlyContext = MockContextFactory.createSystemAtomicContext("InitOnly", scope, RequestScopeInitOnlyComponent.class);
+        initOnlyContext.start();
 
+        SystemAtomicContext destroyOnlyContext = MockContextFactory.createSystemAtomicContext("DestroyOnly", scope, RequestScopeDestroyOnlyComponent.class);
+        destroyOnlyContext.start();
+        
         Object session = new Object();
         ctx.setIdentifier(HttpSessionScopeContext.HTTP_IDENTIFIER, session);
         scope.onEvent(new HttpSessionStart(this, session));
@@ -67,14 +67,11 @@
         HttpSessionScopeContext scope = new HttpSessionScopeContext(ctx);
         scope.start();
 
-        SystemAtomicContext oneCtx = MockContextFactory.createSystemAtomicContext("one", OrderedInitPojoImpl.class);
-        oneCtx.setScopeContext(scope);
+        SystemAtomicContext oneCtx = MockContextFactory.createSystemAtomicContext("one", scope, OrderedInitPojoImpl.class);
         scope.register(oneCtx);
-        SystemAtomicContext twoCtx = MockContextFactory.createSystemAtomicContext("two", OrderedInitPojoImpl.class);
-        twoCtx.setScopeContext(scope);
+        SystemAtomicContext twoCtx = MockContextFactory.createSystemAtomicContext("two", scope, OrderedInitPojoImpl.class);
         scope.register(twoCtx);
-        SystemAtomicContext threeCtx = MockContextFactory.createSystemAtomicContext("three", OrderedInitPojoImpl.class);
-        threeCtx.setScopeContext(scope);
+        SystemAtomicContext threeCtx = MockContextFactory.createSystemAtomicContext("three", scope, OrderedInitPojoImpl.class);
         scope.register(threeCtx);
 
         Object session = new Object();
@@ -106,14 +103,11 @@
         HttpSessionScopeContext scope = new HttpSessionScopeContext(ctx);
         scope.start();
 
-        SystemAtomicContext oneCtx = MockContextFactory.createSystemAtomicContext("one", OrderedEagerInitPojo.class);
-        oneCtx.setScopeContext(scope);
+        SystemAtomicContext oneCtx = MockContextFactory.createSystemAtomicContext("one", scope, OrderedEagerInitPojo.class);
         scope.register(oneCtx);
-        SystemAtomicContext twoCtx = MockContextFactory.createSystemAtomicContext("two", OrderedEagerInitPojo.class);
-        twoCtx.setScopeContext(scope);
+        SystemAtomicContext twoCtx = MockContextFactory.createSystemAtomicContext("two", scope, OrderedEagerInitPojo.class);
         scope.register(twoCtx);
-        SystemAtomicContext threeCtx = MockContextFactory.createSystemAtomicContext("three", OrderedEagerInitPojo.class);
-        threeCtx.setScopeContext(scope);
+        SystemAtomicContext threeCtx = MockContextFactory.createSystemAtomicContext("three", scope, OrderedEagerInitPojo.class);
         scope.register(threeCtx);
 
         Object session = new Object();

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/HttpSessionScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/HttpSessionScopeRestartTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/HttpSessionScopeRestartTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/HttpSessionScopeRestartTestCase.java Tue May 23 22:37:23 2006
@@ -25,9 +25,8 @@
         MethodEventInvoker<Object> destroyInvoker = new MethodEventInvoker<Object>(HttpSessionScopeRestartTestCase.InitDestroyOnce.class.getMethod("destroy"));
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(HttpSessionScopeRestartTestCase.InitDestroyOnce.class);
-        SystemAtomicContext context = MockContextFactory.createSystemAtomicContext("InitDestroy", interfaces,
+        SystemAtomicContext context = MockContextFactory.createSystemAtomicContext("InitDestroy", scope, interfaces,
                 HttpSessionScopeRestartTestCase.InitDestroyOnce.class, false, initInvoker, destroyInvoker, null,null);
-        context.setScopeContext(scope);
         context.start();
 
         Object session = new Object();

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/ModuleScopeInstanceLifecycleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/ModuleScopeInstanceLifecycleTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/ModuleScopeInstanceLifecycleTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/ModuleScopeInstanceLifecycleTestCase.java Tue May 23 22:37:23 2006
@@ -28,15 +28,15 @@
         ModuleScopeContext scope = new ModuleScopeContext(ctx);
         scope.start();
 
-        SystemAtomicContext initDestroyContext = MockContextFactory.createSystemAtomicContext("InitDestroy", ModuleScopeInitDestroyComponent.class);
-        initDestroyContext.setScopeContext(scope);
+        SystemAtomicContext initDestroyContext = MockContextFactory.createSystemAtomicContext("InitDestroy", scope, ModuleScopeInitDestroyComponent.class);
+        initDestroyContext.start();
 
-        SystemAtomicContext initOnlyContext = MockContextFactory.createSystemAtomicContext("InitOnly", ModuleScopeInitOnlyComponent.class);
-        initOnlyContext.setScopeContext(scope);
-
-        SystemAtomicContext destroyOnlyContext = MockContextFactory.createSystemAtomicContext("DestroyOnly", ModuleScopeDestroyOnlyComponent.class);
-        destroyOnlyContext.setScopeContext(scope);
+        SystemAtomicContext initOnlyContext = MockContextFactory.createSystemAtomicContext("InitOnly", scope, ModuleScopeInitOnlyComponent.class);
+        initOnlyContext.start();
 
+        SystemAtomicContext destroyOnlyContext = MockContextFactory.createSystemAtomicContext("DestroyOnly", scope, ModuleScopeDestroyOnlyComponent.class);
+        destroyOnlyContext.start();
+        
         scope.onEvent(new ModuleStart(this, null));
         ModuleScopeInitDestroyComponent initDestroy = (ModuleScopeInitDestroyComponent) scope.getInstance(initDestroyContext);
         Assert.assertNotNull(initDestroy);
@@ -66,14 +66,11 @@
         ModuleScopeContext scope = new ModuleScopeContext(ctx);
         scope.start();
 
-        SystemAtomicContext oneCtx = MockContextFactory.createSystemAtomicContext("one", OrderedInitPojoImpl.class);
-        oneCtx.setScopeContext(scope);
+        SystemAtomicContext oneCtx = MockContextFactory.createSystemAtomicContext("one", scope, OrderedInitPojoImpl.class);
         scope.register(oneCtx);
-        SystemAtomicContext twoCtx = MockContextFactory.createSystemAtomicContext("two", OrderedInitPojoImpl.class);
-        twoCtx.setScopeContext(scope);
+        SystemAtomicContext twoCtx = MockContextFactory.createSystemAtomicContext("two", scope, OrderedInitPojoImpl.class);
         scope.register(twoCtx);
-        SystemAtomicContext threeCtx = MockContextFactory.createSystemAtomicContext("three", OrderedInitPojoImpl.class);
-        threeCtx.setScopeContext(scope);
+        SystemAtomicContext threeCtx = MockContextFactory.createSystemAtomicContext("three", scope, OrderedInitPojoImpl.class);
         scope.register(threeCtx);
 
         scope.onEvent(new ModuleStart(this,null));
@@ -103,14 +100,11 @@
         ModuleScopeContext scope = new ModuleScopeContext(ctx);
         scope.start();
 
-        SystemAtomicContext oneCtx = MockContextFactory.createSystemAtomicContext("one", OrderedEagerInitPojo.class);
-        oneCtx.setScopeContext(scope);
+        SystemAtomicContext oneCtx = MockContextFactory.createSystemAtomicContext("one", scope, OrderedEagerInitPojo.class);
         scope.register(oneCtx);
-        SystemAtomicContext twoCtx = MockContextFactory.createSystemAtomicContext("two", OrderedEagerInitPojo.class);
-        twoCtx.setScopeContext(scope);
+        SystemAtomicContext twoCtx = MockContextFactory.createSystemAtomicContext("two", scope, OrderedEagerInitPojo.class);
         scope.register(twoCtx);
-        SystemAtomicContext threeCtx = MockContextFactory.createSystemAtomicContext("three", OrderedEagerInitPojo.class);
-        threeCtx.setScopeContext(scope);
+        SystemAtomicContext threeCtx = MockContextFactory.createSystemAtomicContext("three", scope, OrderedEagerInitPojo.class);
         scope.register(threeCtx);
 
         scope.onEvent(new ModuleStart(this,null));

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/ModuleScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/ModuleScopeRestartTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/ModuleScopeRestartTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/ModuleScopeRestartTestCase.java Tue May 23 22:37:23 2006
@@ -25,9 +25,8 @@
         MethodEventInvoker<Object> destroyInvoker = new MethodEventInvoker<Object>(InitDestroyOnce.class.getMethod("destroy"));
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(InitDestroyOnce.class);
-        SystemAtomicContext context = MockContextFactory.createSystemAtomicContext("InitDestroy", interfaces,
+        SystemAtomicContext context = MockContextFactory.createSystemAtomicContext("InitDestroy", scope, interfaces,
                 InitDestroyOnce.class, false, initInvoker, destroyInvoker, null,null);
-        context.setScopeContext(scope);
         context.start();
 
         scope.onEvent(new ModuleStart(this, null));

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/RequestScopeInstanceLifecycleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/RequestScopeInstanceLifecycleTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/RequestScopeInstanceLifecycleTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/RequestScopeInstanceLifecycleTestCase.java Tue May 23 22:37:23 2006
@@ -27,15 +27,15 @@
         RequestScopeContext scope = new RequestScopeContext(ctx);
         scope.start();
 
-        SystemAtomicContext initDestroyContext = MockContextFactory.createSystemAtomicContext("InitDestroy", RequestScopeInitDestroyComponent.class);
-        initDestroyContext.setScopeContext(scope);
+        SystemAtomicContext initDestroyContext = MockContextFactory.createSystemAtomicContext("InitDestroy", scope, RequestScopeInitDestroyComponent.class);
+        initDestroyContext.start();
 
-        SystemAtomicContext initOnlyContext = MockContextFactory.createSystemAtomicContext("InitOnly", RequestScopeInitOnlyComponent.class);
-        initOnlyContext.setScopeContext(scope);
-
-        SystemAtomicContext destroyOnlyContext = MockContextFactory.createSystemAtomicContext("DestroyOnly", RequestScopeDestroyOnlyComponent.class);
-        destroyOnlyContext.setScopeContext(scope);
+        SystemAtomicContext initOnlyContext = MockContextFactory.createSystemAtomicContext("InitOnly", scope, RequestScopeInitOnlyComponent.class);
+        initOnlyContext.start();
 
+        SystemAtomicContext destroyOnlyContext = MockContextFactory.createSystemAtomicContext("DestroyOnly", scope, RequestScopeDestroyOnlyComponent.class);
+        destroyOnlyContext.start();
+        
         scope.onEvent(new RequestStart(this));
         RequestScopeInitDestroyComponent initDestroy = (RequestScopeInitDestroyComponent) scope.getInstance(initDestroyContext);
         Assert.assertNotNull(initDestroy);
@@ -65,14 +65,11 @@
         RequestScopeContext scope = new RequestScopeContext(ctx);
         scope.start();
 
-        SystemAtomicContext oneCtx = MockContextFactory.createSystemAtomicContext("one", OrderedInitPojoImpl.class);
-        oneCtx.setScopeContext(scope);
+        SystemAtomicContext oneCtx = MockContextFactory.createSystemAtomicContext("one", scope, OrderedInitPojoImpl.class);
         scope.register(oneCtx);
-        SystemAtomicContext twoCtx = MockContextFactory.createSystemAtomicContext("two", OrderedInitPojoImpl.class);
-        twoCtx.setScopeContext(scope);
+        SystemAtomicContext twoCtx = MockContextFactory.createSystemAtomicContext("two", scope, OrderedInitPojoImpl.class);
         scope.register(twoCtx);
-        SystemAtomicContext threeCtx = MockContextFactory.createSystemAtomicContext("three", OrderedInitPojoImpl.class);
-        threeCtx.setScopeContext(scope);
+        SystemAtomicContext threeCtx = MockContextFactory.createSystemAtomicContext("three", scope, OrderedInitPojoImpl.class);
         scope.register(threeCtx);
 
         scope.onEvent(new RequestStart(this));
@@ -102,14 +99,11 @@
         RequestScopeContext scope = new RequestScopeContext(ctx);
         scope.start();
 
-        SystemAtomicContext oneCtx = MockContextFactory.createSystemAtomicContext("one", OrderedEagerInitPojo.class);
-        oneCtx.setScopeContext(scope);
+        SystemAtomicContext oneCtx = MockContextFactory.createSystemAtomicContext("one",scope, OrderedEagerInitPojo.class);
         scope.register(oneCtx);
-        SystemAtomicContext twoCtx = MockContextFactory.createSystemAtomicContext("two", OrderedEagerInitPojo.class);
-        twoCtx.setScopeContext(scope);
+        SystemAtomicContext twoCtx = MockContextFactory.createSystemAtomicContext("two", scope, OrderedEagerInitPojo.class);
         scope.register(twoCtx);
-        SystemAtomicContext threeCtx = MockContextFactory.createSystemAtomicContext("three", OrderedEagerInitPojo.class);
-        threeCtx.setScopeContext(scope);
+        SystemAtomicContext threeCtx = MockContextFactory.createSystemAtomicContext("three", scope, OrderedEagerInitPojo.class);
         scope.register(threeCtx);
 
         scope.onEvent(new RequestStart(this));

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/RequestScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/RequestScopeRestartTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/RequestScopeRestartTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/RequestScopeRestartTestCase.java Tue May 23 22:37:23 2006
@@ -24,9 +24,8 @@
         MethodEventInvoker<Object> destroyInvoker = new MethodEventInvoker<Object>(RequestScopeRestartTestCase.InitDestroyOnce.class.getMethod("destroy"));
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(RequestScopeRestartTestCase.InitDestroyOnce.class);
-        SystemAtomicContext context = MockContextFactory.createSystemAtomicContext("InitDestroy", interfaces,
+        SystemAtomicContext context = MockContextFactory.createSystemAtomicContext("InitDestroy", scope, interfaces,
                 RequestScopeRestartTestCase.InitDestroyOnce.class, false, initInvoker, destroyInvoker, null,null);
-        context.setScopeContext(scope);
         context.start();
 
         Object instance = context.getService();

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/ScopeRegistryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/ScopeRegistryTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/ScopeRegistryTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/ScopeRegistryTestCase.java Tue May 23 22:37:23 2006
@@ -13,24 +13,6 @@
  * @version $$Rev$$ $$Date$$
  */
 public class ScopeRegistryTestCase extends TestCase {
-
-    public void testRemotableIsolation() throws Exception {
-        CompositeContext context1 = new CompositeContextImpl(null, null, null);
-        CompositeContext context2 = new CompositeContextImpl(null, null, null);
-        WorkContext workContext = new WorkContextImpl();
-        ScopeRegistry scopeRegistry = new ScopeRegistryImpl(workContext);
-        scopeRegistry.registerFactory(Scope.MODULE, new ModuleScopeObjectFactory());
-        workContext.setRemoteContext(context1);
-        ScopeContext scope1 = scopeRegistry.getScopeContext(Scope.MODULE);
-        workContext.setRemoteContext(context2);
-        ScopeContext scope2 = scopeRegistry.getScopeContext(Scope.MODULE);
-        assertNotSame(scope1,scope2);
-        workContext.setRemoteContext(context1);
-        assertSame(scope1,scopeRegistry.getScopeContext(Scope.MODULE));
-        workContext.setRemoteContext(context2);
-        assertSame(scope2,scopeRegistry.getScopeContext(Scope.MODULE));
-    }
-
     public void testScopeContextCreation() throws Exception {
         WorkContext workContext = new WorkContextImpl();
         ScopeRegistry scopeRegistry = new ScopeRegistryImpl(workContext);

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/builder/AutowireBuilderTestcase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/builder/AutowireBuilderTestcase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/builder/AutowireBuilderTestcase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/builder/AutowireBuilderTestcase.java Tue May 23 22:37:23 2006
@@ -22,6 +22,7 @@
 import org.apache.tuscany.spi.context.ReferenceContext;
 import org.apache.tuscany.spi.context.ScopeContext;
 import org.apache.tuscany.spi.context.WorkContext;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
 
 /**
  * Validates that system builders create autowired contexts from a set of model objects
@@ -29,6 +30,7 @@
  * @version $$Rev$$ $$Date$$
  */
 public class AutowireBuilderTestcase extends TestCase {
+    private DeploymentContext deploymentContext;
 
     /**
      * Validates wiring from a component to a reference which is autowired to a component in the grandparent
@@ -47,19 +49,17 @@
         SystemCompositeContext parent = new SystemCompositeContextImpl("parent", grandParent, grandParent);
 
         Component<SystemImplementation> targetComponent = MockComponentFactory.createTarget();
-        AtomicContext targetComponentContext = (AtomicContext) componentBuilder.build(parent, targetComponent);
-        targetComponentContext.setScopeContext(scope);
+        AtomicContext targetComponentContext = (AtomicContext) componentBuilder.build(parent, targetComponent, deploymentContext);
         grandParent.registerContext(targetComponentContext);
 
         BoundReference<SystemBinding> targetReference = MockComponentFactory.createBoundReference();
         Component<SystemImplementation> sourceComponent = MockComponentFactory.createSourceWithTargetReference();
 
 
-        AtomicContext<?> sourceContext = (AtomicContext) componentBuilder.build(parent, sourceComponent);
-        sourceContext.setScopeContext(scope);
+        AtomicContext<?> sourceContext = (AtomicContext) componentBuilder.build(parent, sourceComponent, deploymentContext);
         parent.registerContext(sourceContext);
 
-        ReferenceContext targetContext = (ReferenceContext) bindingBuilder.build(parent, targetReference);
+        ReferenceContext targetContext = (ReferenceContext) bindingBuilder.build(parent, targetReference, deploymentContext);
         parent.registerContext(targetContext);
 
         connector.connect(sourceContext);
@@ -91,13 +91,11 @@
         SystemCompositeContext parent = new SystemCompositeContextImpl(null, null, null);
 
         Component<SystemImplementation> targetComponent = MockComponentFactory.createTarget();
-        AtomicContext targetComponentContext = (AtomicContext) componentBuilder.build(parent, targetComponent);
-        targetComponentContext.setScopeContext(scope);
+        AtomicContext targetComponentContext = (AtomicContext) componentBuilder.build(parent, targetComponent, deploymentContext);
         parent.registerContext(targetComponentContext);
         Component<SystemImplementation> sourceComponent = MockComponentFactory.createSourceWithTargetAutowire();
 
-        AtomicContext sourceContext = (AtomicContext) componentBuilder.build(parent, sourceComponent);
-        sourceContext.setScopeContext(scope);
+        AtomicContext sourceContext = (AtomicContext) componentBuilder.build(parent, sourceComponent, deploymentContext);
         parent.registerContext(sourceContext);
 
         parent.start();
@@ -112,5 +110,9 @@
         scope.stop();
     }
 
+    protected void setUp() throws Exception {
+        super.setUp();
+        deploymentContext = new DeploymentContext(null, null, null);
 
+    }
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/builder/SystemBuildersTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/builder/SystemBuildersTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/builder/SystemBuildersTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/integration/system/builder/SystemBuildersTestCase.java Tue May 23 22:37:23 2006
@@ -24,6 +24,7 @@
 import org.apache.tuscany.spi.context.WorkContext;
 import org.apache.tuscany.spi.context.ReferenceContext;
 import org.apache.tuscany.spi.context.ServiceContext;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
 
 /**
  * Validates that system builders and the default connector create properly wired contexts
@@ -31,6 +32,7 @@
  * @version $$Rev$$ $$Date$$
  */
 public class SystemBuildersTestCase extends TestCase {
+    private DeploymentContext deploymentContext;
 
     /**
      * Validates building a wire from an atomic context to an atomic context
@@ -48,10 +50,8 @@
         Component<SystemImplementation> targetComponent = MockComponentFactory.createTarget();
         Component<SystemImplementation> sourceComponent = MockComponentFactory.createSourceWithTargetReference();
 
-        AtomicContext<?> sourceContext = (AtomicContext) builder.build(parent, sourceComponent);
-        sourceContext.setScopeContext(scope);
-        AtomicContext<?> targetContext = (AtomicContext) builder.build(parent, targetComponent);
-        targetContext.setScopeContext(scope);
+        AtomicContext<?> sourceContext = (AtomicContext) builder.build(parent, sourceComponent, deploymentContext);
+        AtomicContext<?> targetContext = (AtomicContext) builder.build(parent, targetComponent, deploymentContext);
 
         parent.registerContext(sourceContext);
         parent.registerContext(targetContext);
@@ -87,21 +87,20 @@
 
         // create a context in the grandparent that the reference will be autowired to
         Component<SystemImplementation> targetComponent = MockComponentFactory.createTarget();
-        AtomicContext targetComponentContext = (AtomicContext) builder.build(parent, targetComponent);
-        targetComponentContext.setScopeContext(scope);
+        AtomicContext targetComponentContext = (AtomicContext) builder.build(parent, targetComponent, deploymentContext);
         grandParent.registerContext(targetComponentContext);
 
         BoundReference<SystemBinding> targetReference = MockComponentFactory.createBoundReference();
         Component<SystemImplementation> sourceComponent = MockComponentFactory.createSourceWithTargetReference();
 
-        AtomicContext<?> sourceContext = (AtomicContext) builder.build(parent, sourceComponent);
-        sourceContext.setScopeContext(scope);
-        ReferenceContext targetContext = (ReferenceContext) bindingBuilder.build(parent, targetReference);
+        AtomicContext<?> sourceContext = (AtomicContext) builder.build(parent, sourceComponent, deploymentContext);
+        ReferenceContext targetContext = (ReferenceContext) bindingBuilder.build(parent, targetReference, deploymentContext);
 
         parent.registerContext(sourceContext);
         parent.registerContext(targetContext);
 
         connector.connect(sourceContext);
+        grandParent.registerContext(parent);
         grandParent.start();
         scope.onEvent(new ModuleStart(this, parent));
         Source source = (Source) parent.getContext("source").getService();
@@ -132,9 +131,8 @@
         BoundService<SystemBinding> service =  MockComponentFactory.createBoundService();
         Component<SystemImplementation> component = MockComponentFactory.createTarget();
 
-        AtomicContext<?> sourceContext = (AtomicContext) builder.build(parent, component);
-        sourceContext.setScopeContext(scope);
-        ServiceContext<?> serviceContext = (ServiceContext) bindingBuilder.build(parent, service);
+        AtomicContext<?> sourceContext = (AtomicContext) builder.build(parent, component, deploymentContext);
+        ServiceContext<?> serviceContext = (ServiceContext) bindingBuilder.build(parent, service, deploymentContext);
 
         parent.registerContext(sourceContext);
         parent.registerContext(serviceContext);
@@ -171,21 +169,21 @@
 
         // create a context in the grandparent that the reference will be autowired to
         Component<SystemImplementation> targetComponent = MockComponentFactory.createTarget();
-        AtomicContext targetComponentContext = (AtomicContext) builder.build(parent, targetComponent);
-        targetComponentContext.setScopeContext(scope);
+        AtomicContext targetComponentContext = (AtomicContext) builder.build(parent, targetComponent, deploymentContext);
         grandParent.registerContext(targetComponentContext);
 
         BoundReference<SystemBinding> reference = MockComponentFactory.createBoundReference();
         BoundService<SystemBinding> service =  MockComponentFactory.createBoundService();
 
-        ReferenceContext<?> referenceContext = (ReferenceContext) bindingBuilder.build(parent, reference);
-        ServiceContext<?> serviceContext = (ServiceContext) bindingBuilder.build(parent, service);
+        ReferenceContext<?> referenceContext = (ReferenceContext) bindingBuilder.build(parent, reference, deploymentContext);
+        ServiceContext<?> serviceContext = (ServiceContext) bindingBuilder.build(parent, service, deploymentContext);
 
         parent.registerContext(referenceContext);
         parent.registerContext(serviceContext);
 
         connector.connect(serviceContext);
-        parent.start();
+        grandParent.registerContext(parent);
+        grandParent.start();
         scope.onEvent(new ModuleStart(this, parent));
         Target target = (Target) parent.getContext("service").getService();
         assertNotNull(target);
@@ -198,5 +196,11 @@
 
     }
 
+    protected void setUp() throws Exception {
+        super.setUp();
+        ModuleScopeContext moduleScope = new ModuleScopeContext();
+        moduleScope.start();
+        deploymentContext = new DeploymentContext(null, null, moduleScope);
 
+    }
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/loader/ServiceLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/loader/ServiceLoaderTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/loader/ServiceLoaderTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/loader/ServiceLoaderTestCase.java Tue May 23 22:37:23 2006
@@ -23,9 +23,10 @@
 
 import org.apache.tuscany.spi.model.Service;
 import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.loader.LoaderContext;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.loader.LoaderException;
 import org.apache.tuscany.spi.loader.LoaderRegistry;
+
 import org.jmock.Mock;
 import org.jmock.MockObjectTestCase;
 
@@ -34,7 +35,7 @@
  */
 public class ServiceLoaderTestCase extends MockObjectTestCase {
     private ServiceLoader loader;
-    private LoaderContext loaderContext;
+    private DeploymentContext deploymentContext;
     private Mock mockReader;
     private Mock mockRegistry;
 
@@ -54,8 +55,8 @@
         mockReader.expects(once()).method("getName").will(returnValue(AssemblyConstants.SERVICE));
         mockReader.expects(once()).method("getAttributeValue").with(NULL, eq("name")).will(returnValue(name));
         mockReader.expects(atLeastOnce()).method("next").will(onConsecutiveCalls(returnValue(START_ELEMENT), returnValue(END_ELEMENT)));
-        mockRegistry.expects(once()).method("load").with(eq(mockReader.proxy()), eq(loaderContext)).will(returnValue(sc));
-        Service service = loader.load((XMLStreamReader) mockReader.proxy(), loaderContext);
+        mockRegistry.expects(once()).method("load").with(eq(mockReader.proxy()), eq(deploymentContext)).will(returnValue(sc));
+        Service service = loader.load((XMLStreamReader) mockReader.proxy(), deploymentContext);
         assertNotNull(service);
         assertEquals(name, service.getName());
         assertSame(sc, service.getServiceContract());
@@ -67,6 +68,6 @@
         mockReader = mock(XMLStreamReader.class);
         mockRegistry = mock(LoaderRegistry.class);
         loader.setRegistry((LoaderRegistry) mockRegistry.proxy());
-        loaderContext = new LoaderContext(null, null);
+        deploymentContext = new DeploymentContext(null, null, null);
     }
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/loader/StAXLoaderRegistryImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/loader/StAXLoaderRegistryImplTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/loader/StAXLoaderRegistryImplTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/loader/StAXLoaderRegistryImplTestCase.java Tue May 23 22:37:23 2006
@@ -22,9 +22,10 @@
 
 import org.apache.tuscany.spi.loader.StAXElementLoader;
 import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderContext;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.loader.UnrecognizedElementException;
 import org.apache.tuscany.spi.model.ModelObject;
+
 import org.jmock.Mock;
 import org.jmock.MockObjectTestCase;
 
@@ -38,7 +39,7 @@
     private Mock mockMonitor;
     private Mock mockLoader;
     private Mock mockReader;
-    private LoaderContext loaderContext;
+    private DeploymentContext deploymentContext;
     private ModelObject modelObject;
 
     public void testLoaderRegistration() {
@@ -55,10 +56,10 @@
         mockReader.expects(once()).method("getName").will(returnValue(name));
         mockMonitor.expects(once()).method("registeringLoader").with(eq(name));
         mockMonitor.expects(once()).method("elementLoad").with(eq(name));
-        mockLoader.expects(once()).method("load").with(eq(mockReader.proxy()), eq(loaderContext)).will(returnValue(modelObject));
+        mockLoader.expects(once()).method("load").with(eq(mockReader.proxy()), eq(deploymentContext)).will(returnValue(modelObject));
 
         registry.registerLoader(name, (StAXElementLoader<ModelObject>) mockLoader.proxy());
-        assertSame(modelObject, registry.load((XMLStreamReader) mockReader.proxy(), loaderContext));
+        assertSame(modelObject, registry.load((XMLStreamReader) mockReader.proxy(), deploymentContext));
     }
 
     public void testUnsuccessfulDispatch() throws LoaderException, XMLStreamException {
@@ -66,7 +67,7 @@
         mockMonitor.expects(once()).method("elementLoad").with(eq(name));
 
         try {
-            registry.load((XMLStreamReader) mockReader.proxy(), loaderContext);
+            registry.load((XMLStreamReader) mockReader.proxy(), deploymentContext);
             fail();
         } catch (UnrecognizedElementException e) {
             assertSame(name, e.getElement());
@@ -76,7 +77,7 @@
     protected void setUp() throws Exception {
         super.setUp();
         name = new QName("http://mock", "test");
-        loaderContext = new LoaderContext(null, null);
+        deploymentContext = new DeploymentContext(null, null, null);
         registry = new LoaderRegistryImpl();
         mockMonitor = mock(LoaderRegistryImpl.Monitor.class);
         registry.setMonitor((LoaderRegistryImpl.Monitor) mockMonitor.proxy());

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockAtomicContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockAtomicContext.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockAtomicContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockAtomicContext.java Tue May 23 22:37:23 2006
@@ -9,6 +9,7 @@
 import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.ObjectFactory;
 import org.apache.tuscany.spi.context.TargetException;
+import org.apache.tuscany.spi.context.ScopeContext;
 import org.apache.tuscany.spi.wire.TargetInvoker;
 
 /**
@@ -18,8 +19,13 @@
  */
 public class MockAtomicContext<T> extends PojoAtomicContext<T> {
 
-    public MockAtomicContext(String name, List<Class<?>> serviceInterfaces, ObjectFactory<?> objectFactory, Scope scope, Map<String, Member> members) {
-        super(name, null, serviceInterfaces, objectFactory, false, null, null, null, members);
+    public MockAtomicContext(String name,
+                             List<Class<?>> serviceInterfaces,
+                             ObjectFactory<?> objectFactory,
+                             Scope scope,
+                             ScopeContext scopeContext,
+                             Map<String, Member> members) {
+        super(name, null, scopeContext, serviceInterfaces, objectFactory, false, null, null, null, members);
         this.scope = scope;
     }
 

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/factories/MockContextFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/factories/MockContextFactory.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/factories/MockContextFactory.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/factories/MockContextFactory.java Tue May 23 22:37:23 2006
@@ -51,12 +51,16 @@
      *
      * @throws NoSuchMethodException
      */
-    public static Map<String, AtomicContext> createWiredContexts(String source, List<Class<?>> sourceInterfaces, Class<?> sourceClass, ScopeContext sourceScopeCtx,
-                                                                 String target, Class<?> targetClass, ScopeContext targetScopeCtx) throws NoSuchMethodException {
+    public static Map<String, AtomicContext> createWiredContexts(String source,
+                                                                 List<Class<?>> sourceInterfaces,
+                                                                 Class<?> sourceClass,
+                                                                 ScopeContext sourceScopeCtx,
+                                                                 String target,
+                                                                 Class<?> targetClass,
+                                                                 ScopeContext targetScopeCtx) throws NoSuchMethodException {
 
         Map<String, AtomicContext> contexts = new HashMap<String, AtomicContext>();
-        SystemAtomicContext targetCtx = createSystemAtomicContext(target, targetClass);//, targetEager, targetInitInvoker, targetDestroyInvoker, null);
-        targetCtx.setScopeContext(targetScopeCtx);
+        SystemAtomicContext targetCtx = createSystemAtomicContext(target, targetScopeCtx, targetClass);//, targetEager, targetInitInvoker, targetDestroyInvoker, null);
 
         //create target wire
         Method[] sourceMethods = sourceClass.getMethods();
@@ -81,31 +85,34 @@
 
         Map<String, Member> members = new HashMap<String, Member>();
         members.put(setter.getName(), setter);
-        SystemAtomicContext sourceCtx = createSystemAtomicContext(source, sourceInterfaces, sourceClass, null, members);//, sourceEager, sourceInitInvoker, sourceDestroyInvoker, injectors);
+        SystemAtomicContext sourceCtx = createSystemAtomicContext(source, sourceScopeCtx, sourceInterfaces, sourceClass, null, members);//, sourceEager, sourceInitInvoker, sourceDestroyInvoker, injectors);
         QualifiedName targetName = new QualifiedName(target);
         SystemSourceWire wire = new SystemSourceWire(setter.getName(), targetName, targetClass);
         TargetWire targetWire = new SystemTargetWire(targetName.getPortName(), targetClass, targetCtx);
         wire.setTargetWire(targetWire);
 
         sourceCtx.addSourceWire(wire);
-        sourceCtx.setScopeContext(sourceScopeCtx);
         contexts.put(source, sourceCtx);
         contexts.put(target, targetCtx);
         return contexts;
     }
 
-    public static SystemAtomicContext createSystemAtomicContext(String name, Class<?> clazz) throws NoSuchMethodException {
+    public static SystemAtomicContext createSystemAtomicContext(String name, ScopeContext scopeContext, Class<?> clazz) throws NoSuchMethodException {
         List<Class<?>> serviceInterfaces = new ArrayList<Class<?>>();
         serviceInterfaces.add(clazz);
-        return createSystemAtomicContext(name, serviceInterfaces, clazz);
+        return createSystemAtomicContext(name, scopeContext, serviceInterfaces, clazz);
     }
 
-    public static SystemAtomicContext createSystemAtomicContext(String name, List<Class<?>> interfaces, Class<?> clazz) throws NoSuchMethodException {
-        return createSystemAtomicContext(name, interfaces, clazz, null, null);
+    public static SystemAtomicContext createSystemAtomicContext(String name, ScopeContext scopeContext, List<Class<?>> interfaces, Class<?> clazz) throws NoSuchMethodException {
+        return createSystemAtomicContext(name, scopeContext, interfaces, clazz, null, null);
     }
 
-    public static SystemAtomicContext createSystemAtomicContext(String name, List<Class<?>> serviceInterfaces,
-                                                                Class<?> clazz, List<Injector> injectors, Map<String, Member> members) throws NoSuchMethodException {
+    public static SystemAtomicContext createSystemAtomicContext(String name,
+                                                                ScopeContext scopeContext,
+                                                                List<Class<?>> serviceInterfaces,
+                                                                Class<?> clazz,
+                                                                List<Injector> injectors,
+                                                                Map<String, Member> members) throws NoSuchMethodException {
         Method[] methods = clazz.getMethods();
         EventInvoker<Object> initInvoker = null;
         EventInvoker<Object> destroyInvoker = null;
@@ -120,7 +127,7 @@
                 destroyInvoker = new MethodEventInvoker<Object>(method);
             }
         }
-        return createSystemAtomicContext(name, serviceInterfaces, clazz, eager, initInvoker, destroyInvoker, injectors, members);
+        return createSystemAtomicContext(name, scopeContext, serviceInterfaces, clazz, eager, initInvoker, destroyInvoker, injectors, members);
     }
 
     /**
@@ -134,9 +141,16 @@
      * @param injectors
      * @throws NoSuchMethodException
      */
-    public static SystemAtomicContextImpl createSystemAtomicContext(String name, List<Class<?>> serviceInterfaces, Class<?> clazz, boolean eagerInit, EventInvoker<Object> initInvoker,
-                                                                    EventInvoker<Object> destroyInvoker, List<Injector> injectors, Map<String, Member> members) throws NoSuchMethodException {
-        return new SystemAtomicContextImpl(name, null, serviceInterfaces, createObjectFactory(clazz), eagerInit, initInvoker, destroyInvoker, injectors, members);
+    public static SystemAtomicContextImpl createSystemAtomicContext(String name,
+                                                                    ScopeContext scopeContext,
+                                                                    List<Class<?>> serviceInterfaces,
+                                                                    Class<?> clazz,
+                                                                    boolean eagerInit,
+                                                                    EventInvoker<Object> initInvoker,
+                                                                    EventInvoker<Object> destroyInvoker,
+                                                                    List<Injector> injectors,
+                                                                    Map<String, Member> members) throws NoSuchMethodException {
+        return new SystemAtomicContextImpl(name, null, scopeContext, serviceInterfaces, createObjectFactory(clazz), eagerInit, initInvoker, destroyInvoker, injectors, members);
     }
 
     public static <T> TargetWire<T> createTargetWireFactory(String serviceName, Class<T> interfaze) {

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/factories/MockWireFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/factories/MockWireFactory.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/factories/MockWireFactory.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/factories/MockWireFactory.java Tue May 23 22:37:23 2006
@@ -49,7 +49,7 @@
         Map<String, Member> members = new HashMap<String, Member>();
         members.put("target", SimpleSourceImpl.class.getMethod("setTarget", SimpleTarget.class));
         MockAtomicContext<SimpleSource> source = new MockAtomicContext<SimpleSource>("source", sourceInterfaces, new PojoObjectFactory<SimpleSourceImpl>(sourceCtr),
-                scopeContext.getScope(), members);
+                scopeContext.getScope(), scopeContext, members);
         SourceWire<SimpleTarget> sourceWire = new JDKSourceWire<SimpleTarget>();
         sourceWire.setBusinessInterface(SimpleTarget.class);
         sourceWire.setReferenceName("target");
@@ -72,7 +72,6 @@
         }
         sourceWire.addInvocationChain(echo, chain);
         source.addSourceWire(sourceWire);
-        source.setScopeContext(scopeContext);
         return source;
     }
 
@@ -85,7 +84,7 @@
         targetInterfaces.add(SimpleTarget.class);
         Constructor<SimpleTargetImpl> targetCtr = SimpleTargetImpl.class.getConstructor();
         MockAtomicContext<SimpleTarget> target = new MockAtomicContext<SimpleTarget>("target", targetInterfaces, new PojoObjectFactory<SimpleTargetImpl>(targetCtr),
-                scopeContext.getScope(), null);
+                scopeContext.getScope(), scopeContext, null);
         TargetWire<SimpleTarget> targetWire = new JDKTargetWire<SimpleTarget>();
         targetWire.setBusinessInterface(SimpleTarget.class);
         targetWire.setServiceName("Target");
@@ -108,7 +107,6 @@
         chain.addInterceptor(new InvokerInterceptor()); // add tail interceptor
         targetWire.addInvocationChain(echo, chain);
         target.addTargetWire(targetWire);
-        target.setScopeContext(scopeContext);
         return target;
     }
 

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemAtomicContextTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemAtomicContextTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemAtomicContextTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemAtomicContextTestCase.java Tue May 23 22:37:23 2006
@@ -15,7 +15,7 @@
 
     public void testContextCreationAndInit() throws Exception {
         ObjectFactory<Foo> factory = new PojoObjectFactory<Foo>(Foo.class.getConstructor((Class[]) null), null);
-        SystemAtomicContext context = new SystemAtomicContextImpl("foo", null, Foo.class, factory, false, initInvoker, null, null, null);
+        SystemAtomicContext context = new SystemAtomicContextImpl("foo", null, null, Foo.class, factory, false, initInvoker, null, null, null);
         Foo foo = (Foo) context.createInstance().getInstance();
         assertNotNull(foo);
         assertTrue(foo.initialized);

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/wire/AtomicContextWireInvocationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/wire/AtomicContextWireInvocationTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/wire/AtomicContextWireInvocationTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/wire/AtomicContextWireInvocationTestCase.java Tue May 23 22:37:23 2006
@@ -38,11 +38,11 @@
         members.put("setTarget", SourceImpl.class.getMethod("setTarget", Target.class));
         List<Class<?>> interfaces = new ArrayList<Class<?>>();
         interfaces.add(Source.class);
-        SystemAtomicContext sourceContext = MockContextFactory.createSystemAtomicContext("source", interfaces, SourceImpl.class, null, members);
+        SystemAtomicContext sourceContext = MockContextFactory.createSystemAtomicContext("source", scope, interfaces, SourceImpl.class, null, members);
         SourceWire<Target> sourceWire = new SystemSourceWire<Target>("setTarget", new QualifiedName("service"), Target.class);
         sourceWire.setTargetWire(targetWire);
         sourceContext.addSourceWire(sourceWire);
-        sourceContext.setScopeContext(scope);
+        sourceContext.start();
         assertSame(((Source) sourceContext.getService()).getTarget(), target); // wires should pass back direct ref
     }
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/wire/ServiceContextToAtomicContextTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/wire/ServiceContextToAtomicContextTestCase.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/wire/ServiceContextToAtomicContextTestCase.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/wire/ServiceContextToAtomicContextTestCase.java Tue May 23 22:37:23 2006
@@ -24,12 +24,14 @@
     public void testWireResolution() throws NoSuchMethodException {
         ModuleScopeContext scope = new ModuleScopeContext(null);
         scope.start();
-        SystemAtomicContext targetContext = MockContextFactory.createSystemAtomicContext("target", TargetImpl.class);
-        targetContext.setScopeContext(scope);
+        SystemAtomicContext targetContext = MockContextFactory.createSystemAtomicContext("target", scope, TargetImpl.class);
         TargetWire<Target> targetWire = new SystemTargetWire<Target>(Target.class, targetContext);
         SourceWire<Target> wire = new SystemSourceWire<Target>("service", new QualifiedName("target"), Target.class);    //String referenceName, QualifiedName targetName, Class<T> businessInterface
         wire.setTargetWire(targetWire);
         SystemServiceContext<Target> serviceContext = new SystemServiceContextImpl<Target>("service", wire, null);
+        serviceContext.start();
+        targetContext.start();
+        
         Target target = serviceContext.getService();
         assertSame(targetContext.getService(), target);
     }

Modified: incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/builder/BindingBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/builder/BindingBuilder.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/builder/BindingBuilder.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/builder/BindingBuilder.java Tue May 23 22:37:23 2006
@@ -21,11 +21,12 @@
 import org.apache.tuscany.spi.model.BoundService;
 import org.apache.tuscany.spi.context.CompositeContext;
 import org.apache.tuscany.spi.context.Context;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
 
 /**
  * @version $Rev$ $Date$
  */
 public interface BindingBuilder<B extends Binding> {
-    Context build(CompositeContext parent, BoundService<B> boundService);
-    Context build(CompositeContext parent, BoundReference<B> boundReference);
+    Context build(CompositeContext parent, BoundService<B> boundService, DeploymentContext deploymentContext);
+    Context build(CompositeContext parent, BoundReference<B> boundReference, DeploymentContext deploymentContext);
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/builder/BuilderRegistry.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/builder/BuilderRegistry.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/builder/BuilderRegistry.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/builder/BuilderRegistry.java Tue May 23 22:37:23 2006
@@ -23,6 +23,7 @@
 import org.apache.tuscany.spi.model.Implementation;
 import org.apache.tuscany.spi.context.CompositeContext;
 import org.apache.tuscany.spi.context.Context;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
 
 /**
  * @version $Rev$ $Date$
@@ -32,13 +33,13 @@
 
     <I extends Implementation<?>> void register(Class<I> implClass, ComponentBuilder<I> builder);
 
-    <I extends Implementation<?>> Context build(CompositeContext parent, Component<I> component);
+    <I extends Implementation<?>> Context build(CompositeContext parent, Component<I> component, DeploymentContext deploymentContext);
 
     <B extends Binding> void register(BindingBuilder<B> builder);
 
     <B extends Binding> void register(Class<B> implClass, BindingBuilder<B> builder);
 
-    <B extends Binding> Context build(CompositeContext parent, BoundService<B> boundService);
+    <B extends Binding> Context build(CompositeContext parent, BoundService<B> boundService, DeploymentContext deploymentContext);
 
-    <B extends Binding> Context build(CompositeContext parent, BoundReference<B> boundReference);
+    <B extends Binding> Context build(CompositeContext parent, BoundReference<B> boundReference, DeploymentContext deploymentContext);
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/builder/ComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/builder/ComponentBuilder.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/builder/ComponentBuilder.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/builder/ComponentBuilder.java Tue May 23 22:37:23 2006
@@ -20,10 +20,11 @@
 import org.apache.tuscany.spi.model.Implementation;
 import org.apache.tuscany.spi.context.ComponentContext;
 import org.apache.tuscany.spi.context.CompositeContext;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
 
 /**
  * @version $Rev$ $Date$
  */
 public interface ComponentBuilder<I extends Implementation<?>> {
-    ComponentContext build(CompositeContext parent, Component<I> component) throws BuilderConfigException;
+    ComponentContext build(CompositeContext parent, Component<I> component, DeploymentContext deploymentContext) throws BuilderConfigException;
 }

Modified: incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/AtomicContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/AtomicContext.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/AtomicContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/AtomicContext.java Tue May 23 22:37:23 2006
@@ -26,11 +26,6 @@
 public interface AtomicContext<T> extends ComponentContext<T> {
 
     /**
-     * Sets the scope context used by this atomic context for instance management
-     */
-    void setScopeContext(ScopeContext context);
-
-    /**
      * Returns whether the context should be eagerly initialized
      */
     boolean isEagerInit();

Copied: incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java (from r408966, incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/loader/LoaderContext.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java?p2=incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java&p1=incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/loader/LoaderContext.java&r1=408966&r2=409074&rev=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/loader/LoaderContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java Tue May 23 22:37:23 2006
@@ -14,10 +14,12 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.tuscany.spi.loader;
+package org.apache.tuscany.spi.deployer;
 
 import javax.xml.stream.XMLInputFactory;
 
+import org.apache.tuscany.spi.context.ScopeContext;
+
 /**
  * Context holder that can be used during the load process to store information
  * that is not part of the logical model. This should be regarded as transient
@@ -25,19 +27,22 @@
  *
  * @version $Rev$ $Date$
  */
-public class LoaderContext {
+public class DeploymentContext {
     private final ClassLoader classLoader;
     private final XMLInputFactory xmlFactory;
+    private final ScopeContext moduleScope;
 
     /**
      * Constructor specifying the loader for application resources.
      *
      * @param classLoader the loader for application resources
      * @param xmlFactory  a factory that can be used to obtain an StAX XMLStreamReader
+     * @param moduleScope the scope context representing this deployment's MODULE scope
      */
-    public LoaderContext(ClassLoader classLoader, XMLInputFactory xmlFactory) {
+    public DeploymentContext(ClassLoader classLoader, XMLInputFactory xmlFactory, ScopeContext moduleScope) {
         this.classLoader = classLoader;
         this.xmlFactory = xmlFactory;
+        this.moduleScope = moduleScope;
     }
 
     /**
@@ -56,5 +61,13 @@
      */
     public XMLInputFactory getXmlFactory() {
         return xmlFactory;
+    }
+
+    /**
+     * Returns the ScopeContext for the MODULE scope that will be associated with this deployment unit.
+     * @return the ScopeContext for the MODULE scope that will be associated with this deployment unit
+     */
+    public ScopeContext getModuleScope() {
+        return moduleScope;
     }
 }

Propchange: incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/deployer/DeploymentContext.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Modified: incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicContextExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicContextExtension.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicContextExtension.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicContextExtension.java Tue May 23 22:37:23 2006
@@ -5,6 +5,7 @@
 import org.apache.tuscany.spi.context.ScopeContext;
 import org.apache.tuscany.spi.context.TargetException;
 import org.apache.tuscany.spi.context.CompositeContext;
+import org.apache.tuscany.spi.CoreRuntimeException;
 
 /**
  * @version $$Rev$$ $$Date$$
@@ -14,21 +15,22 @@
     protected ScopeContext scopeContext;
     protected Scope scope;
 
-    protected AtomicContextExtension(String name, CompositeContext<?> parent) {
+    protected AtomicContextExtension(String name, CompositeContext<?> parent, ScopeContext scopeContext) {
         super(name, parent);
+        this.scopeContext = scopeContext;
     }
 
     public Scope getScope() {
         return scope;
     }
 
-    public void setScopeContext(ScopeContext context) {
-        scopeContext = context;
-        context.register(this);
-    }
-
     public boolean isEagerInit() {
         return false;
+    }
+
+    public void start() throws CoreRuntimeException {
+        super.start();
+        scopeContext.register(this);
     }
 
     public void init(Object instance) throws TargetException {

Modified: incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java Tue May 23 22:37:23 2006
@@ -9,6 +9,8 @@
 import org.apache.tuscany.spi.context.CompositeContext;
 import org.apache.tuscany.spi.context.Context;
 import org.apache.tuscany.spi.policy.PolicyBuilderRegistry;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
+
 import org.osoa.sca.annotations.Init;
 
 /**
@@ -35,11 +37,11 @@
         builderRegistry.register(getBindingType(), this);
     }
 
-    public Context build(CompositeContext parent, BoundService<B> boundService) {
+    public Context build(CompositeContext parent, BoundService<B> boundService, DeploymentContext deploymentContext) {
         return null;
     }
 
-    public Context build(CompositeContext parent, BoundReference<B> boundReference) {
+    public Context build(CompositeContext parent, BoundReference<B> boundReference, DeploymentContext deploymentContext) {
         return null;
     }
 

Modified: incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentBuilderExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentBuilderExtension.java?rev=409074&r1=409073&r2=409074&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentBuilderExtension.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentBuilderExtension.java Tue May 23 22:37:23 2006
@@ -5,6 +5,8 @@
 import org.apache.tuscany.spi.builder.BuilderRegistry;
 import org.apache.tuscany.spi.builder.ComponentBuilder;
 import org.apache.tuscany.spi.policy.PolicyBuilderRegistry;
+import org.apache.tuscany.spi.context.ScopeRegistry;
+
 import org.osoa.sca.annotations.Init;
 
 /**
@@ -14,11 +16,17 @@
 public abstract class ComponentBuilderExtension<I extends Implementation<?>> implements ComponentBuilder<I> {
 
     protected BuilderRegistry builderRegistry;
+    protected ScopeRegistry scopeRegistry;
     protected PolicyBuilderRegistry policyBuilderRegistry;
 
     @Autowire
     public void setBuilderRegistry(BuilderRegistry registry) {
         this.builderRegistry = registry;
+    }
+
+    @Autowire
+    public void setScopeRegistry(ScopeRegistry scopeRegistry) {
+        this.scopeRegistry = scopeRegistry;
     }
 
     @Autowire



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