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 2006/05/14 10:54:09 UTC
svn commit: r406286 - in /incubator/tuscany/sandbox/jboynes/sca/core2/src:
main/java/org/apache/tuscany/core/context/
main/java/org/apache/tuscany/core/system/context/
test/java/org/apache/tuscany/core/context/scope/
test/java/org/apache/tuscany/core/m...
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 {@link 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);