Author: jmarino
Date: Wed Apr  5 19:53:58 2006
New Revision: 391885

URL: http://svn.apache.org/viewcvs?rev=391885&view=rev
Log:
begin refactor of context api

Modified:
    
incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/ExternalWebServiceTargetInvoker.java
    
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaComponentContext.java
    
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/DifferentInterfaceWireTestCase.java
    
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/MultiplicityTestCase.java
    
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockScopeContext.java
    
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooESTargetInvoker.java
    
incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/context/JavaScriptComponentContext.java
    
incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoTargetInvoker.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/EntryPointContext.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/ExternalServiceContext.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/InstanceContext.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/SimpleComponentContext.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/AbstractAggregateContext.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/AggregateContextImpl.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/EntryPointContextImpl.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/ExternalServiceContextImpl.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/AbstractScopeContext.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/AggregateScopeContext.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/HttpSessionScopeContext.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/runtime/RuntimeContextImpl.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemAggregateContextImpl.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemComponentContext.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemEntryPointContext.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemExternalServiceContext.java
    
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/integration/IntraAggregateWireIntegrationTestCase.java
    
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/invocation/mock/MockScopeContext.java
    
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/context/IntraAggregateWireTestCase.java

Modified: 
incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/ExternalWebServiceTargetInvoker.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/ExternalWebServiceTargetInvoker.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/ExternalWebServiceTargetInvoker.java
 (original)
+++ 
incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/handler/ExternalWebServiceTargetInvoker.java
 Wed Apr  5 19:53:58 2006
@@ -41,7 +41,6 @@
 
     /**
      * Constructs a new ExternalWebServiceTargetInvoker.
-     * @param esName
      * @param container
      */
     public ExternalWebServiceTargetInvoker(QualifiedName serviceName, Method 
method, ScopeContext container) {
@@ -65,7 +64,7 @@
             }
             context = (ExternalServiceContext) iContext;
         }
