Author: jmarino
Date: Sun May 14 01:54:07 2006
New Revision: 406286

URL: http://svn.apache.org/viewcvs?rev=406286&view=rev
Log:
extension api work again

Modified:
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/PojoAtomicContext.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemAtomicContextImpl.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicHttpSessionScopeTestCase.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicModuleScopeTestCase.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicRequestScopeTestCase.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/MockFactory.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemAtomicContextTestCase.java

Modified: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/PojoAtomicContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/PojoAtomicContext.java?rev=406286&r1=406285&r2=406286&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/PojoAtomicContext.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/PojoAtomicContext.java
 Sun May 14 01:54:07 2006
@@ -6,12 +6,13 @@
 import org.apache.tuscany.common.ObjectCreationException;
 import org.apache.tuscany.common.ObjectFactory;
 import org.apache.tuscany.core.injection.EventInvoker;
+import org.apache.tuscany.core.injection.Injector;
 import org.apache.tuscany.model.Scope;
+import org.apache.tuscany.spi.context.AbstractContext;
 import org.apache.tuscany.spi.context.AtomicContext;
 import org.apache.tuscany.spi.context.InstanceWrapper;
 import org.apache.tuscany.spi.context.ScopeContext;
 import org.apache.tuscany.spi.context.TargetException;
-import org.apache.tuscany.spi.context.AbstractContext;
 
 /**
  * Base implementation of an [EMAIL PROTECTED] AtomicContext} whose 
implementation type is a Java class
@@ -26,9 +27,10 @@
     protected EventInvoker<Object> destroyInvoker;
     protected ObjectFactory<?> objectFactory;
     protected List<Class<?>> serviceInterfaces;
+    protected List<Injector> injectors;
 
     public PojoAtomicContext(String name, Class<?> serviceInterface, 
ObjectFactory<?> objectFactory, boolean eagerInit, EventInvoker<Object> 
initInvoker,
-                             EventInvoker<Object> destroyInvoker) {
+                             EventInvoker<Object> destroyInvoker, 
List<Injector> injectors) {
         super(name);
         List<Class<?>> serviceInterfaces = new ArrayList<Class<?>>();
         serviceInterfaces.add(serviceInterface);
@@ -41,10 +43,11 @@
         this.initInvoker = initInvoker;
         this.destroyInvoker = destroyInvoker;
         this.serviceInterfaces = serviceInterfaces;
+        this.injectors = (injectors == null) ? new ArrayList<Injector>() : 
injectors;
     }
 
     public PojoAtomicContext(String name, List<Class<?>> serviceInterfaces, 
ObjectFactory<?> objectFactory, boolean eagerInit, EventInvoker<Object> 
initInvoker,
-                             EventInvoker<Object> destroyInvoker) {
+                             EventInvoker<Object> 
destroyInvoker,List<Injector> injectors) {
         super(name);
         assert (objectFactory != null) : "Object factory was null";
         if (eagerInit && initInvoker == null) {
@@ -55,6 +58,7 @@
         this.initInvoker = initInvoker;
         this.destroyInvoker = destroyInvoker;
         this.serviceInterfaces = serviceInterfaces;
+        this.injectors = (injectors == null) ? new ArrayList<Injector>() : 
injectors;
     }
 
     public List<Class<?>> getServiceInterfaces() {
@@ -91,11 +95,16 @@
 
     @SuppressWarnings("unchecked")
     public T getTargetInstance() throws TargetException {
-        return (T)scopeContext.getInstance(this);
+        return (T) scopeContext.getInstance(this);
     }
 
     public InstanceWrapper createInstance() throws ObjectCreationException {
-        InstanceWrapper ctx = new PojoInstanceWrapper(this, 
objectFactory.getInstance());
+        Object instance = objectFactory.getInstance();
+        InstanceWrapper ctx = new PojoInstanceWrapper(this, instance);
+        // inject the instance with properties and references
+        for (Injector<Object> injector : injectors) {
+            injector.inject(instance);
+        }
         ctx.start();
         return ctx;
     }

Modified: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemAtomicContextImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemAtomicContextImpl.java?rev=406286&r1=406285&r2=406286&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemAtomicContextImpl.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemAtomicContextImpl.java
 Sun May 14 01:54:07 2006
@@ -1,48 +1,40 @@
 package org.apache.tuscany.core.system.context;
 
+import java.lang.reflect.Method;
 import java.util.List;
 import java.util.Map;
-import java.lang.reflect.Method;
 
-import org.apache.tuscany.common.ObjectCreationException;
 import org.apache.tuscany.common.ObjectFactory;
 import org.apache.tuscany.core.context.PojoAtomicContext;
-import org.apache.tuscany.core.context.PojoInstanceWrapper;
 import org.apache.tuscany.core.injection.EventInvoker;
-import org.apache.tuscany.spi.context.InstanceWrapper;
+import org.apache.tuscany.core.injection.Injector;
 import org.apache.tuscany.spi.context.TargetException;
 import org.apache.tuscany.spi.wire.SourceWire;
-import org.apache.tuscany.spi.wire.TargetWire;
 import org.apache.tuscany.spi.wire.TargetInvoker;
+import org.apache.tuscany.spi.wire.TargetWire;
 
 /**
  * @version $$Rev$$ $$Date$$
  */
 public class SystemAtomicContextImpl<T> extends PojoAtomicContext<T> 
