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);