-        ExternalWebServiceClient client = (ExternalWebServiceClient) 
context.getImplementationInstance(true);
+        ExternalWebServiceClient client = (ExternalWebServiceClient) 
context.getImplementationInstance();
         if (payload != null) {
             return client.invoke(method.getName(), (Object[])payload);
         } else {

Modified: 
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaComponentContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaComponentContext.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaComponentContext.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaComponentContext.java
 Wed Apr  5 19:53:58 2006
@@ -17,20 +17,14 @@
 package org.apache.tuscany.container.java.context;
 
 import org.apache.tuscany.core.builder.ObjectFactory;
-import org.apache.tuscany.core.context.AbstractContext;
-import org.apache.tuscany.core.context.Context;
-import org.apache.tuscany.core.context.ContextInitException;
-import org.apache.tuscany.core.context.LifecycleEventListener;
-import org.apache.tuscany.core.context.QualifiedName;
-import org.apache.tuscany.core.context.SimpleComponentContext;
-import org.apache.tuscany.core.context.TargetException;
+import org.apache.tuscany.core.context.*;
 import org.apache.tuscany.core.injection.EventInvoker;
 import org.apache.tuscany.core.injection.ObjectCallbackException;
 import org.apache.tuscany.core.injection.ObjectCreationException;
 
 /**
  * Manages Java service component implementation instances
- * 
+ *
  * @version $Rev$ $Date$
  */
 public class JavaComponentContext extends AbstractContext implements 
SimpleComponentContext {
@@ -54,7 +48,7 @@
     // ----------------------------------
 
     public JavaComponentContext(String name, ObjectFactory objectFactory, 
boolean eagerInit, EventInvoker<Object> initInvoker,
-            EventInvoker<Object> destroyInvoker, boolean stateless) {
+                                EventInvoker<Object> destroyInvoker, boolean 
stateless) {
         super(name);
         assert (objectFactory != null) : "Object factory was null";
         if (eagerInit && initInvoker == null) {
@@ -88,11 +82,15 @@
         this.type = type;
     }
 
+    public void init() throws TargetException{
+        getInstance(null,false);
+    }
+
     public synchronized Object getInstance(QualifiedName qName) throws 
TargetException {
         return getInstance(qName, true);
     }
 
-    public synchronized Object getInstance(QualifiedName qName, boolean 
notify) throws TargetException {
+    private synchronized Object getInstance(QualifiedName qName, boolean 
notify) throws TargetException {
         //TODO implement returning of proxy and invocation chain for service
         if (cachedTargetInstance != null) {
             return cachedTargetInstance; // already cached, just return
@@ -128,16 +126,16 @@
 
     }
 
-    public Object getImplementationInstance() throws TargetException{
+    public Object getImplementationInstance() throws TargetException {
         //TODO refactor when getInstance() returns a proxy
         return getInstance(null);
     }
 
-    public Object getImplementationInstance(boolean notify) throws 
TargetException{
-        //TODO refactor when getInstance() returns a proxy
-        return getInstance(null,notify);
-    }
-    
+//    public Object getImplementationInstance(boolean notify) throws 
TargetException {
+//        //TODO refactor when getInstance() returns a proxy
+//        return getInstance(null, notify);
+//    }
+
 
     public boolean isEagerInit() {
         return eagerInit;
@@ -153,7 +151,7 @@
 
     public void start() throws ContextInitException {
         if (getLifecycleState() != UNINITIALIZED && getLifecycleState() != 
STOPPED) {
-            throw new IllegalStateException("Component must be in 
UNINITIALIZED state [" + getLifecycleState() + "]");
+            throw new IllegalStateException("Context must be in UNINITIALIZED 
state [" + getLifecycleState() + "]");
         }
         if (objectFactory == null) {
             setLifecycleState(ERROR);

Modified: 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/DifferentInterfaceWireTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/DifferentInterfaceWireTestCase.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/DifferentInterfaceWireTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/DifferentInterfaceWireTestCase.java
 Wed Apr  5 19:53:58 2006
@@ -30,6 +30,7 @@
 import org.apache.tuscany.core.builder.WireBuilder;
 import org.apache.tuscany.core.context.AggregateContext;
 import org.apache.tuscany.core.context.EventContext;
+import org.apache.tuscany.core.context.SimpleComponentContext;
 import org.apache.tuscany.core.context.impl.AggregateContextImpl;
 import org.apache.tuscany.core.invocation.jdk.JDKProxyFactoryFactory;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
@@ -48,9 +49,9 @@
         context.start();
         
context.registerModelObject(MockFactory.createModuleWithWiredComponentsOfDifferentInterface(Scope.MODULE,
 Scope.MODULE));
         context.fireEvent(EventContext.MODULE_START, null);
-        Source source = (Source) 
context.getContext("source").getImplementationInstance();
+        Source source = (Source) ((SimpleComponentContext) 
context.getContext("source")).getImplementationInstance();
         Assert.assertNotNull(source);
-        OtherTarget target = (OtherTarget) 
context.getContext("target").getImplementationInstance();
+        OtherTarget target = (OtherTarget) 
((SimpleComponentContext)context.getContext("target")).getImplementationInstance();
         Assert.assertNotNull(target);
         // test setter injection
         List<Target> targets = source.getTargets();

Modified: 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/MultiplicityTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/MultiplicityTestCase.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/MultiplicityTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/MultiplicityTestCase.java
 Wed Apr  5 19:53:58 2006
@@ -29,6 +29,7 @@
 import org.apache.tuscany.core.builder.WireBuilder;
 import org.apache.tuscany.core.context.AggregateContext;
 import org.apache.tuscany.core.context.EventContext;
+import org.apache.tuscany.core.context.SimpleComponentContext;
 import org.apache.tuscany.core.context.impl.AggregateContextImpl;
 import org.apache.tuscany.core.invocation.jdk.JDKProxyFactoryFactory;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
@@ -46,9 +47,9 @@
         context.start();
         
context.registerModelObject(MockFactory.createModuleWithWiredComponents(Scope.MODULE,
 Scope.MODULE));
         context.fireEvent(EventContext.MODULE_START, null);
-        Source source = (Source) 
context.getContext("source").getImplementationInstance();
+        Source source = (Source) ((SimpleComponentContext) 
context.getContext("source")).getImplementationInstance();
         Assert.assertNotNull(source);
-        Target target = (Target) 
context.getContext("target").getImplementationInstance();
+        Target target = (Target) 
((SimpleComponentContext)context.getContext("target")).getImplementationInstance();
         Assert.assertNotNull(target);
         // test setter injection
         List<Target> targets = source.getTargets();

Modified: 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockScopeContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockScopeContext.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockScopeContext.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockScopeContext.java
 Wed Apr  5 19:53:58 2006
@@ -37,7 +37,7 @@
     Map<String, Object> components;
 
     public MockScopeContext() {
-        components = new HashMap();
+        components = new HashMap<String, Object>();
         components.put("foo", new SimpleTargetImpl());
         components.put("bar", new SimpleTargetImpl());
     }
@@ -73,10 +73,6 @@
         return components.get(name.getPartName());
     }
 
-    public Object getInstance(QualifiedName componentName, boolean notify) 
throws TargetException {
-        return getInstance(componentName);
-    }
-    
     public SimpleComponentContext getContextByKey(String name, Object key) {
         return null;
     }
@@ -124,14 +120,6 @@
     public void removeContextListener(LifecycleEventListener listener) {
     }
 
-    public Object getImplementationInstance() throws TargetException{
-        return this;
-    }
-
-    public Object getImplementationInstance(boolean notify) throws 
TargetException{
-        return this;
-    }
-    
 
 }
 

Modified: 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooESTargetInvoker.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooESTargetInvoker.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooESTargetInvoker.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooESTargetInvoker.java
 Wed Apr  5 19:53:58 2006
@@ -54,7 +54,7 @@
             }
             context = (ExternalServiceContext) iContext;
         }
-        FooClient client = (FooClient) context.getImplementationInstance(true);
+        FooClient client = (FooClient) context.getImplementationInstance();
         if (payload != null) {
             return client.invoke(payload);
         } else {
@@ -82,7 +82,7 @@
         throw new UnsupportedOperationException();
     }
 
-    public Object clone() {
+    public Object clone() throws CloneNotSupportedException {
         try {
             FooESTargetInvoker invoker = (FooESTargetInvoker) super.clone();
             invoker.container = container;

Modified: 
incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/context/JavaScriptComponentContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/context/JavaScriptComponentContext.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/context/JavaScriptComponentContext.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/context/JavaScriptComponentContext.java
 Wed Apr  5 19:53:58 2006
@@ -62,7 +62,11 @@
         return getInstance(qName, true);
     }
 
-    public synchronized Object getInstance(QualifiedName qName, boolean 
notify) throws TargetException {
+    public void init() throws TargetException{
+        getInstance(null,false);
+    }
+    
+    private synchronized Object getInstance(QualifiedName qName, boolean 
notify) throws TargetException {
         String portName=qName.getPortName();
         ProxyFactory targetFactory;
         if (portName!=null) {
@@ -92,10 +96,6 @@
     }
 
     public Object getImplementationInstance() throws TargetException {
-        return getImplementationInstance(true);
-    }
-
-    public Object getImplementationInstance(boolean notify) throws 
TargetException {
         rhinoInvoker.updateScriptScope(createServiceReferences()); // create 
references
         rhinoInvoker.updateScriptScope(properties); // create prop values
         return rhinoInvoker;

Modified: 
incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoTargetInvoker.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoTargetInvoker.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoTargetInvoker.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/rhino/RhinoTargetInvoker.java
 Wed Apr  5 19:53:58 2006
@@ -20,6 +20,7 @@
 import java.lang.reflect.Method;
 
 import org.apache.tuscany.core.context.ScopeContext;
+import org.apache.tuscany.core.context.SimpleComponentContext;
 import org.apache.tuscany.core.invocation.Interceptor;
 import org.apache.tuscany.core.invocation.TargetInvoker;
 import org.apache.tuscany.core.message.Message;
@@ -53,11 +54,11 @@
         RhinoScript rhinoScript;
         if (cacheable) {
             if (target == null) {
-                target = (RhinoScript) 
container.getContext(serviceName).getImplementationInstance();
+                target = (RhinoScript) 
((SimpleComponentContext)container.getContext(serviceName)).getImplementationInstance();
             }
             rhinoScript = target;
         } else {
-            rhinoScript = (RhinoScript) 
container.getContext(serviceName).getImplementationInstance();
+            rhinoScript = (RhinoScript) 
((SimpleComponentContext)container.getContext(serviceName)).getImplementationInstance();
         }
         return rhinoScript;
     }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/EntryPointContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/EntryPointContext.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/EntryPointContext.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/EntryPointContext.java
 Wed Apr  5 19:53:58 2006
@@ -54,4 +54,12 @@
  */
 public interface EntryPointContext extends InstanceContext {
 
+    /**
+     * Returns the implementation instance associated with the context. An 
implementation instance is the actual
+     * object a request is dispatched to sans proxy invocation chain.
+     * @throws TargetException
+     */
+    public Object getImplementationInstance() throws TargetException;
+
+
 }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/ExternalServiceContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/ExternalServiceContext.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/ExternalServiceContext.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/ExternalServiceContext.java
 Wed Apr  5 19:53:58 2006
@@ -20,5 +20,12 @@
  */
 public interface ExternalServiceContext extends InstanceContext {
 
+    /**
+     * Returns the implementation instance associated with the context. An 
implementation instance is the actual
+     * object a request is dispatched to sans proxy invocation chain.
+     * @throws TargetException
+     */
+    public Object getImplementationInstance() throws TargetException;
+    
 }
 

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/InstanceContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/InstanceContext.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/InstanceContext.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/InstanceContext.java
 Wed Apr  5 19:53:58 2006
@@ -49,32 +49,5 @@
      */
     public Object getInstance(QualifiedName qName) throws TargetException;
 
-    /**
-     * Returns an instance associated with the requested name without 
notifying <code>ContextEventListener</code>s
-     * that may be registered with this context on instance creation. Note 
that [EMAIL PROTECTED] #getInstance(QualifiedName)}
-     * should generally be called and this method is only provided as an 
optimization for particular circumstances.
-     * 
-     * @param qName a qualified name of the requested instance
-     * @param notify whether to notify <code>ContextEventListener</code>s
-     * @return the instance or a proxy to it
-     * @throws TargetException if an error occurs retrieving the instance or 
proxy
-     * @see LifecycleEventListener
-     */
-    public Object getInstance(QualifiedName qName, boolean notify) throws 
TargetException;
-
-    /**
-     * Returns the implementation instance associated with the component. An 
implementation instance is the actual
-     * object a request is dispatched to sans proxy invocation chain.
-     * @throws TargetException
-     */
-    public Object getImplementationInstance() throws TargetException;
-
-    /**
-     * Returns the implementation instance associated with the component. An 
implementation instance is the actual
-     * object a request is dispatched to sans proxy invocation chain.
-     * @param notify whether to notify <code>ContextEventListener</code>s
-     * @throws TargetException
-     */
-    public Object getImplementationInstance(boolean notify) throws 
TargetException;
 
 }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/SimpleComponentContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/SimpleComponentContext.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/SimpleComponentContext.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/SimpleComponentContext.java
 Wed Apr  5 19:53:58 2006
@@ -29,8 +29,21 @@
     public boolean isEagerInit();
 
     /**
+     * Notifies the context of an initialization event
+     * @throws TargetException
+     */
+    public void init() throws TargetException;
+
+    /**
      * Returns whether a the context should be called back when its scope ends
      */
     public boolean isDestroyable();
+
+    /**
+     * Returns the implementation instance associated with the context. An 
implementation instance is the actual
+     * object a request is dispatched to sans proxy invocation chain.
+     * @throws TargetException
+     */
+    public Object getImplementationInstance() throws TargetException;
 
 }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/AbstractAggregateContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/AbstractAggregateContext.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/AbstractAggregateContext.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/AbstractAggregateContext.java
 Wed Apr  5 19:53:58 2006
@@ -111,10 +111,6 @@
     // Indicates whether the module context has been initialized
     protected boolean initialized;
 
-    // ----------------------------------
-    // Constructors
-    // ----------------------------------
-
     public AbstractAggregateContext() {
         scopeIndex = new ConcurrentHashMap<String, ScopeContext>();
         // FIXME the factory should be injected
@@ -134,10 +130,6 @@
         module = new AssemblyFactoryImpl().createModule();
     }
 
-    // ----------------------------------
-    // Lifecycle methods
-    // ----------------------------------
-
     public void start() {
         synchronized (lock) {
             try {
@@ -489,10 +481,6 @@
     }
 
     public Object getInstance(QualifiedName qName) throws TargetException {
-        return getInstance(qName, true);
-    }
-
-    public Object getInstance(QualifiedName qName, boolean notify) throws 
TargetException {
         assert (qName != null) : "Name was null ";
         // use the port name to get the context since entry points ports
         ScopeContext scope = scopeIndex.get(qName.getPortName());
@@ -506,7 +494,7 @@
             e.addContextName(name);
             throw e;
         }
-        return ctx.getInstance(null, notify);
+        return ctx.getInstance(null);
     }
 
     public Object locateInstance(String qualifiedName) throws TargetException {
@@ -521,7 +509,7 @@
         }
         InstanceContext ctx = scope.getContext(qName.getPartName());
         try {
-            return ctx.getInstance(qName, true);
+            return ctx.getInstance(qName);
         } catch (TargetException e) {
             e.addContextName(getName());
             throw e;
@@ -533,20 +521,12 @@
         return immutableScopeContexts;
     }
 
-    // ----------------------------------
-    // Abstract methods
-    // ----------------------------------
-
     /**
      * Registers a model object as autowirable
      * 
      * @throws ContextInitException
      */
     protected abstract void registerAutowire(Extensible model) throws 
ConfigurationException;
-
-    // ----------------------------------
-    // Protected methods
-    // ----------------------------------
 
     /**
      * Blocks until the module context has been initialized

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/AggregateContextImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/AggregateContextImpl.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/AggregateContextImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/AggregateContextImpl.java
 Wed Apr  5 19:53:58 2006
@@ -102,7 +102,7 @@
         }
         InstanceContext ctx = scope.getContext(qName.getPartName());
         try {
-            Object o = ctx.getInstance(qName, true);
+            Object o = ctx.getInstance(qName);
             if (o == null) {
                 throw new ServiceUnavailableException(qualifiedName);
             }
@@ -278,22 +278,6 @@
             }
         }
     }
-
-    // ----------------------------------
-    // InstanceContext methods
-    // ----------------------------------
-
-    public Object getImplementationInstance() throws TargetException {
-        return this;
-    }
-
-    public Object getImplementationInstance(boolean notify) throws 
TargetException {
-        return this;
-    }
-
-    // ----------------------------------
-    // Inner classes
-    // ----------------------------------
 
     private class NameToScope {
 

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/EntryPointContextImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/EntryPointContextImpl.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/EntryPointContextImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/EntryPointContextImpl.java
 Wed Apr  5 19:53:58 2006
@@ -58,10 +58,6 @@
                 .getInvocationConfigurations());
     }
 
-    // ----------------------------------
-    // Methods
-    // ----------------------------------
-
     public Object getInstance(QualifiedName qName) throws TargetException {
         if (proxy == null) {
             try {
@@ -75,10 +71,6 @@
         return proxy;
     }
 
-    public Object getInstance(QualifiedName qName, boolean notify) throws 
TargetException {
-        return getInstance(qName);
-    }
-
     public void start() throws ContextInitException {
         lifecycleState = RUNNING;
     }
@@ -89,10 +81,6 @@
 
      public Object getImplementationInstance() throws TargetException {
         return invocationHandler;
-    }
-
-    public Object getImplementationInstance(boolean notify) throws 
TargetException {
-        return getImplementationInstance();
     }
 
 }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/ExternalServiceContextImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/ExternalServiceContextImpl.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/ExternalServiceContextImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/ExternalServiceContextImpl.java
 Wed Apr  5 19:53:58 2006
@@ -71,15 +71,7 @@
         }
     }
 
-    public Object getInstance(QualifiedName qName, boolean notify) throws 
TargetException {
-        return getInstance(qName);
-    }
-
     public Object getImplementationInstance() throws TargetException {
         return targetInstanceFactory.getInstance();
-    }
-
-    public Object getImplementationInstance(boolean notify) throws 
TargetException {
-        return getImplementationInstance();
     }
 }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/AbstractScopeContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/AbstractScopeContext.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/AbstractScopeContext.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/AbstractScopeContext.java
 Wed Apr  5 19:53:58 2006
@@ -50,21 +50,12 @@
         this.eventContext = eventContext;
     }
 
-    // ----------------------------------
-    // Lifecycle methods
-    // --------------------------_--------
-
     public synchronized void start() {
     }
 
     public synchronized void stop() {
     }
 
-
-    // ----------------------------------
-    // Scope methods
-    // ----------------------------------
-
     public void registerFactories(List<ContextFactory<InstanceContext>> 
configurations) {
         for (ContextFactory<InstanceContext> configuration : configurations) {
             contextFactorys.put(configuration.getName(), configuration);
@@ -81,18 +72,6 @@
         return context.getInstance(qName);
     }
 
-    public Object getInstance(QualifiedName qName, boolean notify) throws 
TargetException {
-        return getInstance(qName);
-    }
-
-    public Object getImplementationInstance() throws TargetException {
-        return this;
-    }
-
-    public Object getImplementationInstance(boolean notify) throws 
TargetException{
-        return this;
-    }
-    
     protected EventContext getEventContext() {
         return eventContext;
     }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/AggregateScopeContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/AggregateScopeContext.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/AggregateScopeContext.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/AggregateScopeContext.java
 Wed Apr  5 19:53:58 2006
@@ -112,10 +112,6 @@
         return context.getInstance(qName);
     }
 
-    public Object getInstance(QualifiedName qName, boolean notify) throws 
TargetException {
-        return getInstance(qName);
-    }
-    
     public InstanceContext getContext(String ctxName) {
         checkInit();
         return contexts.get(ctxName);
@@ -148,13 +144,6 @@
         }
     }
 
-    public Object getImplementationInstance() throws TargetException{
-        return this;
-    }
-
-    public Object getImplementationInstance(boolean notify) throws 
TargetException{
-        return this;
-    }
 
     private void checkInit() {
         if (lifecycleState != RUNNING) {

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/HttpSessionScopeContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/HttpSessionScopeContext.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/HttpSessionScopeContext.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/HttpSessionScopeContext.java
 Wed Apr  5 19:53:58 2006
@@ -46,10 +46,6 @@
         setName("Http Session Scope");
     }
 
-    // ----------------------------------
-    // Lifecycle methods
-    // ----------------------------------
-
     public synchronized void start() {
         if (lifecycleState != UNINITIALIZED) {
             throw new IllegalStateException("Scope container must be in 
UNINITIALIZED state");
@@ -71,10 +67,6 @@
         lifecycleState = STOPPED;
     }
 
-    // ----------------------------------
-    // Listener methods
-    // ----------------------------------
-
     public void onEvent(int type, Object key) {
         checkInit();
         if (key == null) {
@@ -86,10 +78,6 @@
         }
     }
 
-    // ----------------------------------
-    // Scope methods
-    // ----------------------------------
-
     public boolean isCacheable() {
         return true;
     }
@@ -227,8 +215,7 @@
             if (context instanceof SimpleComponentContext) {
                 SimpleComponentContext simpleCtx = (SimpleComponentContext) 
context;
                 if (simpleCtx.isEagerInit()) {
-                    // Get the instance and perform manual shutdown 
registration to avoid a map lookup
-                    context.getInstance(null, false);
+                    context.notify();  // Notify the instance
                     if (simpleCtx.isDestroyable()) {
                         shutdownQueue.add(simpleCtx);
                     }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java
 Wed Apr  5 19:53:58 2006
@@ -140,7 +140,7 @@
                     SimpleComponentContext simpleCtx = 
(SimpleComponentContext) context;
                     if (simpleCtx.isEagerInit()) {
                         // perform silent creation and manual shutdown 
registration
-                        simpleCtx.getInstance(null, false);
+                        simpleCtx.init();
                         if (simpleCtx.isDestroyable()) {
                             destroyableContexts.add(simpleCtx);
                         }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/runtime/RuntimeContextImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/runtime/RuntimeContextImpl.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/runtime/RuntimeContextImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/runtime/RuntimeContextImpl.java
 Wed Apr  5 19:53:58 2006
@@ -209,14 +209,6 @@
         return getSystemContext().getInstance(qName);
     }
 
-    public Object getInstance(QualifiedName qName, boolean notify) throws 
TargetException {
-        return getInstance(qName);
-    }
-
-    // ----------------------------------
-    // ConfigurationContext methods
-    // ----------------------------------
-
     public synchronized void build(AssemblyModelObject model) throws 
BuilderConfigException {
         AssemblyVisitor visitor = new AssemblyVisitor(builders);
         visitor.start(model);
@@ -235,10 +227,6 @@
         wireBuilder.completeTargetChain(targetFactory, targetType, 
targetScopeContext);
     }
 
-    // ----------------------------------
-    // AutowireContext methods
-    // ----------------------------------
-
     public <T> T resolveInstance(Class<T> instanceInterface) throws 
AutowireResolutionException {
         if (MonitorFactory.class.equals(instanceInterface)) {
             return instanceInterface.cast(monitorFactory);
@@ -258,25 +246,9 @@
         return systemContext.resolveExternalInstance(instanceInterface);
     }
 
-    // ----------------------------------
-    // InstanceContext methods
-    // ----------------------------------
-
-    public Object getImplementationInstance() throws TargetException {
-        return this;
-    }
-
-    public Object getImplementationInstance(boolean notify) throws 
TargetException {
-        return this;
-    }
-
     public Aggregate getAggregate() {
         return systemContext.getAggregate();
     }
-
-    // ----------------------------------
-    // Private methods
-    // ----------------------------------
 
     private void checkRunning() {
         if (lifecycleState != RUNNING) {

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemAggregateContextImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemAggregateContextImpl.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemAggregateContextImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemAggregateContextImpl.java
 Wed Apr  5 19:53:58 2006
@@ -469,10 +469,6 @@
     }
 
     public Object getInstance(QualifiedName qName) throws TargetException {
-        return getInstance(qName, true);
-    }
-
-    public Object getInstance(QualifiedName qName, boolean notify) throws 
TargetException {
         assert (qName != null) : "Name was null ";
         // use the port name to get the context since entry points ports
         ScopeContext scope = scopeIndex.get(qName.getPortName());
@@ -486,7 +482,7 @@
             e.addContextName(name);
             throw e;
         }
-        return ctx.getInstance(null, notify);
+        return ctx.getInstance(null);
     }
 
     public Object locateInstance(String qualifiedName) throws TargetException {
@@ -501,23 +497,11 @@
         }
         InstanceContext ctx = scope.getContext(qName.getPartName());
         try {
-            return ctx.getInstance(qName, true);
+            return ctx.getInstance(qName);
         } catch (TargetException e) {
             e.addContextName(getName());
             throw e;
         }
-    }
-
-    // ----------------------------------
-    // InstanceContext methods
-    // ----------------------------------
-
-    public Object getImplementationInstance() throws TargetException {
-        return this;
-    }
-
-    public Object getImplementationInstance(boolean notify) throws 
TargetException {
-        return this;
     }
 
     public Map<Scope, ScopeContext> getScopeContexts() {

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemComponentContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemComponentContext.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemComponentContext.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemComponentContext.java
 Wed Apr  5 19:53:58 2006
@@ -90,6 +90,10 @@
         return getInstance(qName, true);
     }
 
+    public void init() throws TargetException{
+        getInstance(null);
+    }
+    
     public synchronized Object getInstance(QualifiedName qName, boolean 
notify) throws TargetException {
         if (cachedTargetInstance != null) {
             return cachedTargetInstance; // already cached, just return
@@ -127,10 +131,6 @@
 
     public Object getImplementationInstance() throws TargetException {
         return getInstance(null);
-    }
-
-    public Object getImplementationInstance(boolean notify) throws 
TargetException {
-        return getInstance(null, notify);
     }
 
     public boolean isEagerInit() {

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemEntryPointContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemEntryPointContext.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemEntryPointContext.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemEntryPointContext.java
 Wed Apr  5 19:53:58 2006
@@ -36,10 +36,6 @@
     
     private QualifiedName targetName;
     
-    // ----------------------------------
-    // Constructors
-    // ----------------------------------
-
     public SystemEntryPointContext(String name, String targetName, 
ContextResolver resolver) {
         super(name);
         assert (resolver != null) : "Context resolver was null";
@@ -48,15 +44,7 @@
         this.targetName = new QualifiedName(targetName);
     }
 
-    // ----------------------------------
-    // Methods
-    // ----------------------------------
-
     public Object getInstance(QualifiedName qName) throws TargetException {
-        return getInstance(qName, true);
-    }
-
-    public Object getInstance(QualifiedName qName, boolean notify) throws 
TargetException {
         try {
             if (cachedInstance == null) {
                 InstanceContext ctx = 
resolver.getCurrentContext().getContext(targetName.getPartName());
@@ -84,7 +72,4 @@
         return getInstance(null);
     }
 
-    public Object getImplementationInstance(boolean notify) throws 
TargetException {
-        return getInstance(null, notify);
-    }
 }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemExternalServiceContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemExternalServiceContext.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemExternalServiceContext.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemExternalServiceContext.java
 Wed Apr  5 19:53:58 2006
@@ -33,25 +33,13 @@
     // the cached target
     private Object cachedInstance;
 
-    // ----------------------------------
-    // Constructors
-    // ----------------------------------
-
     public SystemExternalServiceContext(String name, ObjectFactory factory) {
         super(name);
         assert (factory != null) : "Object factory was null";
         this.factory = factory;
     }
 
-    // ----------------------------------
-    // Methods
-    // ----------------------------------
-
     public Object getInstance(QualifiedName qName) throws TargetException {
-        return getInstance(qName, false);
-    }
-
-    public Object getInstance(QualifiedName qName, boolean notify) throws 
TargetException {
         try {
             if (cachedInstance == null) {
                 cachedInstance = factory.getInstance();
@@ -76,7 +64,4 @@
         return this;
     }
 
-    public Object getImplementationInstance(boolean notify) throws 
TargetException {
-        return this;
-    }
 }

Modified: 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/integration/IntraAggregateWireIntegrationTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/integration/IntraAggregateWireIntegrationTestCase.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/integration/IntraAggregateWireIntegrationTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/integration/IntraAggregateWireIntegrationTestCase.java
 Wed Apr  5 19:53:58 2006
@@ -19,6 +19,7 @@
 import org.apache.tuscany.core.config.ConfigurationException;
 import org.apache.tuscany.core.context.AggregateContext;
 import org.apache.tuscany.core.context.EventContext;
+import org.apache.tuscany.core.context.SimpleComponentContext;
 import org.apache.tuscany.core.mock.MockFactory;
 import org.apache.tuscany.core.mock.component.Source;
 import org.apache.tuscany.core.mock.component.Target;
@@ -47,16 +48,16 @@
         Module module = 
MockFactory.createSystemModuleWithWiredComponents("system.module",Scope.MODULE, 
Scope.MODULE);
         moduleComponent.setModuleImplementation(module);
         runtime.getSystemContext().registerModelObject(moduleComponent);
-        AggregateContext context = (AggregateContext) 
runtime.getSystemContext().getContext("test.system").getImplementationInstance();
+        AggregateContext context = (AggregateContext) 
runtime.getSystemContext().getContext("test.system");
         context.fireEvent(EventContext.MODULE_START, null);
         //context.registerModelObject(module);
-        Source source = (Source) 
context.getContext("source").getImplementationInstance();
+        Source source = (Source) 
((SimpleComponentContext)context.getContext("source")).getImplementationInstance();
         Assert.assertNotNull(source);
         Target targetRef = source.getTarget();
         Assert.assertNotNull(targetRef);
-        Target target = (Target) 
context.getContext("target").getImplementationInstance();
+        Target target = (Target) 
((SimpleComponentContext)context.getContext("target")).getImplementationInstance();
         Assert.assertSame(target, targetRef);
-        Source source2 = (Source) 
context.getContext("source").getImplementationInstance();
+        Source source2 = (Source) 
((SimpleComponentContext)context.getContext("source")).getImplementationInstance();
         Assert.assertSame(target, source2.getTarget());
         context.fireEvent(EventContext.MODULE_STOP, null);
         context.stop();
@@ -87,17 +88,17 @@
     public void testWireConstruction() throws ConfigurationException {
         RuntimeContext runtime = MockFactory.createCoreRuntime();
         
runtime.getSystemContext().registerModelObject(MockFactory.createSystemAggregateComponent("test.system"));
-        AggregateContext context = (AggregateContext) 
runtime.getSystemContext().getContext("test.system").getImplementationInstance();
+        AggregateContext context = (AggregateContext) 
runtime.getSystemContext().getContext("test.system");
 
         context.fireEvent(EventContext.MODULE_START, null);
         
context.registerModelObject(MockFactory.createSystemModuleWithWiredComponents("system.module",Scope.MODULE,Scope.MODULE));
-        Source source = (Source) 
context.getContext("source").getImplementationInstance();
+        Source source = (Source) 
((SimpleComponentContext)context.getContext("source")).getImplementationInstance();
         Assert.assertNotNull(source);
         Target targetRef = source.getTarget();
         Assert.assertNotNull(targetRef);
-        Target target = (Target) 
context.getContext("target").getImplementationInstance();
+        Target target = (Target) 
((SimpleComponentContext)context.getContext("target")).getImplementationInstance();
         Assert.assertSame(target, targetRef);
-        Source source2 = (Source) 
context.getContext("source").getImplementationInstance();
+        Source source2 = (Source) 
((SimpleComponentContext)context.getContext("source")).getImplementationInstance();
         Assert.assertSame(target, source2.getTarget());
         context.fireEvent(EventContext.MODULE_STOP, null);
         context.stop();

Modified: 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/invocation/mock/MockScopeContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/invocation/mock/MockScopeContext.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/invocation/mock/MockScopeContext.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/invocation/mock/MockScopeContext.java
 Wed Apr  5 19:53:58 2006
@@ -72,10 +72,6 @@
         return components.get(name.getPartName());
     }
 
-    public Object getInstance(QualifiedName componentName, boolean notify) 
throws TargetException {
-        return getInstance(componentName);
-    }
-    
     public SimpleComponentContext getContextByKey(String name, Object key) {
         return null;
     }
@@ -123,14 +119,6 @@
     public void removeContextListener(LifecycleEventListener listener) {
     }
 
-    public Object getImplementationInstance() throws TargetException{
-        return this;
-    }
-
-    public Object getImplementationInstance(boolean notify) throws 
TargetException{
-        return this;
-    }
-    
 
 }
 

Modified: 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/context/IntraAggregateWireTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/context/IntraAggregateWireTestCase.java?rev=391885&r1=391884&r2=391885&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/context/IntraAggregateWireTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/context/IntraAggregateWireTestCase.java
 Wed Apr  5 19:53:58 2006
@@ -20,6 +20,7 @@
 
 import org.apache.tuscany.core.context.EventContext;
 import org.apache.tuscany.core.context.SystemAggregateContext;
+import org.apache.tuscany.core.context.SimpleComponentContext;
 import org.apache.tuscany.core.mock.MockConfigContext;
 import org.apache.tuscany.core.mock.MockFactory;
 import org.apache.tuscany.core.mock.component.Source;
@@ -38,11 +39,11 @@
         context.start();
         
context.registerModelObject(MockFactory.createSystemModuleWithWiredComponents("system.module",Scope.MODULE,
 Scope.MODULE));
         context.fireEvent(EventContext.MODULE_START, null);
-        Source source = (Source) 
context.getContext("source").getImplementationInstance();
+        Source source = (Source) ((SimpleComponentContext) 
context.getContext("source")).getImplementationInstance();
         Assert.assertNotNull(source);
         Target targetRef = source.getTarget();
         Assert.assertNotNull(targetRef);
-        Target target = (Target) 
context.getContext("target").getImplementationInstance();
+        Target target = (Target) ((SimpleComponentContext) 
context.getContext("target")).getImplementationInstance();
         Assert.assertSame(target, targetRef);
         Assert.assertSame(target, source.getTarget());
         context.fireEvent(EventContext.MODULE_STOP, null);
@@ -54,11 +55,12 @@
         context.start();
         
context.registerModelObject(MockFactory.createSystemModuleWithWiredComponents("system.module",Scope.INSTANCE,
 Scope.MODULE));
         context.fireEvent(EventContext.MODULE_START, null);
-        Source source = (Source) 
context.getContext("source").getImplementationInstance();
+        Source source = (Source) ((SimpleComponentContext) 
context.getContext("source")).getImplementationInstance();
         Assert.assertNotNull(source);
         Target targetRef = source.getTarget();
         Assert.assertNotNull(targetRef);
-        Target target = (Target) 
context.getContext("target").getImplementationInstance();
+        source = (Source) ((SimpleComponentContext) 
context.getContext("source")).getImplementationInstance();
+        Target target = (Target) ((SimpleComponentContext) 
context.getContext("target")).getImplementationInstance();
         Assert.assertSame(target, targetRef);
         Assert.assertSame(target, source.getTarget());
         context.fireEvent(EventContext.MODULE_STOP, null);
@@ -70,14 +72,14 @@
         context.start();
         
context.registerModelObject(MockFactory.createSystemModuleWithWiredComponents("system.module",Scope.MODULE,
 Scope.INSTANCE));
         context.fireEvent(EventContext.MODULE_START, null);
-        Source source = (Source) 
context.getContext("source").getImplementationInstance();
+        Source source = (Source) ((SimpleComponentContext) 
context.getContext("source")).getImplementationInstance();
         Assert.assertNotNull(source);
         Target targetRef = source.getTarget();
         Assert.assertNotNull(targetRef);
-        Target target = (Target) 
context.getContext("target").getImplementationInstance();
+        Target target = (Target) ((SimpleComponentContext) 
context.getContext("target")).getImplementationInstance();
         Assert.assertNotSame(target, targetRef);
-        Source source2 = (Source) 
context.getContext("source").getImplementationInstance();
-        // should be the same since the module scope component was alreadyy 
created and the stateless 
+        Source source2 = (Source) ((SimpleComponentContext) 
context.getContext("source")).getImplementationInstance();
+        // should be the same since the module scope component was alreadyy 
created and the stateless
         // component will be "attached" to it
         Assert.assertSame(source.getTarget(), source2.getTarget());
         context.fireEvent(EventContext.MODULE_STOP, null);
@@ -89,9 +91,9 @@
         context.start();
         
context.registerModelObject(MockFactory.createSystemModuleWithWiredComponents("system.module",Scope.MODULE,
 Scope.MODULE));
         context.fireEvent(EventContext.MODULE_START, null);
-        Source source = (Source) 
context.getContext("source").getImplementationInstance();
+        Source source = (Source) ((SimpleComponentContext) 
context.getContext("source")).getImplementationInstance();
         Assert.assertNotNull(source);
-        Target target = (Target) 
context.getContext("target").getImplementationInstance();
+        Target target = (Target) ((SimpleComponentContext) 
context.getContext("target")).getImplementationInstance();
         Assert.assertNotNull(target);
         // test setter injection
         List<Target> targets = source.getTargets();


Reply via email to