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

svn commit: r493902 [1/2] - in /incubator/tuscany/java/sca: kernel/core/src/main/java/org/apache/tuscany/core/builder/ kernel/core/src/main/java/org/apache/tuscany/core/deployer/ kernel/core/src/main/java/org/apache/tuscany/core/implementation/ kernel/...

Author: jmarino
Date: Sun Jan  7 18:00:13 2007
New Revision: 493902

URL: http://svn.apache.org/viewvc?view=rev&rev=493902
Log:
move setScopeContainer from CompositeComponent to Component and move setting of scope container from builders to BuilderRegistryImpl

Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoader.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.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/component/scope/BasicConversationalScopeTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeRestartTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeRestartTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/PassByValueWirePostProcessorTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderMetadataTestCase.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
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/ResourceInjectionTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/CallbackInvocationTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/OutboundWireToJavaTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilderTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponentWireInvocationTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationIdleExpireTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationMaxAgeExpireTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationStartStopEndTestCase.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/mock/MockFactory.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Component.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/CompositeComponent.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AbstractComponentExtension.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/SystemAtomicComponentExtension.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/implementation/java/PojoComponentType.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ComponentType.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/CompositeComponentType.java
    incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/AtomicComponentExtensionTestCase.java
    incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java
    incubator/tuscany/java/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyAtomicComponent.java
    incubator/tuscany/java/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentBuilder.java
    incubator/tuscany/java/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyConfiguration.java
    incubator/tuscany/java/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/PropertyTestCase.java
    incubator/tuscany/java/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/ScriptInvokeTestCase.java
    incubator/tuscany/java/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/WireTestCase.java
    incubator/tuscany/java/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponent.java
    incubator/tuscany/java/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponentBuilder.java
    incubator/tuscany/java/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponentType.java
    incubator/tuscany/java/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptIntrospector.java
    incubator/tuscany/java/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/WireTestCase.java
    incubator/tuscany/java/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponent.java
    incubator/tuscany/java/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentBuilder.java
    incubator/tuscany/java/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentType.java
    incubator/tuscany/java/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyIntrospector.java
    incubator/tuscany/java/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/WireTestCase.java
    incubator/tuscany/java/sca/services/containers/container.script/src/main/java/org/apache/tuscany/container/script/ScriptComponent.java
    incubator/tuscany/java/sca/services/persistence/datasource/src/main/java/org/apache/tuscany/persistence/datasource/DSComponentTypeLoader.java
    incubator/tuscany/java/sca/services/persistence/datasource/src/main/java/org/apache/tuscany/persistence/datasource/DataSourceBuilder.java
    incubator/tuscany/java/sca/services/persistence/datasource/src/main/java/org/apache/tuscany/persistence/datasource/DataSourceComponent.java
    incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/DataSourceBuilderTestCase.java
    incubator/tuscany/java/sca/services/persistence/datasource/src/test/java/org/apache/tuscany/persistence/datasource/DataSourceComponentTestCase.java
    incubator/tuscany/java/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/JPAAtomicComponent.java

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java Sun Jan  7 18:00:13 2007
@@ -31,11 +31,13 @@
 import org.apache.tuscany.spi.builder.BuilderRegistry;
 import org.apache.tuscany.spi.builder.ComponentBuilder;
 import org.apache.tuscany.spi.builder.MissingWireTargetException;
+import org.apache.tuscany.spi.builder.ScopeNotFoundException;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.Reference;
 import org.apache.tuscany.spi.component.ReferenceBinding;
+import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.component.ScopeRegistry;
 import org.apache.tuscany.spi.component.Service;
 import org.apache.tuscany.spi.component.ServiceBinding;
@@ -46,6 +48,7 @@
 import org.apache.tuscany.spi.model.ComponentDefinition;
 import org.apache.tuscany.spi.model.ComponentType;
 import org.apache.tuscany.spi.model.Implementation;
+import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.model.ServiceContract;
 import org.apache.tuscany.spi.wire.WireService;
 
@@ -54,7 +57,7 @@
 
 /**
  * The default builder registry in the runtime
- * 
+ *
  * @version $Rev$ $Date$
  */
 @EagerInit
@@ -62,7 +65,8 @@
     protected WireService wireService;
     protected ScopeRegistry scopeRegistry;
 
-    private final Map<Class<? extends Implementation<?>>, ComponentBuilder<? extends Implementation<?>>> componentBuilders =
+    private final Map<Class<? extends Implementation<?>>, ComponentBuilder<? extends Implementation<?>>>
+    componentBuilders =
         new HashMap<Class<? extends Implementation<?>>, ComponentBuilder<? extends Implementation<?>>>();
     private final Map<Class<? extends BindingDefinition>, BindingBuilder<? extends BindingDefinition>> bindingBuilders =
         new HashMap<Class<? extends BindingDefinition>, BindingBuilder<? extends BindingDefinition>>();