implements SystemAtomicContext<T> {
 
-    public SystemAtomicContextImpl(String name, Class<?> serviceInterface, 
ObjectFactory<?> objectFactory) {
-        super(name, serviceInterface, objectFactory, false, null, null);
+    public SystemAtomicContextImpl(String name, Class<?> serviceInterface, 
ObjectFactory<?> objectFactory, List<Injector> injectors) {
+        super(name, serviceInterface, objectFactory, false, null, null, 
injectors);
     }
 
     public SystemAtomicContextImpl(String name, Class<?> serviceInterface, 
ObjectFactory<?> objectFactory, boolean eagerInit, EventInvoker<Object> 
initInvoker,
-                                   EventInvoker<Object> destroyInvoker) {
-        super(name, serviceInterface, objectFactory, eagerInit, initInvoker, 
destroyInvoker);
+                                   EventInvoker<Object> destroyInvoker, 
List<Injector> injectors) {
+        super(name, serviceInterface, objectFactory, eagerInit, initInvoker, 
destroyInvoker, injectors);
     }
 
     public SystemAtomicContextImpl(String name, List<Class<?>> 
serviceInterfaces, ObjectFactory<?> objectFactory, boolean eagerInit, 
EventInvoker<Object> initInvoker,
-                                   EventInvoker<Object> destroyInvoker) {
-        super(name, serviceInterfaces, objectFactory, eagerInit, initInvoker, 
destroyInvoker);
+                                   EventInvoker<Object> destroyInvoker, 
List<Injector> injectors) {
+        super(name, serviceInterfaces, objectFactory, eagerInit, initInvoker, 
destroyInvoker, injectors);
     }
 
     @SuppressWarnings("unchecked")
     public T getTargetInstance() throws TargetException {
-        return (T)scopeContext.getInstance(this);
-    }
-
-    public InstanceWrapper createInstance() throws ObjectCreationException {
-        InstanceWrapper ctx = new PojoInstanceWrapper(this, 
objectFactory.getInstance());
-        ctx.start();
-        return ctx;
+        return (T) scopeContext.getInstance(this);
     }
 
     public void prepare() {
@@ -80,7 +72,7 @@
         throw new UnsupportedOperationException();
     }
 
-    public TargetInvoker createTargetInvoker(String serviceName, Method 
operation){
+    public TargetInvoker createTargetInvoker(String serviceName, Method 
operation) {
         throw new UnsupportedOperationException();
     }
 

Modified: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicHttpSessionScopeTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicHttpSessionScopeTestCase.java?rev=406286&r1=406285&r2=406286&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicHttpSessionScopeTestCase.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicHttpSessionScopeTestCase.java
 Sun May 14 01:54:07 2006
@@ -84,6 +84,6 @@
     }
 
     private SystemAtomicContext createContext() {
-        return new SystemAtomicContextImpl("foo", 
SessionScopeInitDestroyComponent.class, factory, false, initInvoker, 
destroyInvoker);
+        return new SystemAtomicContextImpl("foo", 
SessionScopeInitDestroyComponent.class, factory, false, initInvoker, 
destroyInvoker, null);
     }
 }

Modified: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicModuleScopeTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicModuleScopeTestCase.java?rev=406286&r1=406285&r2=406286&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicModuleScopeTestCase.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicModuleScopeTestCase.java
 Sun May 14 01:54:07 2006
@@ -77,6 +77,6 @@
     }
 
     private SystemAtomicContext createContext() {
-        return new SystemAtomicContextImpl("foo", 
ModuleScopeInitDestroyComponent.class,factory, false, initInvoker, 
destroyInvoker);
+        return new SystemAtomicContextImpl("foo", 
ModuleScopeInitDestroyComponent.class,factory, false, initInvoker, 
destroyInvoker, null);
     }
 }

