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/07 05:28:12 UTC
svn commit: r400402 [3/3] - in /incubator/tuscany/sandbox/jboynes/sca:
containers/container.java/src/main/java/org/apache/tuscany/container/java/assembly/
containers/container.java/src/main/java/org/apache/tuscany/container/java/assembly/impl/
containe...
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=400402&r1=400401&r2=400402&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 Sat May 6 20:28:07 2006
@@ -3,17 +3,22 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
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.core.injection.MethodEventInvoker;
import org.apache.tuscany.core.injection.MethodInjector;
import org.apache.tuscany.core.injection.PojoObjectFactory;
import org.apache.tuscany.core.system.context.SystemAtomicContext;
import org.apache.tuscany.spi.context.AtomicContext;
import org.apache.tuscany.spi.context.ScopeContext;
+import org.osoa.sca.annotations.Destroy;
+import org.osoa.sca.annotations.Init;
/**
* @version $$Rev$$ $$Date$$
@@ -25,30 +30,21 @@
* algorithm searches for the first method on the source with a single parameter type matching an
* interface implemented by the target.
*
- * @param source
- * @param sourceClass
- * @param target
- * @param targetClass
- * @param sourceScope
- * @param targetScope
- * @return
* @throws NoSuchMethodException
*/
- public static List<AtomicContext> createWiredContexts(String source, Class<?> sourceClass, String target,
- Class<?> targetClass,
- ScopeContext<AtomicContext> sourceScope,
- ScopeContext<AtomicContext> targetScope) throws NoSuchMethodException {
-
- List<AtomicContext> contexts = new ArrayList<AtomicContext>();
- SystemAtomicContext targetCtx = createSystemAtomicContext(target, targetClass, false, null, null, null);
- targetCtx.setScopeContext(targetScope);
+ public static Map<String, AtomicContext> createWiredContexts(String source, Class<?> sourceClass, ScopeContext<AtomicContext> sourceScopeCtx,
+ String target, Class<?> targetClass,ScopeContext<AtomicContext> targetScopeCtx) throws NoSuchMethodException {
- //wire the contexts
+ Map<String, AtomicContext> contexts = new HashMap<String, AtomicContext>();
+ SystemAtomicContext targetCtx = createSystemAtomicContext(target, targetClass);//, targetEager, targetInitInvoker, targetDestroyInvoker, null);
+ targetCtx.setScopeContext(targetScopeCtx);
+
+ //create target wire
+ Method[] sourceMethods = sourceClass.getMethods();
Class[] interfaces = targetClass.getInterfaces();
Method setter = null;
for (Class interfaze : interfaces) {
- Method[] methods = sourceClass.getMethods();
- for (Method method : methods) {
+ for (Method method : sourceMethods) {
if (method.getParameterTypes().length == 1) {
if (interfaze.isAssignableFrom(method.getParameterTypes()[0])) {
setter = method;
@@ -66,14 +62,47 @@
MethodInjector injector = new MethodInjector(setter, new AtomicContextInstanceFactory(targetCtx));
List<Injector> injectors = new ArrayList<Injector>();
injectors.add(injector);
- SystemAtomicContext sourceCtx = createSystemAtomicContext(source, sourceClass, false, null, null, injectors);
- sourceCtx.setScopeContext(sourceScope);
-
- contexts.add(sourceCtx);
- contexts.add(targetCtx);
+ SystemAtomicContext sourceCtx = createSystemAtomicContext(source, sourceClass,injectors);//, sourceEager, sourceInitInvoker, sourceDestroyInvoker, injectors);
+ sourceCtx.setScopeContext(sourceScopeCtx);
+ contexts.put(source, sourceCtx);
+ contexts.put(target, targetCtx);
return contexts;
}
+
+ public static SystemAtomicContext createSystemAtomicContext(String name, Class<?> clazz) throws NoSuchMethodException {
+ return createSystemAtomicContext(name, clazz, null);
+ }
+
+ public static SystemAtomicContext createSystemAtomicContext(String name, Class<?> clazz, List<Injector> injectors) throws NoSuchMethodException {
+ Method[] methods = clazz.getMethods();
+ EventInvoker<Object> initInvoker = null;
+ EventInvoker<Object> destroyInvoker = null;
+ boolean eager = false;
+ for (Method method : methods) {
+ Init init;
+ if ((init = method.getAnnotation(Init.class)) != null) {
+ eager = init.eager();
+ initInvoker = new MethodEventInvoker<Object>(method);
+
+ } else if (method.getAnnotation(Destroy.class) != null) {
+ destroyInvoker = new MethodEventInvoker<Object>(method);
+ }
+ }
+ return createSystemAtomicContext(name, clazz, eager, initInvoker, destroyInvoker, injectors);
+ }
+
+ /**
+ * Creates a system atomic context
+ *
+ * @param name the name of the context
+ * @param clazz the component implementation class
+ * @param eagerInit if the component eager initializes
+ * @param initInvoker the invoker for {@link org.osoa.sca.annotations.Init}
+ * @param destroyInvoker the invoker for {@link org.osoa.sca.annotations.Destroy}
+ * @param injectors the injectors responsible for injecting on an instance
+ * @throws NoSuchMethodException
+ */
public static SystemAtomicContext createSystemAtomicContext(String name, Class<?> clazz, boolean eagerInit, EventInvoker<Object> initInvoker,
EventInvoker<Object> destroyInvoker, List<Injector> injectors) throws NoSuchMethodException {
return new SystemAtomicContext(name, createObjectFactory(clazz, injectors), eagerInit, initInvoker, destroyInvoker);
@@ -85,8 +114,10 @@
}
+ /**
+ * Used for injecting references
+ */
private static class AtomicContextInstanceFactory implements ObjectFactory {
-
private AtomicContext ctx;
public AtomicContextInstanceFactory(AtomicContext ctx) {
@@ -99,6 +130,3 @@
}
}
-
-//ObjectFactory<?> objectFactory, boolean eagerInit, EventInvoker<Object> initInvoker,
-// EventInvoker<Object> destroyInvoker
\ No newline at end of file
Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderException.java (from r400327, incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/OrderException.java)
URL: http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderException.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderException.java&p1=incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/OrderException.java&r1=400327&r2=400402&rev=400402&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/OrderException.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderException.java Sat May 6 20:28:07 2006
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.tuscany.container.java.scopes;
+package org.apache.tuscany.core.mock.component;
public class OrderException extends Exception {
Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderException.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedDependentPojo.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedDependentPojo.java?rev=400402&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedDependentPojo.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedDependentPojo.java Sat May 6 20:28:07 2006
@@ -0,0 +1,11 @@
+package org.apache.tuscany.core.mock.component;
+
+/**
+ * @version $$Rev$$ $$Date$$
+ */
+public interface OrderedDependentPojo extends OrderedInitPojo{
+
+ OrderedInitPojo getPojo();
+
+ void setPojo(OrderedInitPojo pojo);
+}
Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedDependentPojoImpl.java (from r400327, incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/OrderedDependentPojo.java)
URL: http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedDependentPojoImpl.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedDependentPojoImpl.java&p1=incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/OrderedDependentPojo.java&r1=400327&r2=400402&rev=400402&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/OrderedDependentPojo.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedDependentPojoImpl.java Sat May 6 20:28:07 2006
@@ -1,17 +1,17 @@
-package org.apache.tuscany.container.java.scopes;
+package org.apache.tuscany.core.mock.component;
/**
* @version $$Rev$$ $$Date$$
*/
-public class OrderedDependentPojo extends OrderedInitPojo {
+public class OrderedDependentPojoImpl extends OrderedInitPojoImpl implements OrderedDependentPojo {
- private OrderedDependentPojo pojo;
+ private OrderedInitPojo pojo;
- public OrderedDependentPojo getPojo() {
+ public OrderedInitPojo getPojo() {
return pojo;
}
- public void setPojo(OrderedDependentPojo pojo) {
+ public void setPojo(OrderedInitPojo pojo) {
this.pojo = pojo;
}
Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedEagerInitPojo.java (from r400327, incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/OrderedEagerInitPojo.java)
URL: http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedEagerInitPojo.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedEagerInitPojo.java&p1=incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/OrderedEagerInitPojo.java&r1=400327&r2=400402&rev=400402&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/OrderedEagerInitPojo.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedEagerInitPojo.java Sat May 6 20:28:07 2006
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.tuscany.container.java.scopes;
+package org.apache.tuscany.core.mock.component;
import org.osoa.sca.annotations.Destroy;
import org.osoa.sca.annotations.Init;
@@ -23,7 +23,7 @@
@Scope("MODULE")
public class OrderedEagerInitPojo {
- private static Object lock = new Object();
+ private static final Object lock = new Object();
private static int numberInstantied;
private int initOrder;
Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedEagerInitPojo.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedEagerInitPojo.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedInitPojo.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedInitPojo.java?rev=400402&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedInitPojo.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedInitPojo.java Sat May 6 20:28:07 2006
@@ -0,0 +1,10 @@
+package org.apache.tuscany.core.mock.component;
+
+/**
+ * @version $$Rev$$ $$Date$$
+ */
+public interface OrderedInitPojo {
+ int getNumberInstantiated();
+
+ int getInitOrder();
+}
Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedInitPojo.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedInitPojo.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedInitPojoImpl.java (from r400327, incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/OrderedInitPojo.java)
URL: http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedInitPojoImpl.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedInitPojoImpl.java&p1=incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/OrderedInitPojo.java&r1=400327&r2=400402&rev=400402&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/OrderedInitPojo.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedInitPojoImpl.java Sat May 6 20:28:07 2006
@@ -14,16 +14,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.tuscany.container.java.scopes;
+package org.apache.tuscany.core.mock.component;
import org.osoa.sca.annotations.Destroy;
import org.osoa.sca.annotations.Init;
import org.osoa.sca.annotations.Scope;
@Scope("MODULE")
-public class OrderedInitPojo {
+public class OrderedInitPojoImpl implements OrderedInitPojo {
- private static Object lock = new Object();
+ private static final Object lock = new Object();
private static int numberInstantied;
private int initOrder;
Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedInitPojoImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/OrderedInitPojoImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/RequestScopedOrderedInitPojo.java (from r400327, incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/RequestScopedOrderedInitPojo.java)
URL: http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/RequestScopedOrderedInitPojo.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/RequestScopedOrderedInitPojo.java&p1=incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/RequestScopedOrderedInitPojo.java&r1=400327&r2=400402&rev=400402&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/RequestScopedOrderedInitPojo.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/RequestScopedOrderedInitPojo.java Sat May 6 20:28:07 2006
@@ -1,19 +1,19 @@
-package org.apache.tuscany.container.java.scopes;
+package org.apache.tuscany.core.mock.component;
-import org.osoa.sca.annotations.Scope;
-import org.osoa.sca.annotations.Init;
import org.osoa.sca.annotations.Destroy;
+import org.osoa.sca.annotations.Init;
+import org.osoa.sca.annotations.Scope;
@Scope("REQUEST")
public class RequestScopedOrderedInitPojo {
- private static Object lock = new Object();
+ private static final Object lock = new Object();
private static int numberInstantied;
private int initOrder;
@Init
public void init() {
- synchronized (RequestScopedOrderedInitPojo.lock) {
+ synchronized (lock) {
++RequestScopedOrderedInitPojo.numberInstantied;
initOrder = RequestScopedOrderedInitPojo.numberInstantied;
}
@@ -21,7 +21,7 @@
@Destroy
public void destroy() throws OrderException {
- synchronized (RequestScopedOrderedInitPojo.lock) {
+ synchronized (lock) {
if (initOrder != RequestScopedOrderedInitPojo.numberInstantied) {
throw new OrderException("Instance shutdown done out of order");
}
Copied: incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/SessionScopedOrderedInitPojo.java (from r400327, incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/SessionScopedOrderedInitPojo.java)
URL: http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/SessionScopedOrderedInitPojo.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/SessionScopedOrderedInitPojo.java&p1=incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/SessionScopedOrderedInitPojo.java&r1=400327&r2=400402&rev=400402&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/scopes/SessionScopedOrderedInitPojo.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/component/SessionScopedOrderedInitPojo.java Sat May 6 20:28:07 2006
@@ -1,19 +1,19 @@
-package org.apache.tuscany.container.java.scopes;
+package org.apache.tuscany.core.mock.component;
-import org.osoa.sca.annotations.Scope;
-import org.osoa.sca.annotations.Init;
import org.osoa.sca.annotations.Destroy;
+import org.osoa.sca.annotations.Init;
+import org.osoa.sca.annotations.Scope;
@Scope("SESSION")
public class SessionScopedOrderedInitPojo {
- private static Object lock = new Object();
+ private static final Object lock = new Object();
private static int numberInstantied;
private int initOrder;
@Init
public void init() {
- synchronized (SessionScopedOrderedInitPojo.lock) {
+ synchronized (lock) {
++SessionScopedOrderedInitPojo.numberInstantied;
initOrder = SessionScopedOrderedInitPojo.numberInstantied;
}
@@ -21,7 +21,7 @@
@Destroy
public void destroy() throws OrderException {
- synchronized (SessionScopedOrderedInitPojo.lock) {
+ synchronized (lock) {
if (initOrder != SessionScopedOrderedInitPojo.numberInstantied) {
throw new OrderException("Instance shutdown done out of order");
}
Added: incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/ScopeNotFoundException.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/ScopeNotFoundException.java?rev=400402&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/ScopeNotFoundException.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/ScopeNotFoundException.java Sat May 6 20:28:07 2006
@@ -0,0 +1,21 @@
+package org.apache.tuscany.spi.context;
+
+/**
+ * @version $$Rev$$ $$Date$$
+ */
+public class ScopeNotFoundException extends ScopeRuntimeException{
+ public ScopeNotFoundException() {
+ }
+
+ public ScopeNotFoundException(String message) {
+ super(message);
+ }
+
+ public ScopeNotFoundException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public ScopeNotFoundException(Throwable cause) {
+ super(cause);
+ }
+}
Modified: incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/ScopeRegistry.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/ScopeRegistry.java?rev=400402&r1=400401&r2=400402&view=diff
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/ScopeRegistry.java (original)
+++ incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/ScopeRegistry.java Sat May 6 20:28:07 2006
@@ -16,14 +16,17 @@
import java.util.List;
import org.apache.tuscany.common.ObjectFactory;
+import org.apache.tuscany.model.Scope;
/**
* @version $$Rev$$ $$Date$$
*/
public interface ScopeRegistry {
- List<ScopeContext> getScopeContexts(CompositeContext module);
+ ScopeContext getScopeContext(Scope scope,CompositeContext remotableContext) throws ScopeNotFoundException;
+
+ void registerFactory(Scope scope, ObjectFactory<ScopeContext> factory);
+
+ void deregisterFactory(Scope scope);
- void registerFactory(ObjectFactory<ScopeContext> factory);
-
}