@@ -92,7 +96,7 @@
                                                          DeploymentContext context) throws BuilderException {
         Class<?> implClass = componentDefinition.getImplementation().getClass();
         // noinspection SuspiciousMethodCalls
-        ComponentBuilder<I> componentBuilder = (ComponentBuilder<I>)componentBuilders.get(implClass);
+        ComponentBuilder<I> componentBuilder = (ComponentBuilder<I>) componentBuilders.get(implClass);
         try {
             if (componentBuilder == null) {
                 String name = implClass.getName();
@@ -102,12 +106,22 @@
             Component component = componentBuilder.build(parent, componentDefinition, context);
             if (component != null) {
                 component.setDefaultPropertyValues(componentDefinition.getPropertyValues());
+                Scope scope = componentDefinition.getImplementation().getComponentType().getImplementationScope();
+                if (scope == Scope.SYSTEM || scope == Scope.COMPOSITE) {
+                    component.setScopeContainer(context.getCompositeScope());
+                } else {
+                    ScopeContainer scopeContainer = scopeRegistry.getScopeContainer(scope);
+                    if (scopeContainer == null) {
+                        throw new ScopeNotFoundException(scope.toString());
+                    }
+                    component.setScopeContainer(scopeContainer);
+                }
             }
             ComponentType<?, ?, ?> componentType = componentDefinition.getImplementation().getComponentType();
             assert componentType != null : "Component type must be set";
             // create wires for the component
             if (wireService != null && component instanceof AtomicComponent) {
-                wireService.createWires((AtomicComponent)component, componentDefinition);
+                wireService.createWires((AtomicComponent) component, componentDefinition);
             }
             return component;
         } catch (BuilderException e) {

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java Sun Jan  7 18:00:13 2007
@@ -23,6 +23,7 @@
 import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.builder.Builder;
 import org.apache.tuscany.spi.builder.BuilderException;
+import org.apache.tuscany.spi.builder.BuilderInstantiationException;
 import org.apache.tuscany.spi.builder.BuilderRegistry;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.ComponentRegistrationException;
@@ -33,15 +34,17 @@
 import org.apache.tuscany.spi.component.ScopeContainerMonitor;
 import org.apache.tuscany.spi.deployer.Deployer;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
+import org.apache.tuscany.spi.event.Event;
+import org.apache.tuscany.spi.event.RuntimeEventListener;
 import org.apache.tuscany.spi.loader.Loader;
 import org.apache.tuscany.spi.loader.LoaderException;
 import org.apache.tuscany.spi.loader.LoaderRegistry;
 import org.apache.tuscany.spi.model.ComponentDefinition;
 import org.apache.tuscany.spi.model.Implementation;
 
-import org.apache.tuscany.spi.builder.BuilderInstantiationException;
-import org.apache.tuscany.core.component.scope.CompositeScopeContainer;
 import org.apache.tuscany.api.annotation.Monitor;
+import org.apache.tuscany.core.component.event.CompositeStop;
+import org.apache.tuscany.core.component.scope.CompositeScopeContainer;
 
 /**
  * Default implementation of Deployer.
@@ -82,7 +85,8 @@
     public <I extends Implementation<?>> Component deploy(CompositeComponent parent,
                                                           ComponentDefinition<I> componentDefinition)
         throws LoaderException, BuilderException, PrepareException {
-        ScopeContainer scopeContainer = new CompositeScopeContainer(monitor);
+        final ScopeContainer scopeContainer = new CompositeScopeContainer(monitor);
+        scopeContainer.start();
         DeploymentContext deploymentContext = new RootDeploymentContext(null, xmlFactory, scopeContainer, null);
         try {
             load(parent, componentDefinition, deploymentContext);
@@ -91,10 +95,16 @@
             throw e;
         }
         Component component = (Component) build(parent, componentDefinition, deploymentContext);
-        if (component instanceof CompositeComponent) {
-            CompositeComponent composite = (CompositeComponent) component;
-            composite.setScopeContainer(scopeContainer);
-        }
+        // create a listener so the scope container is shutdown when the top-level composite stops
+        RuntimeEventListener listener = new RuntimeEventListener() {
+            public void onEvent(Event event) {
+                scopeContainer.onEvent(event);
+                if (event instanceof CompositeStop) {
+                    scopeContainer.stop();
+                }
+            }
+        };
+        component.addListener(listener);
         component.prepare();
         try {
             parent.register(component);

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=493902&r1=493901&r2=493902
==============================================================================
--- 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 Sun Jan  7 18:00:13 2007
@@ -67,7 +67,6 @@
     public PojoAtomicComponent(PojoConfiguration configuration) {
         super(configuration.getName(),
             configuration.getParent(),
-            configuration.getScopeContainer(),
             configuration.getWireService(),
             configuration.getWorkContext(),
             configuration.getScheduler(),

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java Sun Jan  7 18:00:13 2007
@@ -25,7 +25,6 @@
 import java.util.Map;
 
 import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.component.WorkContext;
 import org.apache.tuscany.spi.extension.ExecutionMonitor;
 import org.apache.tuscany.spi.services.work.WorkScheduler;
@@ -43,7 +42,7 @@
 public class PojoConfiguration {
     private String name;
     private CompositeComponent parent;
-    private ScopeContainer scopeContainer;
+    //private ScopeContainer scopeContainer;
     private PojoObjectFactory<?> instanceFactory;
     private List<String> constructorParamNames = new ArrayList<String>();
     private List<Class<?>> constructorParamTypes = new ArrayList<Class<?>>();
@@ -77,14 +76,6 @@
 
     public void setParent(CompositeComponent parent) {
         this.parent = parent;
-    }
-
-    public ScopeContainer getScopeContainer() {
-        return scopeContainer;
-    }
-
-    public void setScopeContainer(ScopeContainer scopeContainer) {
-        this.scopeContainer = scopeContainer;
     }
 
     public PojoObjectFactory<?> getInstanceFactory() {

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java Sun Jan  7 18:00:13 2007
@@ -29,7 +29,6 @@
 import org.apache.tuscany.spi.component.ComponentRegistrationException;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.SCAObject;
-import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.component.TargetInvokerCreationException;
 import org.apache.tuscany.spi.event.Event;
 import org.apache.tuscany.spi.extension.CompositeComponentExtension;
@@ -53,7 +52,6 @@
     protected final Object lock = new Object();
     // Indicates whether the composite context has been initialized
     protected boolean initialized;
-    protected ScopeContainer scopeContainer;
 
 
     /**
@@ -69,12 +67,6 @@
         super(name, parent, connector, propertyValues);
     }
 
-    public void setScopeContainer(ScopeContainer scopeContainer) {
-        assert this.scopeContainer == null;
-        this.scopeContainer = scopeContainer;
-        addListener(scopeContainer);
-    }
-
     public <S, I extends S> void registerJavaObject(String name, Class<S> service, I instance)
         throws ComponentRegistrationException {
         register(new SystemSingletonAtomicComponent<S, I>(name, this, service, instance));
@@ -91,9 +83,6 @@
                 throw new IllegalStateException("Composite not in UNINITIALIZED state");
             }
 
-            if (scopeContainer != null) {
-                scopeContainer.start();
-            }
             for (SCAObject child : systemChildren.values()) {
                 child.start();
             }
@@ -112,17 +101,13 @@
             return;
         }
 
-        publish(new CompositeStop(this, this));
         for (SCAObject child : children.values()) {
             child.stop();
         }
         for (SCAObject child : systemChildren.values()) {
             child.stop();
         }
-        if (scopeContainer != null) {
-            scopeContainer.stop();
-        }
-
+        publish(new CompositeStop(this, this));
         // need to block a start until reset is complete
         initializeLatch = new CountDownLatch(2);
         lifecycleState = STOPPING;

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java Sun Jan  7 18:00:13 2007
@@ -48,7 +48,6 @@
 
     public JavaAtomicComponent(PojoConfiguration configuration) {
         super(configuration);
-        this.scope = configuration.getScopeContainer().getScope();
     }
 
     public TargetInvoker createTargetInvoker(String targetName, Operation operation, InboundWire callbackWire) {

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java Sun Jan  7 18:00:13 2007
@@ -25,10 +25,8 @@
 import org.apache.tuscany.spi.ObjectFactory;
 import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.builder.BuilderConfigException;
-import org.apache.tuscany.spi.builder.ScopeNotFoundException;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.extension.ComponentBuilderExtension;
 import org.apache.tuscany.spi.host.ResourceHost;
@@ -71,15 +69,6 @@
         PojoConfiguration configuration = new PojoConfiguration();
         configuration.setParent(parent);
         Scope scope = componentType.getImplementationScope();
-        if (Scope.COMPOSITE == scope) {
-            configuration.setScopeContainer(deployment.getCompositeScope());
-        } else {
-            ScopeContainer container = scopeRegistry.getScopeContainer(scope);
-            if (container == null) {
-                throw new ScopeNotFoundException(scope.getScope());
-            }
-            configuration.setScopeContainer(container);
-        }
         if (definition.getInitLevel() != null) {
             configuration.setInitLevel(definition.getInitLevel());
         } else {

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java Sun Jan  7 18:00:13 2007
@@ -74,7 +74,6 @@
 
         PojoConfiguration configuration = new PojoConfiguration();
         configuration.setParent(parent);
-        configuration.setScopeContainer(deploymentContext.getCompositeScope());
         if (definition.getInitLevel() != null) {
             configuration.setInitLevel(definition.getInitLevel());
         } else {

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoader.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoader.java Sun Jan  7 18:00:13 2007
@@ -33,6 +33,7 @@
 import org.apache.tuscany.spi.implementation.java.ProcessingException;
 import org.apache.tuscany.spi.loader.LoaderException;
 import org.apache.tuscany.spi.loader.LoaderRegistry;
+import org.apache.tuscany.spi.model.Scope;
 
 import org.apache.tuscany.core.implementation.system.model.SystemImplementation;
 import org.apache.tuscany.core.util.JavaIntrospectionHelper;
@@ -74,6 +75,8 @@
         } else {
             componentType = loadFromSidefile(sidefile, deploymentContext);
         }
+        // this means system components are always composite scoped
+        componentType.setImplementationScope(Scope.COMPOSITE);
         implementation.setComponentType(componentType);
     }
 

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java Sun Jan  7 18:00:13 2007
@@ -32,6 +32,8 @@
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.Reference;
 import org.apache.tuscany.spi.component.ReferenceBinding;
+import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.component.ScopeRegistry;
 import org.apache.tuscany.spi.component.Service;
 import org.apache.tuscany.spi.component.ServiceBinding;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
@@ -44,6 +46,7 @@
 import org.apache.tuscany.spi.model.CompositeImplementation;
 import org.apache.tuscany.spi.model.Implementation;
 import static org.apache.tuscany.spi.model.Multiplicity.ONE_ONE;
+import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.model.ServiceContract;
 import org.apache.tuscany.spi.wire.WireService;
 
@@ -126,11 +129,15 @@
 
     @SuppressWarnings({"unchecked"})
     public void testComponentImplementationDispatch() throws Exception {
+        ScopeRegistry scopeRegistry = EasyMock.createMock(ScopeRegistry.class);
+        ScopeContainer scopeContainer = EasyMock.createNiceMock(ScopeContainer.class);
+        EasyMock.expect(scopeRegistry.getScopeContainer(EasyMock.isA(Scope.class))).andReturn(scopeContainer);
+        EasyMock.replay(scopeRegistry);
         WireService wireService = EasyMock.createMock(WireService.class);
         wireService.createWires(EasyMock.isA(AtomicComponent.class),
             EasyMock.isA(ComponentDefinition.class));
         EasyMock.replay(wireService);
-        BuilderRegistry registry = new BuilderRegistryImpl(null, wireService);
+        BuilderRegistry registry = new BuilderRegistryImpl(scopeRegistry, wireService);
 
         AtomicComponent component = EasyMock.createNiceMock(AtomicComponent.class);
         EasyMock.replay(component);

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=493902&r1=493901&r2=493902
==============================================================================
--- 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 Sun Jan  7 18:00:13 2007
@@ -115,13 +115,13 @@
 
     private AtomicComponent createComponent(ScopeContainer scopeContainer) {
         PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setScopeContainer(scopeContainer);
         configuration.setInstanceFactory(factory);
         configuration.setInitInvoker(initInvoker);
         configuration.setDestroyInvoker(destroyInvoker);
         configuration.setName("foo");
-        SystemAtomicComponentImpl context = new SystemAtomicComponentImpl(configuration);
-        context.start();
-        return context;
+        SystemAtomicComponentImpl component = new SystemAtomicComponentImpl(configuration);
+        component.setScopeContainer(scopeContainer);
+        component.start();
+        return component;
     }
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java Sun Jan  7 18:00:13 2007
@@ -117,13 +117,13 @@
 
     private AtomicComponent createContext(ScopeContainer scopeContainer) {
         PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setScopeContainer(scopeContainer);
         configuration.setInstanceFactory(factory);
         configuration.setInitInvoker(initInvoker);
         configuration.setDestroyInvoker(destroyInvoker);
         configuration.setName("foo");
-        SystemAtomicComponentImpl context = new SystemAtomicComponentImpl(configuration);
-        context.start();
-        return context;
+        SystemAtomicComponentImpl component = new SystemAtomicComponentImpl(configuration);
+        component.setScopeContainer(scopeContainer);
+        component.start();
+        return component;
     }
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java Sun Jan  7 18:00:13 2007
@@ -133,13 +133,13 @@
 
     private AtomicComponent createComponent(ScopeContainer scopeContainer) {
         PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setScopeContainer(scopeContainer);
         configuration.setInstanceFactory(factory);
         configuration.setInitInvoker(initInvoker);
         configuration.setDestroyInvoker(destroyInvoker);
         configuration.setName("foo");
-        SystemAtomicComponentImpl context = new SystemAtomicComponentImpl(configuration);
-        context.start();
-        return context;
+        SystemAtomicComponentImpl component = new SystemAtomicComponentImpl(configuration);
+        component.setScopeContainer(scopeContainer);
+        component.start();
+        return component;
     }
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java Sun Jan  7 18:00:13 2007
@@ -40,64 +40,64 @@
     private PojoObjectFactory<?> factory;
 
     public void testLifecycleManagement() throws Exception {
-        RequestScopeContainer scopeContext = new RequestScopeContainer(null, null);
-        scopeContext.start();
-        AtomicComponent component = createComponent(scopeContext);
+        RequestScopeContainer scopeContainer = new RequestScopeContainer(null, null);
+        scopeContainer.start();
+        AtomicComponent component = createComponent(scopeContainer);
         // start the request
         RequestScopeInitDestroyComponent o1 =
-            (RequestScopeInitDestroyComponent) scopeContext.getInstance(component);
+            (RequestScopeInitDestroyComponent) scopeContainer.getInstance(component);
         assertTrue(o1.isInitialized());
         assertFalse(o1.isDestroyed());
         RequestScopeInitDestroyComponent o2 =
-            (RequestScopeInitDestroyComponent) scopeContext.getInstance(component);
+            (RequestScopeInitDestroyComponent) scopeContainer.getInstance(component);
         assertSame(o1, o2);
-        scopeContext.onEvent(new RequestEnd(this));
+        scopeContainer.onEvent(new RequestEnd(this));
         assertTrue(o1.isDestroyed());
-        scopeContext.stop();
+        scopeContainer.stop();
     }
 
     public void testGetAssociatedInstance() throws Exception {
-        RequestScopeContainer scopeContext = new RequestScopeContainer(null, null);
-        scopeContext.start();
-        AtomicComponent component = createComponent(scopeContext);
+        RequestScopeContainer scopeContainer = new RequestScopeContainer(null, null);
+        scopeContainer.start();
+        AtomicComponent component = createComponent(scopeContainer);
         // start the request
-        scopeContext.getInstance(component);
-        scopeContext.getAssociatedInstance(component);
-        scopeContext.stop();
+        scopeContainer.getInstance(component);
+        scopeContainer.getAssociatedInstance(component);
+        scopeContainer.stop();
     }
 
     public void testGetAssociatedInstanceNonExistent() throws Exception {
-        RequestScopeContainer scopeContext = new RequestScopeContainer(null, null);
-        scopeContext.start();
-        AtomicComponent component = createComponent(scopeContext);
+        RequestScopeContainer scopeContainer = new RequestScopeContainer(null, null);
+        scopeContainer.start();
+        AtomicComponent component = createComponent(scopeContainer);
         // start the request
         try {
-            scopeContext.getAssociatedInstance(component);
+            scopeContainer.getAssociatedInstance(component);
             fail();
         } catch (TargetNotFoundException e) {
             // expected
         }
-        scopeContext.stop();
+        scopeContainer.stop();
     }
 
     public void testRequestIsolation() throws Exception {
-        RequestScopeContainer scopeContext = new RequestScopeContainer(null, null);
-        scopeContext.start();
+        RequestScopeContainer scopeContainer = new RequestScopeContainer(null, null);
+        scopeContainer.start();
 
-        AtomicComponent component = createComponent(scopeContext);
+        AtomicComponent component = createComponent(scopeContainer);
 
         RequestScopeInitDestroyComponent o1 =
-            (RequestScopeInitDestroyComponent) scopeContext.getInstance(component);
+            (RequestScopeInitDestroyComponent) scopeContainer.getInstance(component);
         assertTrue(o1.isInitialized());
-        scopeContext.onEvent(new RequestEnd(this));
+        scopeContainer.onEvent(new RequestEnd(this));
         assertTrue(o1.isDestroyed());
 
         RequestScopeInitDestroyComponent o2 =
-            (RequestScopeInitDestroyComponent) scopeContext.getInstance(component);
+            (RequestScopeInitDestroyComponent) scopeContainer.getInstance(component);
         assertNotSame(o1, o2);
-        scopeContext.onEvent(new RequestEnd(this));
+        scopeContainer.onEvent(new RequestEnd(this));
         assertTrue(o2.isDestroyed());
-        scopeContext.stop();
+        scopeContainer.stop();
     }
 
     protected void setUp() throws Exception {
@@ -116,13 +116,13 @@
 
     private AtomicComponent createComponent(ScopeContainer scopeContainer) {
         PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setScopeContainer(scopeContainer);
         configuration.setInstanceFactory(factory);
         configuration.setInitInvoker(initInvoker);
         configuration.setDestroyInvoker(destroyInvoker);
         configuration.setName("foo");
         SystemAtomicComponentImpl component = new SystemAtomicComponentImpl(configuration);
-        scopeContainer.register(component);
+        component.setScopeContainer(scopeContainer);
+        component.start();
         return component;
     }
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java Sun Jan  7 18:00:13 2007
@@ -111,11 +111,10 @@
 
     private AtomicComponent createComponent(ScopeContainer scopeContainer) {
         PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setScopeContainer(scopeContainer);
         configuration.setInstanceFactory(factory);
         configuration.setName("foo");
         AtomicComponent component = new SystemAtomicComponentImpl(configuration);
-        scopeContainer.register(component);
+        component.setScopeContainer(scopeContainer);
         return component;
     }
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeRestartTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeRestartTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeRestartTestCase.java Sun Jan  7 18:00:13 2007
@@ -45,13 +45,13 @@
         MethodEventInvoker<Object> destroyInvoker =
             new MethodEventInvoker<Object>(InitDestroyOnce.class.getMethod("destroy"));
         PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setScopeContainer(scope);
         configuration.setInitInvoker(initInvoker);
         configuration.setDestroyInvoker(destroyInvoker);
         Constructor<InitDestroyOnce> ctr = InitDestroyOnce.class.getConstructor((Class<?>[]) null);
         configuration.setInstanceFactory(new PojoObjectFactory<InitDestroyOnce>(ctr));
         configuration.setName("InitDestroy");
         AtomicComponent component = new SystemAtomicComponentImpl(configuration);
+        component.setScopeContainer(scope);
         component.start();
 
         scope.onEvent(new CompositeStart(this, null));

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeRestartTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeRestartTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeRestartTestCase.java Sun Jan  7 18:00:13 2007
@@ -56,32 +56,32 @@
         MethodEventInvoker<Object> destroyInvoker =
             new MethodEventInvoker<Object>(InitDestroyOnce.class.getMethod("destroy"));
         PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setScopeContainer(scope);
         configuration.setInitInvoker(initInvoker);
         configuration.setDestroyInvoker(destroyInvoker);
         Constructor<InitDestroyOnce> ctr = InitDestroyOnce.class.getConstructor((Class<?>[]) null);
         configuration.setInstanceFactory(new PojoObjectFactory<InitDestroyOnce>(ctr));
         configuration.setName("InitDestroy");
-        AtomicComponent context = new SystemAtomicComponentImpl(configuration);
-        context.start();
+        AtomicComponent component = new SystemAtomicComponentImpl(configuration);
+        component.setScopeContainer(scope);
+        component.start();
 
         String conversation = "conv";
         ctx.setIdentifier(Scope.CONVERSATION, conversation);
         scope.onEvent(new ConversationStart(this, conversation));
-        Object instance = context.getTargetInstance();
-        assertSame(instance, context.getTargetInstance());
+        Object instance = component.getTargetInstance();
+        assertSame(instance, component.getTargetInstance());
 
         scope.onEvent(new ConversationEnd(this, conversation));
         scope.stop();
-        context.stop();
+        component.stop();
 
         scope.start();
         scope.onEvent(new ConversationStart(this, conversation));
-        context.start();
+        component.start();
         //assertNotSame(instance, context.getServiceInstance());
         scope.onEvent(new ConversationEnd(this, conversation));
         scope.stop();
-        context.stop();
+        component.stop();
     }
 
     public static class InitDestroyOnce {

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java Sun Jan  7 18:00:13 2007
@@ -49,13 +49,13 @@
         MethodEventInvoker<Object> destroyInvoker =
             new MethodEventInvoker<Object>(InitDestroyOnce.class.getMethod("destroy"));
         PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setScopeContainer(scope);
         configuration.setInitInvoker(initInvoker);
         configuration.setDestroyInvoker(destroyInvoker);
         Constructor<InitDestroyOnce> ctr = InitDestroyOnce.class.getConstructor((Class<?>[]) null);
         configuration.setInstanceFactory(new PojoObjectFactory<InitDestroyOnce>(ctr));
         configuration.setName("InitDestroy");
         AtomicComponent component = new SystemAtomicComponentImpl(configuration);
+        component.setScopeContainer(scope);
         component.start();
 
         Object session = new Object();

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java Sun Jan  7 18:00:13 2007
@@ -60,7 +60,6 @@
         Map<String, AtomicComponent> components = new HashMap<String, AtomicComponent>();
         AtomicComponent targetComponent = createAtomicComponent(target, targetScopeContainer, targetClass);
         PojoConfiguration sourceConfig = new PojoConfiguration();
-        sourceConfig.setScopeContainer(sourceScopeContainer);
         sourceConfig.setInstanceFactory(new PojoObjectFactory(sourceClass.getConstructor()));
 
         //create target wire
@@ -96,6 +95,7 @@
         sourceConfig.addReferenceSite(setter.getName(), setter);
         sourceConfig.setName(source);
         AtomicComponent sourceComponent = new SystemAtomicComponentImpl(sourceConfig);
+        sourceComponent.setScopeContainer(sourceScopeContainer);
         QualifiedName targetName = new QualifiedName(target);
         OutboundWire wire = new OutboundWireImpl();
         wire.setReferenceName(setter.getName());
@@ -115,7 +115,6 @@
     public static AtomicComponent createAtomicComponent(String name, ScopeContainer container, Class<?> clazz)
         throws NoSuchMethodException {
         PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setScopeContainer(container);
         configuration.setInstanceFactory(new PojoObjectFactory(clazz.getConstructor()));
         EagerInit eager = clazz.getAnnotation(EagerInit.class);
         if (eager != null) {
@@ -130,7 +129,9 @@
             }
         }
         configuration.setName(name);
-        return new SystemAtomicComponentImpl(configuration);
+        AtomicComponent component = new SystemAtomicComponentImpl(configuration);
+        component.setScopeContainer(container);
+        return component;
     }
 
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java Sun Jan  7 18:00:13 2007
@@ -47,28 +47,28 @@
         MethodEventInvoker<Object> destroyInvoker =
             new MethodEventInvoker<Object>(InitDestroyOnce.class.getMethod("destroy"));
         PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setScopeContainer(scope);
         configuration.setInitInvoker(initInvoker);
         configuration.setDestroyInvoker(destroyInvoker);
         Constructor<InitDestroyOnce> ctr = InitDestroyOnce.class.getConstructor((Class<?>[]) null);
         configuration.setInstanceFactory(new PojoObjectFactory<InitDestroyOnce>(ctr));
         configuration.setName("InitDestroy");
-        AtomicComponent context = new SystemAtomicComponentImpl(configuration);
-        context.start();
+        AtomicComponent component = new SystemAtomicComponentImpl(configuration);
+        component.setScopeContainer(scope);
+        component.start();
 
-        Object instance = context.getTargetInstance();
-        assertSame(instance, context.getTargetInstance());
+        Object instance = component.getTargetInstance();
+        assertSame(instance, component.getTargetInstance());
 
         scope.onEvent(new RequestEnd(this));
         scope.stop();
-        context.stop();
+        component.stop();
 
         scope.start();
-        context.start();
-        assertNotSame(instance, context.getTargetInstance());
+        component.start();
+        assertNotSame(instance, component.getTargetInstance());
         scope.onEvent(new RequestEnd(this));
         scope.stop();
-        context.stop();
+        component.stop();
     }
 
     public static class InitDestroyOnce {

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/PassByValueWirePostProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/PassByValueWirePostProcessorTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/PassByValueWirePostProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/PassByValueWirePostProcessorTestCase.java Sun Jan  7 18:00:13 2007
@@ -158,7 +158,7 @@
     private class FooComponent extends AtomicComponentExtension {
 
         public FooComponent() {
-            super(null, null, null, null, null, null, null, 0);
+            super(null, null, null, null, null, null, 0);
         }
 
         public Object createInstance() throws ObjectCreationException {

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java Sun Jan  7 18:00:13 2007
@@ -81,7 +81,6 @@
         CompositeComponent component =
             (CompositeComponent) builder.build(parent, createTopComponentDef(), deploymentContext);
 
-        deploymentContext.getCompositeScope().start();
         component.start();
         CompositeComponent sourceComponent = (CompositeComponent) component.getChild("SourceComponent");
         assertTrue(sourceComponent.getChild("InnerSourceService") instanceof Service);
@@ -199,6 +198,7 @@
         super.setUp();
         ScopeContainerMonitor monitor = EasyMock.createNiceMock(ScopeContainerMonitor.class);
         CompositeScopeContainer container = new CompositeScopeContainer(monitor);
+        container.start();
         deploymentContext = new RootDeploymentContext(null, null, container, null);
     }
     

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderMetadataTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderMetadataTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderMetadataTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderMetadataTestCase.java Sun Jan  7 18:00:13 2007
@@ -2,11 +2,9 @@
 
 import java.lang.reflect.Constructor;
 
-import org.apache.tuscany.spi.builder.ScopeNotFoundException;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.ScopeRegistry;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.idl.java.JavaServiceContract;
 import org.apache.tuscany.spi.implementation.java.ConstructorDefinition;
@@ -36,6 +34,7 @@
     private CompositeComponent parent;
     private PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>> type;
     private ComponentDefinition<JavaImplementation> definition;
+    private ScopeContainer scopeContainer;
 
     public void testInitLevel() throws Exception {
         type.setInitLevel(1);
@@ -68,21 +67,10 @@
     public void testScope() throws Exception {
         JavaComponentBuilder builder = new JavaComponentBuilder();
         JavaAtomicComponent component = (JavaAtomicComponent) builder.build(parent, definition, deploymentContext);
+        component.setScopeContainer(scopeContainer);
         assertEquals(Scope.COMPOSITE, component.getScope());
     }
 
-    public void testUnknownScope() throws Exception {
-        JavaComponentBuilder builder = new JavaComponentBuilder();
-        builder.setScopeRegistry(EasyMock.createNiceMock(ScopeRegistry.class));
-        definition.getImplementation().getComponentType().setImplementationScope(new Scope("foo"));
-        try {
-            builder.build(parent, definition, deploymentContext);
-            fail();
-        } catch (ScopeNotFoundException e) {
-            // expected
-        }
-    }
-
     protected void setUp() throws Exception {
         super.setUp();
         parent = new CompositeComponentImpl(null, null, null, null);
@@ -93,15 +81,14 @@
 
 
     private void createDeploymentContext() {
-        ScopeContainer scope = EasyMock.createMock(ScopeContainer.class);
-        scope.start();
-        scope.stop();
-        scope.register(EasyMock.isA(AtomicComponent.class));
+        scopeContainer = EasyMock.createMock(ScopeContainer.class);
+        scopeContainer.start();
+        scopeContainer.stop();
+        scopeContainer.register(EasyMock.isA(AtomicComponent.class));
         EasyMock.expectLastCall().atLeastOnce();
-        EasyMock.expect(scope.getScope()).andReturn(Scope.COMPOSITE).atLeastOnce();
-        EasyMock.replay(scope);
+        EasyMock.expect(scopeContainer.getScope()).andReturn(Scope.COMPOSITE).atLeastOnce();
+        EasyMock.replay(scopeContainer);
         deploymentContext = EasyMock.createMock(DeploymentContext.class);
-        EasyMock.expect(deploymentContext.getCompositeScope()).andReturn(scope).atLeastOnce();
         EasyMock.replay(deploymentContext);
     }
 

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=493902&r1=493901&r2=493902
==============================================================================
--- 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 Sun Jan  7 18:00:13 2007
@@ -61,6 +61,7 @@
     private Constructor<SourceImpl> constructor;
     private CompositeComponent parent;
     private OutboundWire wire;
+    private ScopeContainer scopeContainer;
 
     public void testBuildReference() throws Exception {
 
@@ -85,6 +86,7 @@
         JavaComponentBuilder builder = new JavaComponentBuilder();
         builder.setWireService(wireService);
         JavaAtomicComponent component = (JavaAtomicComponent) builder.build(parent, definition, deploymentContext);
+        component.setScopeContainer(scopeContainer);
         component.addOutboundWire(wire);
         deploymentContext.getCompositeScope().start();
         component.start();
@@ -105,13 +107,13 @@
 
 
     private void createDeploymentContext() throws Exception {
-        ScopeContainer scope = EasyMock.createMock(ScopeContainer.class);
-        scope.start();
-        scope.stop();
-        scope.register(EasyMock.isA(AtomicComponent.class));
+        scopeContainer = EasyMock.createMock(ScopeContainer.class);
+        scopeContainer.start();
+        scopeContainer.stop();
+        scopeContainer.register(EasyMock.isA(AtomicComponent.class));
         EasyMock.expectLastCall().atLeastOnce();
-        EasyMock.expect(scope.getScope()).andReturn(Scope.COMPOSITE).atLeastOnce();
-        scope.getInstance(EasyMock.isA(AtomicComponent.class));
+        EasyMock.expect(scopeContainer.getScope()).andReturn(Scope.COMPOSITE).atLeastOnce();
+        scopeContainer.getInstance(EasyMock.isA(AtomicComponent.class));
         EasyMock.expectLastCall().andAnswer(new IAnswer<Object>() {
             private Map<AtomicComponent, Object> cache = new HashMap<AtomicComponent, Object>();
 
@@ -125,9 +127,9 @@
                 return instance;
             }
         }).anyTimes();
-        EasyMock.replay(scope);
+        EasyMock.replay(scopeContainer);
         deploymentContext = EasyMock.createMock(DeploymentContext.class);
-        EasyMock.expect(deploymentContext.getCompositeScope()).andReturn(scope).atLeastOnce();
+        EasyMock.expect(deploymentContext.getCompositeScope()).andReturn(scopeContainer).atLeastOnce();
         EasyMock.replay(deploymentContext);
     }
 

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=493902&r1=493901&r2=493902
==============================================================================
--- 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 Sun Jan  7 18:00:13 2007
@@ -53,7 +53,6 @@
         configuration.addReferenceSite("target", SourceImpl.class.getMethod("setTarget", Target.class));
         Constructor<SourceImpl> ctr = SourceImpl.class.getConstructor();
         configuration.setInstanceFactory(new PojoObjectFactory<SourceImpl>(ctr));
-        configuration.setScopeContainer(scope);
         OutboundWire wire = EasyMock.createMock(OutboundWire.class);
         wire.getInvocationChains();
         EasyMock.expectLastCall().andReturn(new HashMap<Operation<?>, OutboundInvocationChain>()).atLeastOnce();
@@ -74,6 +73,7 @@
         configuration.setWireService(service);
         configuration.setName("source");
         JavaAtomicComponent component = new JavaAtomicComponent(configuration);
+        component.setScopeContainer(scope);
         component.addOutboundWire(wire);
         component.start();
         Source source = (Source) component.getTargetInstance();

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/ResourceInjectionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/ResourceInjectionTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/ResourceInjectionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/ResourceInjectionTestCase.java Sun Jan  7 18:00:13 2007
@@ -20,8 +20,8 @@
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Field;
-import java.util.List;
 import java.util.ArrayList;
+import java.util.List;
 
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.ScopeContainer;
@@ -44,10 +44,10 @@
         Field field = Foo.class.getDeclaredField("resource");
         PojoConfiguration configuration = new PojoConfiguration();
         configuration.setName("component");
-        configuration.setScopeContainer(containter);
         configuration.setInstanceFactory(new PojoObjectFactory<Foo>(ctor));
         configuration.addResourceSite("bar", field);
         JavaAtomicComponent component = new JavaAtomicComponent(configuration);
+        component.setScopeContainer(containter);
 
         InboundWire wire = EasyMock.createMock(InboundWire.class);
         EasyMock.expect(wire.getTargetService()).andReturn("result");
@@ -70,12 +70,12 @@
         Constructor<FooConstructor> ctor = FooConstructor.class.getConstructor(String.class);
         PojoConfiguration configuration = new PojoConfiguration();
         configuration.setName("component");
-        configuration.setScopeContainer(containter);
         configuration.setInstanceFactory(new PojoObjectFactory<FooConstructor>(ctor));
         List<String> ctorNames = new ArrayList<String>();
         ctorNames.add("bar");
         configuration.setConstructorParamNames(ctorNames);
         JavaAtomicComponent component = new JavaAtomicComponent(configuration);
+        component.setScopeContainer(containter);
 
         InboundWire wire = EasyMock.createMock(InboundWire.class);
         EasyMock.expect(wire.getTargetService()).andReturn("result");

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/CallbackInvocationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/CallbackInvocationTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/CallbackInvocationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/CallbackInvocationTestCase.java Sun Jan  7 18:00:13 2007
@@ -80,6 +80,7 @@
         ComponentDefinition<JavaImplementation> targetDefinition = createTarget();
         JavaAtomicComponent fooComponent =
             (JavaAtomicComponent) builder.build(null, targetDefinition, context);
+        fooComponent.setScopeContainer(container);
         wireService.createWires(fooComponent, targetDefinition);
         container.register(fooComponent);
 
@@ -91,6 +92,7 @@
         ComponentDefinition<JavaImplementation> sourceDefinition = createSource("fooClient");
         JavaAtomicComponent clientComponent =
             (JavaAtomicComponent) builder.build(parent, sourceDefinition, context);
+        clientComponent.setScopeContainer(container);
         wireService.createWires(clientComponent, sourceDefinition);
         container.register(clientComponent);
 
@@ -111,6 +113,7 @@
         ComponentDefinition<JavaImplementation> targetDefinition = createTarget();
         JavaAtomicComponent fooComponent =
             (JavaAtomicComponent) builder.build(null, targetDefinition, context);
+        fooComponent.setScopeContainer(container);
         wireService.createWires(fooComponent, targetDefinition);
         container.register(fooComponent);
 
@@ -122,6 +125,7 @@
         ComponentDefinition<JavaImplementation> sourceDefinition = createPlainSource("fooPlainClient");
         JavaAtomicComponent clientComponent =
             (JavaAtomicComponent) builder.build(parent, sourceDefinition, context);
+        clientComponent.setScopeContainer(container);
         wireService.createWires(clientComponent, sourceDefinition);
         container.register(clientComponent);
 
@@ -145,6 +149,7 @@
         ComponentDefinition<JavaImplementation> targetDefinition = createTarget();
         JavaAtomicComponent fooComponent =
             (JavaAtomicComponent) builder.build(null, targetDefinition, context);
+        fooComponent.setScopeContainer(container);
         wireService.createWires(fooComponent, targetDefinition);
         container.register(fooComponent);
 
@@ -157,10 +162,12 @@
         ComponentDefinition<JavaImplementation> sourceDefinition2 = createSource("fooCleint2");
         JavaAtomicComponent clientComponent1 =
             (JavaAtomicComponent) builder.build(parent, sourceDefinition1, context);
+        clientComponent1.setScopeContainer(container);
         wireService.createWires(clientComponent1, sourceDefinition1);
         container.register(clientComponent1);
         JavaAtomicComponent clientComponent2 =
             (JavaAtomicComponent) builder.build(parent, sourceDefinition2, context);
+        clientComponent2.setScopeContainer(container);
         wireService.createWires(clientComponent2, sourceDefinition2);
         container.register(clientComponent2);
 

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/OutboundWireToJavaTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/OutboundWireToJavaTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/OutboundWireToJavaTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/integration/OutboundWireToJavaTestCase.java Sun Jan  7 18:00:13 2007
@@ -34,8 +34,8 @@
 import org.apache.tuscany.spi.idl.java.JavaServiceContract;
 import org.apache.tuscany.spi.model.InteractionScope;
 import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.ServiceContract;
 import org.apache.tuscany.spi.model.Scope;
+import org.apache.tuscany.spi.model.ServiceContract;
 import org.apache.tuscany.spi.wire.InboundWire;
 import org.apache.tuscany.spi.wire.OutboundInvocationChain;
 import org.apache.tuscany.spi.wire.OutboundWire;
@@ -50,20 +50,20 @@
 import org.apache.tuscany.core.component.event.HttpSessionStart;
 import org.apache.tuscany.core.component.event.RequestEnd;
 import org.apache.tuscany.core.component.event.RequestStart;
-import org.apache.tuscany.core.component.scope.HttpSessionScopeContainer;
 import org.apache.tuscany.core.component.scope.CompositeScopeContainer;
+import org.apache.tuscany.core.component.scope.HttpSessionScopeContainer;
 import org.apache.tuscany.core.component.scope.RequestScopeContainer;
 import org.apache.tuscany.core.component.scope.StatelessScopeContainer;
 import org.apache.tuscany.core.idl.java.JavaInterfaceProcessorRegistryImpl;
 import org.apache.tuscany.core.implementation.PojoConfiguration;
 import org.apache.tuscany.core.implementation.java.JavaAtomicComponent;
-import org.apache.tuscany.core.integration.mock.MockFactory;
 import org.apache.tuscany.core.injection.PojoObjectFactory;
+import org.apache.tuscany.core.integration.mock.MockFactory;
+import org.apache.tuscany.core.mock.component.Target;
+import org.apache.tuscany.core.mock.component.TargetImpl;
 import org.apache.tuscany.core.wire.OutboundInvocationChainImpl;
 import org.apache.tuscany.core.wire.OutboundWireImpl;
 import org.apache.tuscany.core.wire.jdk.JDKWireService;
-import org.apache.tuscany.core.mock.component.Target;
-import org.apache.tuscany.core.mock.component.TargetImpl;
 import org.easymock.EasyMock;
 
 /**
@@ -180,18 +180,19 @@
         ConnectorImpl connector = new ConnectorImpl();
         CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
         PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setScopeContainer(scope);
         configuration.setInstanceFactory(new PojoObjectFactory<TargetImpl>(TargetImpl.class.getConstructor()));
         configuration.setParent(parent);
         configuration.setWorkContext(workContext);
         configuration.setName("source");
 
         JavaAtomicComponent source = new JavaAtomicComponent(configuration);
+        source.setScopeContainer(scope);
         OutboundWire outboundWire = createOutboundWire(new QualifiedName("target/Target"), Target.class);
         outboundWire.setContainer(source);
         source.addOutboundWire(outboundWire);
         configuration.setName("target");
         JavaAtomicComponent target = new JavaAtomicComponent(configuration);
+        target.setScopeContainer(scope);
         InboundWire targetWire = MockFactory.createInboundWire("Target", Target.class);
         targetWire.setContainer(target);
         target.addInboundWire(targetWire);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilderTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilderTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilderTestCase.java Sun Jan  7 18:00:13 2007
@@ -71,6 +71,7 @@
         impl.setImplementationClass(FooImpl.class);
         ComponentDefinition<SystemImplementation> definition = new ComponentDefinition<SystemImplementation>(impl);
         AtomicComponent component = builder.build(parent, definition, deploymentContext);
+        component.setScopeContainer(container);
         component.start();
         container.onEvent(new CompositeStart(this, null));
         FooImpl foo = (FooImpl) component.getTargetInstance();
@@ -110,6 +111,7 @@
         propVal.setValueFactory(new SingletonObjectFactory<String>("value"));
         definition.add(propVal);
         AtomicComponent component = builder.build(parent, definition, deploymentContext);
+        component.setScopeContainer(container);
         component.start();
         FooImpl foo = (FooImpl) component.getTargetInstance();
         assertEquals("value", foo.prop);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponentWireInvocationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponentWireInvocationTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponentWireInvocationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponentWireInvocationTestCase.java Sun Jan  7 18:00:13 2007
@@ -43,11 +43,11 @@
         scope.start();
         Target target = new TargetImpl();
         PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setScopeContainer(scope);
         configuration.addReferenceSite("setTarget", SourceImpl.class.getMethod("setTarget", Target.class));
         configuration.setInstanceFactory(new PojoObjectFactory<SourceImpl>(SourceImpl.class.getConstructor()));
         configuration.setName("source");
         AtomicComponent component = new SystemAtomicComponentImpl(configuration);
+        component.setScopeContainer(scope);
         OutboundWire outboundWire = EasyMock.createMock(OutboundWire.class);
         EasyMock.expect(outboundWire.getReferenceName()).andReturn("setTarget").atLeastOnce();
         EasyMock.expect(outboundWire.getTargetService()).andReturn(target);

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationIdleExpireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationIdleExpireTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationIdleExpireTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationIdleExpireTestCase.java Sun Jan  7 18:00:13 2007
@@ -110,9 +110,9 @@
         PojoConfiguration configuration = new PojoConfiguration();
         configuration.setName("target");
         configuration.setMaxIdleTime(50);
-        configuration.setScopeContainer(container);
         configuration.setInstanceFactory(new MockPojoFactory(Object.class.getConstructor()));
         JavaAtomicComponent component = new JavaAtomicComponent(configuration);
+        component.setScopeContainer(container);
         component.start();
         return component;
     }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationMaxAgeExpireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationMaxAgeExpireTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationMaxAgeExpireTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationMaxAgeExpireTestCase.java Sun Jan  7 18:00:13 2007
@@ -110,10 +110,10 @@
         PojoConfiguration configuration = new PojoConfiguration();
         configuration.setName("target");
         configuration.setMaxAge(50);
-        configuration.setScopeContainer(container);
         Constructor<Object> ctor = Object.class.getConstructor();
         configuration.setInstanceFactory(new ConversationMaxAgeExpireTestCase.MockPojoFactory(ctor));
         JavaAtomicComponent component = new JavaAtomicComponent(configuration);
+        component.setScopeContainer(container);
         component.start();
         return component;
     }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationStartStopEndTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationStartStopEndTestCase.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationStartStopEndTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationStartStopEndTestCase.java Sun Jan  7 18:00:13 2007
@@ -110,9 +110,9 @@
     private JavaAtomicComponent createAtomicComponent() throws Exception {
         PojoConfiguration configuration = new PojoConfiguration();
         configuration.setName("target");
-        configuration.setScopeContainer(container);
         configuration.setInstanceFactory(new MockPojoFactory(Object.class.getConstructor()));
         JavaAtomicComponent component = new JavaAtomicComponent(configuration);
+        component.setScopeContainer(container);
         component.start();
         return component;
     }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/mock/MockFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/mock/MockFactory.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/mock/MockFactory.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/mock/MockFactory.java Sun Jan  7 18:00:13 2007
@@ -118,7 +118,6 @@
         targetComponent.addInboundWire(inboundWire);
         inboundWire.setContainer(targetComponent);
         PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setScopeContainer(sourceScope);
         configuration.setInstanceFactory(new PojoObjectFactory(sourceClass.getConstructor()));
         configuration.setWireService(WIRE_SERVICE);
         for (Map.Entry<String, Member> entry : members.entrySet()) {
@@ -127,6 +126,7 @@
         configuration.setWorkContext(new WorkContextImpl());
         configuration.setName(sourceName);
         JavaAtomicComponent sourceComponent = new JavaAtomicComponent(configuration);
+        sourceComponent.setScopeContainer(sourceScope);
         OutboundWire outboundWire = createOutboundWire(targetName, sourceReferenceClass, sourceHeadInterceptor);
         sourceComponent.addOutboundWire(outboundWire);
         outboundWire.setContainer(sourceComponent);
@@ -171,7 +171,6 @@
         targetComponent.addInboundWire(inboundWire);
         inboundWire.setContainer(targetComponent);
         PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setScopeContainer(sourceScope);
         configuration.setInstanceFactory(new PojoObjectFactory(sourceClass.getConstructor()));
         configuration.setWireService(WIRE_SERVICE);
         for (Map.Entry<String, Member> entry : members.entrySet()) {
@@ -181,6 +180,7 @@
         configuration.setName(sourceName);
 
         JavaAtomicComponent sourceComponent = new JavaAtomicComponent(configuration);
+        sourceComponent.setScopeContainer(sourceScope);
         OutboundWire outboundWire = createOutboundWire(targetName, sourceReferenceClass, null);
         outboundWire.setContainer(sourceComponent);
         outboundWire.setTargetName(new QualifiedName(targetName + "/" + serviceName));
@@ -233,12 +233,13 @@
     private static <T> JavaAtomicComponent createJavaComponent(String name, ScopeContainer scope, Class<T> clazz)
         throws NoSuchMethodException {
         PojoConfiguration configuration = new PojoConfiguration();
-        configuration.setScopeContainer(scope);
         configuration.setInstanceFactory(new PojoObjectFactory(clazz.getConstructor()));
         configuration.setWireService(WIRE_SERVICE);
         configuration.setWorkContext(new WorkContextImpl());
         configuration.setName(name);
-        return new JavaAtomicComponent(configuration);
+        JavaAtomicComponent component = new JavaAtomicComponent(configuration);
+        component.setScopeContainer(scope);
+        return component;
     }
 
     private static Map<Operation<?>, OutboundInvocationChain> createOutboundChains(Class<?> interfaze,

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Component.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Component.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Component.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Component.java Sun Jan  7 18:00:13 2007
@@ -36,6 +36,13 @@
 public interface Component extends SCAObject {
 
     /**
+     * Sets the scope container associated with the component
+     *
+     * @param scopeContainer the scope container associated with the component
+     */
+    void setScopeContainer(ScopeContainer scopeContainer);
+
+    /**
      * Returns the wire associated with the given service name or null if not found
      */
     InboundWire getInboundWire(String serviceName);

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/CompositeComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/CompositeComponent.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/CompositeComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/CompositeComponent.java Sun Jan  7 18:00:13 2007
@@ -43,13 +43,6 @@
     void setManagementService(ManagementService managementService);
 
     /**
-     * Sets the scope container associated with the composite
-     * TODO move to Component
-     * @param scopeContainer the scope container associated with the composite
-     */
-    void setScopeContainer(ScopeContainer scopeContainer);
-
-    /**
      * Returns the value of a Property of this composite.
      *
      * @param name the name of the Property

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AbstractComponentExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AbstractComponentExtension.java?view=diff&rev=493902&r1=493901&r2=493902
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AbstractComponentExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AbstractComponentExtension.java Sun Jan  7 18:00:13 2007
@@ -23,12 +23,14 @@
 import org.apache.tuscany.spi.component.AbstractSCAObject;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.model.PropertyValue;
 
 /**
  * @version Provides support for property accessors.
  */
 public abstract class AbstractComponentExtension extends AbstractSCAObject implements Component {
+    protected ScopeContainer scopeContainer;
 
     /**
      * Default property values.
@@ -43,6 +45,10 @@
      */
     public AbstractComponentExtension(String name, CompositeComponent parent) {
         super(name, parent);
+    }
+
+    public void setScopeContainer(ScopeContainer scopeContainer) {
+        this.scopeContainer = scopeContainer;
     }
 
     public Map<String, PropertyValue<?>> getDefaultPropertyValues() {



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