Modified: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicRequestScopeTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicRequestScopeTestCase.java?rev=406286&r1=406285&r2=406286&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicRequestScopeTestCase.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/context/scope/BasicRequestScopeTestCase.java
 Sun May 14 01:54:07 2006
@@ -76,6 +76,6 @@
     }
 
     private SystemAtomicContext createContext() {
-        return new SystemAtomicContextImpl("foo", 
RequestScopeInitDestroyComponent.class,factory, false, initInvoker, 
destroyInvoker);
+        return new SystemAtomicContextImpl("foo", 
RequestScopeInitDestroyComponent.class,factory, false, initInvoker, 
destroyInvoker, null);
     }
 }

Modified: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/MockFactory.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/MockFactory.java?rev=406286&r1=406285&r2=406286&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/MockFactory.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/MockFactory.java
 Sun May 14 01:54:07 2006
@@ -123,7 +123,7 @@
      */
     public static SystemAtomicContextImpl createSystemAtomicContext(String 
name, List<Class<?>> serviceInterfaces, Class<?> clazz, boolean eagerInit, 
EventInvoker<Object> initInvoker,
                                                                     
EventInvoker<Object> destroyInvoker, List<Injector> injectors) throws 
NoSuchMethodException {
-        return new SystemAtomicContextImpl(name, serviceInterfaces, 
createObjectFactory(clazz, injectors), eagerInit, initInvoker, destroyInvoker);
+        return new SystemAtomicContextImpl(name, serviceInterfaces, 
createObjectFactory(clazz, injectors), eagerInit, initInvoker, destroyInvoker, 
null);
     }
 
     public static <T> TargetWire<T> createTargetWireFactory(String 
serviceName, Class<T> interfaze) throws WireFactoryInitException {

Modified: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemAtomicContextTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemAtomicContextTestCase.java?rev=406286&r1=406285&r2=406286&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemAtomicContextTestCase.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/system/context/SystemAtomicContextTestCase.java
 Sun May 14 01:54:07 2006
@@ -19,7 +19,7 @@
     public void testContextCreationAndInit() throws Exception {
         ObjectFactory<Foo> factory = new 
PojoObjectFactory<Foo>(Foo.class.getConstructor((Class[]) null), null, null);
         ScopeContext<AtomicContext> scopeContext = new MockScopeContext();
-        SystemAtomicContext context = new 
SystemAtomicContextImpl("foo",Foo.class,factory,false,initInvoker,null);
+        SystemAtomicContext context = new 
SystemAtomicContextImpl("foo",Foo.class,factory,false,initInvoker,null, null);
         context.setScopeContext(scopeContext);
         Foo instance = (Foo) context.getService(null);
         assertNotNull(instance);


Reply via email to