Author: jmarino
Date: Sat May 13 22:58:45 2006
New Revision: 406267
URL: http://svn.apache.org/viewcvs?rev=406267&view=rev
Log:
extension api refactors
Added:
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/AbstractLifecycle.java
- copied, changed from r406186,
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/AbstractLifecycle.java
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/AbstractContext.java
- copied, changed from r406186,
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/AbstractContext.java
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/InvalidContextTypeException.java
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/event/TrueFilter.java
- copied, changed from r406186,
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/event/filter/TrueFilter.java
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentContextExtension.java
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeContextExtension.java
Removed:
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/AbstractLifecycle.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/AbstractContext.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/event/filter/
Modified:
incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaComponentBuilder.java
incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/invocation/AbstractJavaComponentInvoker.java
incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/invocation/MediationTestCase.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/AbstractCompositeContext.java
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/context/PojoInstanceWrapper.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/ReferenceContextImpl.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/ServiceContextImpl.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/AbstractScopeContext.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/CompositeScopeContext.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireSystemReferenceContext.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemServiceContextImpl.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemSingletonAtomicContext.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/InvokerInterceptor.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockCompositeContext.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockReferenceContext.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/scope/MockScopeContext.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/wire/mock/MockStaticInvoker.java
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/CompositeContext.java
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicContextExtension.java
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetInvoker.java
Modified:
incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaComponentBuilder.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaComponentBuilder.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaComponentBuilder.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/builder/JavaComponentBuilder.java
Sat May 13 22:58:45 2006
@@ -1,8 +1,8 @@
package org.apache.tuscany.container.java.builder;
import java.lang.reflect.Constructor;
-import java.util.List;
import java.util.ArrayList;
+import java.util.List;
import org.apache.tuscany.container.java.context.JavaAtomicContext;
import org.apache.tuscany.container.java.model.JavaImplementation;
@@ -12,8 +12,8 @@
import org.apache.tuscany.core.model.PojoComponentType;
import org.apache.tuscany.core.util.JavaIntrospectionHelper;
import org.apache.tuscany.model.Component;
-import org.apache.tuscany.model.Service;
import org.apache.tuscany.model.JavaServiceContract;
+import org.apache.tuscany.model.Service;
import org.apache.tuscany.spi.builder.BuilderConfigException;
import org.apache.tuscany.spi.builder.ComponentBuilder;
import org.apache.tuscany.spi.context.CompositeContext;
@@ -53,7 +53,7 @@
}
List<Class<?>> serviceInterfaces = new ArrayList<Class<?>>();
for (Service service : componentType.getServices().values()) {
-
serviceInterfaces.add(((JavaServiceContract)service.getServiceContract()).getInterfaceClass());
+ serviceInterfaces.add(((JavaServiceContract)
service.getServiceContract()).getInterfaceClass());
}
PojoObjectFactory<?> factory = new PojoObjectFactory(ctr, null,
componentType.getInjectors());
return new JavaAtomicContext(name, serviceInterfaces, factory,
componentType.isEagerInit(), componentType.getInitInvoker(),
Modified:
incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/invocation/AbstractJavaComponentInvoker.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/invocation/AbstractJavaComponentInvoker.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/invocation/AbstractJavaComponentInvoker.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/invocation/AbstractJavaComponentInvoker.java
Sat May 13 22:58:45 2006
@@ -21,16 +21,15 @@
import java.util.Set;
import org.apache.tuscany.core.util.JavaIntrospectionHelper;
+import org.apache.tuscany.spi.context.TargetException;
+import org.apache.tuscany.spi.wire.Interceptor;
import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.spi.wire.Interceptor;
-import org.apache.tuscany.spi.context.TargetException;
/**
- * Base class for dispatching to a Java based component implementation.
Subclasses implement a strategy for resolving
- * implementation instances.
- *
+ * Base class for dispatching to a Java based component implementation.
Subclasses implement a strategy for
+ * resolving implementation instances.
+ *
* @version $Rev$ $Date$
*/
public abstract class AbstractJavaComponentInvoker implements TargetInvoker {
@@ -60,18 +59,6 @@
} catch (IllegalAccessException e) {
throw new InvocationRuntimeException(e);
}
- }
-
- public Message invoke(Message msg) {
- try {
- Object resp = invokeTarget(msg.getBody());
- msg.setBody(resp);
- } catch (InvocationTargetException e) {
- msg.setBody(e.getCause());
- } catch (Throwable e) {
- msg.setBody(e);
- }
- return msg;
}
protected abstract Object getInstance() throws TargetException;
Modified:
incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/invocation/MediationTestCase.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/invocation/MediationTestCase.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/invocation/MediationTestCase.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/invocation/MediationTestCase.java
Sat May 13 22:58:45 2006
@@ -17,14 +17,11 @@
import junit.framework.Assert;
import junit.framework.TestCase;
-
import org.apache.tuscany.container.java.invocation.mock.SimpleTargetImpl;
-import org.apache.tuscany.core.wire.MessageImpl;
-import org.apache.tuscany.spi.wire.Message;
/**
* Tests invoking on a different interface from the one actually implemented
by the target
- *
+ *
* @version $Rev$ $Date$
*/
public class MediationTestCase extends TestCase {
@@ -37,9 +34,7 @@
public void testMediation() throws Exception {
StaticJavaComponentTargetInvoker invoker = new
StaticJavaComponentTargetInvoker(hello, new SimpleTargetImpl());
- Message msg = new MessageImpl();
- msg.setBody("foo");
- Assert.assertEquals("foo", invoker.invoke(msg).getBody());
+ Assert.assertEquals("foo", invoker.invokeTarget("foo"));
}
public interface Hello {
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/AbstractCompositeContext.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/AbstractCompositeContext.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/AbstractCompositeContext.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/AbstractCompositeContext.java
Sat May 13 22:58:45 2006
@@ -11,6 +11,7 @@
import org.apache.tuscany.core.system.context.SystemServiceContext;
import org.apache.tuscany.spi.CoreRuntimeException;
+import org.apache.tuscany.spi.context.AbstractContext;
import org.apache.tuscany.spi.annotation.Autowire;
import org.apache.tuscany.spi.context.AtomicContext;
import org.apache.tuscany.spi.context.CompositeContext;
@@ -126,6 +127,22 @@
return (ServiceContext) ctx;
}
+ public Object getService(String name) throws TargetException {
+ Context context = children.get(name);
+ if (context == null) {
+ TargetNotFoundException e = new TargetNotFoundException(name);
+ e.addContextName(getName());
+ throw e;
+ } else if (context instanceof ServiceContext) {
+ return context.getService();
+ } else {
+ IllegalTargetException e = new IllegalTargetException("Target must
be a service");
+ e.setIdentifier(name);
+ e.addContextName(getName());
+ throw e;
+ }
+ }
+
public List<ReferenceContext> getReferenceContexts() {
return Collections.unmodifiableList(references);
}
@@ -218,22 +235,6 @@
}
} else {
return null;
- }
- }
-
- public Object getService(String name) throws TargetException {
- Context context = children.get(name);
- if (context == null) {
- TargetNotFoundException e = new TargetNotFoundException(name);
- e.addContextName(getName());
- throw e;
- } else if (context instanceof ServiceContext) {
- return context.getService();
- } else {
- IllegalTargetException e = new IllegalTargetException("Target must
be a service");
- e.setIdentifier(name);
- e.addContextName(getName());
- throw e;
}
}
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=406267&r1=406266&r2=406267&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
Sat May 13 22:58:45 2006
@@ -11,6 +11,7 @@
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
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/PojoInstanceWrapper.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/PojoInstanceWrapper.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/PojoInstanceWrapper.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/PojoInstanceWrapper.java
Sat May 13 22:58:45 2006
@@ -13,7 +13,7 @@
*/
package org.apache.tuscany.core.context;
-import org.apache.tuscany.core.AbstractLifecycle;
+import org.apache.tuscany.spi.AbstractLifecycle;
import org.apache.tuscany.spi.CoreRuntimeException;
import org.apache.tuscany.spi.context.AtomicContext;
import org.apache.tuscany.spi.context.InstanceWrapper;
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/ReferenceContextImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/ReferenceContextImpl.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/ReferenceContextImpl.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/ReferenceContextImpl.java
Sat May 13 22:58:45 2006
@@ -20,6 +20,7 @@
import org.apache.tuscany.core.wire.jdk.JDKInvocationHandler;
import org.apache.tuscany.spi.context.ReferenceContext;
import org.apache.tuscany.spi.context.TargetException;
+import org.apache.tuscany.spi.context.AbstractContext;
import org.apache.tuscany.spi.wire.ProxyCreationException;
import org.apache.tuscany.spi.wire.TargetInvocationChain;
import org.apache.tuscany.spi.wire.TargetWire;
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/ServiceContextImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/ServiceContextImpl.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/ServiceContextImpl.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/ServiceContextImpl.java
Sat May 13 22:58:45 2006
@@ -5,6 +5,7 @@
import org.apache.tuscany.core.wire.jdk.JDKInvocationHandler;
import org.apache.tuscany.spi.CoreRuntimeException;
+import org.apache.tuscany.spi.context.AbstractContext;
import org.apache.tuscany.spi.context.ServiceContext;
import org.apache.tuscany.spi.context.TargetException;
import org.apache.tuscany.spi.wire.ProxyCreationException;
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/AbstractScopeContext.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/AbstractScopeContext.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/AbstractScopeContext.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/AbstractScopeContext.java
Sat May 13 22:58:45 2006
@@ -6,8 +6,8 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
-import org.apache.tuscany.core.AbstractLifecycle;
-import org.apache.tuscany.core.context.event.filter.TrueFilter;
+import org.apache.tuscany.spi.AbstractLifecycle;
+import org.apache.tuscany.spi.event.TrueFilter;
import org.apache.tuscany.spi.context.Context;
import org.apache.tuscany.spi.context.InstanceWrapper;
import org.apache.tuscany.spi.context.ScopeContext;
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/CompositeScopeContext.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/CompositeScopeContext.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/CompositeScopeContext.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/CompositeScopeContext.java
Sat May 13 22:58:45 2006
@@ -16,7 +16,7 @@
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
-import org.apache.tuscany.core.AbstractLifecycle;
+import org.apache.tuscany.spi.AbstractLifecycle;
import org.apache.tuscany.model.Scope;
import org.apache.tuscany.spi.Lifecycle;
import org.apache.tuscany.spi.context.CompositeContext;
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/ModuleScopeContext.java
Sat May 13 22:58:45 2006
@@ -6,7 +6,7 @@
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import org.apache.tuscany.core.AbstractLifecycle;
+import org.apache.tuscany.spi.AbstractLifecycle;
import org.apache.tuscany.core.context.event.ModuleStart;
import org.apache.tuscany.core.context.event.ModuleStop;
import org.apache.tuscany.model.Scope;
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireSystemReferenceContext.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireSystemReferenceContext.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireSystemReferenceContext.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/AutowireSystemReferenceContext.java
Sat May 13 22:58:45 2006
@@ -3,7 +3,7 @@
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
-import org.apache.tuscany.core.context.AbstractContext;
+import org.apache.tuscany.spi.context.AbstractContext;
import org.apache.tuscany.core.context.AutowireContext;
import org.apache.tuscany.spi.context.CompositeContext;
import org.apache.tuscany.spi.context.ReferenceContext;
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemServiceContextImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemServiceContextImpl.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemServiceContextImpl.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemServiceContextImpl.java
Sat May 13 22:58:45 2006
@@ -3,7 +3,7 @@
import java.lang.reflect.Method;
import java.lang.reflect.InvocationHandler;
-import org.apache.tuscany.core.context.AbstractContext;
+import org.apache.tuscany.spi.context.AbstractContext;
import org.apache.tuscany.spi.CoreRuntimeException;
import org.apache.tuscany.spi.QualifiedName;
import org.apache.tuscany.spi.wire.TargetInvoker;
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemSingletonAtomicContext.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemSingletonAtomicContext.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemSingletonAtomicContext.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/context/SystemSingletonAtomicContext.java
Sat May 13 22:58:45 2006
@@ -6,7 +6,7 @@
import java.lang.reflect.Method;
import org.apache.tuscany.common.ObjectCreationException;
-import org.apache.tuscany.core.context.AbstractContext;
+import org.apache.tuscany.spi.context.AbstractContext;
import org.apache.tuscany.model.Scope;
import org.apache.tuscany.spi.context.AtomicContext;
import org.apache.tuscany.spi.context.InstanceWrapper;
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/InvokerInterceptor.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/InvokerInterceptor.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/InvokerInterceptor.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/InvokerInterceptor.java
Sat May 13 22:58:45 2006
@@ -13,6 +13,8 @@
*/
package org.apache.tuscany.core.wire;
+import java.lang.reflect.InvocationTargetException;
+
import org.apache.tuscany.spi.wire.Interceptor;
import org.apache.tuscany.spi.wire.Message;
import org.apache.tuscany.spi.wire.InvocationRuntimeException;
@@ -36,7 +38,15 @@
if (invoker == null) {
throw new InvocationRuntimeException("No target invoker specified
on message");
}
- return invoker.invoke(msg);
+ try {
+ Object resp = invoker.invokeTarget(msg.getBody());
+ msg.setBody(resp);
+ } catch (InvocationTargetException e) {
+ msg.setBody(e.getCause());
+ } catch (Throwable e) {
+ msg.setBody(e);
+ }
+ return msg;
}
public void setNext(Interceptor next) {
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockCompositeContext.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockCompositeContext.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockCompositeContext.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockCompositeContext.java
Sat May 13 22:58:45 2006
@@ -5,7 +5,7 @@
import java.util.List;
import java.util.Map;
-import org.apache.tuscany.core.context.AbstractContext;
+import org.apache.tuscany.spi.context.AbstractContext;
import org.apache.tuscany.spi.QualifiedName;
import org.apache.tuscany.spi.context.CompositeContext;
import org.apache.tuscany.spi.context.Context;
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockReferenceContext.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockReferenceContext.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockReferenceContext.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/MockReferenceContext.java
Sat May 13 22:58:45 2006
@@ -3,7 +3,7 @@
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
-import org.apache.tuscany.core.context.AbstractContext;
+import org.apache.tuscany.spi.context.AbstractContext;
import org.apache.tuscany.spi.context.ReferenceContext;
import org.apache.tuscany.spi.context.TargetException;
import org.apache.tuscany.spi.wire.TargetInvoker;
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/scope/MockScopeContext.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/scope/MockScopeContext.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/scope/MockScopeContext.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/mock/context/scope/MockScopeContext.java
Sat May 13 22:58:45 2006
@@ -3,7 +3,7 @@
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import org.apache.tuscany.core.AbstractLifecycle;
+import org.apache.tuscany.spi.AbstractLifecycle;
import org.apache.tuscany.core.context.scope.AbstractScopeContext;
import org.apache.tuscany.model.Scope;
import org.apache.tuscany.spi.context.AtomicContext;
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/wire/mock/MockStaticInvoker.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/wire/mock/MockStaticInvoker.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/wire/mock/MockStaticInvoker.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/wire/mock/MockStaticInvoker.java
Sat May 13 22:58:45 2006
@@ -1,17 +1,16 @@
package org.apache.tuscany.core.wire.mock;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
import org.apache.tuscany.spi.wire.Interceptor;
import org.apache.tuscany.spi.wire.InvocationRuntimeException;
import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.spi.wire.Message;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
/**
- * Caches component instances that do not need to be resolved for every wire,
e.g. an wire originating from
- * a lesser scope intended for a target with a wider scope
- *
+ * Caches component instances that do not need to be resolved for every wire,
e.g. an wire originating from a
+ * lesser scope intended for a target with a wider scope
+ *
* @version $Rev: 377006 $ $Date: 2006-02-11 09:41:59 -0800 (Sat, 11 Feb 2006)
$
*/
public class MockStaticInvoker implements TargetInvoker {
@@ -31,7 +30,7 @@
}
public void setCacheable(boolean cacheable) {
- this.cacheable = cacheable;
+ this.cacheable = cacheable;
}
public Object invokeTarget(Object payload) throws
InvocationTargetException {
@@ -44,18 +43,6 @@
} catch (IllegalAccessException e) {
throw new InvocationRuntimeException(e);
}
- }
-
- public Message invoke(Message msg) {
- try {
- Object resp = invokeTarget(msg.getBody());
- msg.setBody(resp);
- } catch (InvocationTargetException e) {
- msg.setBody(e.getCause());
- } catch (Throwable e) {
- msg.setBody(e);
- }
- return msg;
}
public void setNext(Interceptor next) {
Copied:
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/AbstractLifecycle.java
(from r406186,
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/AbstractLifecycle.java)
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/AbstractLifecycle.java?p2=incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/AbstractLifecycle.java&p1=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/AbstractLifecycle.java&r1=406186&r2=406267&rev=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/AbstractLifecycle.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/AbstractLifecycle.java
Sat May 13 22:58:45 2006
@@ -11,10 +11,7 @@
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
-package org.apache.tuscany.core;
-
-import org.apache.tuscany.spi.CoreRuntimeException;
-import org.apache.tuscany.spi.Lifecycle;
+package org.apache.tuscany.spi;
/**
* @version $Rev$ $Date$
@@ -56,47 +53,47 @@
}
public String toString() {
- if (name != null){
- switch (lifecycleState) {
- case (Lifecycle.CONFIG_ERROR):
- return new StringBuilder().append("[").append(name).append("]
in state [CONFIG_ERROR]").toString();
- case (Lifecycle.ERROR):
- return new StringBuilder().append("[").append(name).append("]
in state [ERROR]").toString();
- case (Lifecycle.INITIALIZING):
- return new StringBuilder().append("[").append(name).append("]
in state [INITIALIZING]").toString();
- case (Lifecycle.INITIALIZED):
- return new StringBuilder().append("[").append(name).append("]
in state [INITIALIZED]").toString();
- case (Lifecycle.RUNNING):
- return new StringBuilder().append("[").append(name).append("]
in state [RUNNING]").toString();
- case (Lifecycle.STOPPING):
- return new StringBuilder().append("[").append(name).append("]
in state [STOPPING]").toString();
- case (Lifecycle.STOPPED):
- return new StringBuilder().append("[").append(name).append("]
in state [STOPPED]").toString();
- case (Lifecycle.UNINITIALIZED):
- return new StringBuilder().append("[").append(name).append("]
in state [UNINITIALIZED]").toString();
- default:
- return new StringBuilder().append("[").append(name).append("]
in state [UNKNOWN]").toString();
+ if (name != null) {
+ switch (lifecycleState) {
+ case (Lifecycle.CONFIG_ERROR):
+ return new
StringBuilder().append("[").append(name).append("] in state
[CONFIG_ERROR]").toString();
+ case (Lifecycle.ERROR):
+ return new
StringBuilder().append("[").append(name).append("] in state
[ERROR]").toString();
+ case (Lifecycle.INITIALIZING):
+ return new
StringBuilder().append("[").append(name).append("] in state
[INITIALIZING]").toString();
+ case (Lifecycle.INITIALIZED):
+ return new
StringBuilder().append("[").append(name).append("] in state
[INITIALIZED]").toString();
+ case (Lifecycle.RUNNING):
+ return new
StringBuilder().append("[").append(name).append("] in state
[RUNNING]").toString();
+ case (Lifecycle.STOPPING):
+ return new
StringBuilder().append("[").append(name).append("] in state
[STOPPING]").toString();
+ case (Lifecycle.STOPPED):
+ return new
StringBuilder().append("[").append(name).append("] in state
[STOPPED]").toString();
+ case (Lifecycle.UNINITIALIZED):
+ return new
StringBuilder().append("[").append(name).append("] in state
[UNINITIALIZED]").toString();
+ default:
+ return new
StringBuilder().append("[").append(name).append("] in state
[UNKNOWN]").toString();
}
- }else{
+ } else {
switch (lifecycleState) {
- case (Lifecycle.CONFIG_ERROR):
- return new StringBuilder().append("state
[CONFIG_ERROR]").toString();
- case (Lifecycle.ERROR):
- return new StringBuilder().append("state [ERROR]").toString();
- case (Lifecycle.INITIALIZING):
- return new StringBuilder().append("state
[INITIALIZING]").toString();
- case (Lifecycle.INITIALIZED):
- return new StringBuilder().append("state
[INITIALIZED]").toString();
- case (Lifecycle.RUNNING):
- return new StringBuilder().append("state
[RUNNING]").toString();
- case (Lifecycle.STOPPING):
- return new StringBuilder().append("state
[STOPPING]").toString();
- case (Lifecycle.STOPPED):
- return new StringBuilder().append("state
[STOPPED]").toString();
- case (Lifecycle.UNINITIALIZED):
- return new StringBuilder().append("state
[UNINITIALIZED]").toString();
- default:
- return new StringBuilder().append("state
[UNKNOWN]").toString();
+ case (Lifecycle.CONFIG_ERROR):
+ return new StringBuilder().append("state
[CONFIG_ERROR]").toString();
+ case (Lifecycle.ERROR):
+ return new StringBuilder().append("state
[ERROR]").toString();
+ case (Lifecycle.INITIALIZING):
+ return new StringBuilder().append("state
[INITIALIZING]").toString();
+ case (Lifecycle.INITIALIZED):
+ return new StringBuilder().append("state
[INITIALIZED]").toString();
+ case (Lifecycle.RUNNING):
+ return new StringBuilder().append("state
[RUNNING]").toString();
+ case (Lifecycle.STOPPING):
+ return new StringBuilder().append("state
[STOPPING]").toString();
+ case (Lifecycle.STOPPED):
+ return new StringBuilder().append("state
[STOPPED]").toString();
+ case (Lifecycle.UNINITIALIZED):
+ return new StringBuilder().append("state
[UNINITIALIZED]").toString();
+ default:
+ return new StringBuilder().append("state
[UNKNOWN]").toString();
}
}
}
Copied:
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/AbstractContext.java
(from r406186,
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/AbstractContext.java)
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/AbstractContext.java?p2=incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/AbstractContext.java&p1=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/AbstractContext.java&r1=406186&r2=406267&rev=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/AbstractContext.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/AbstractContext.java
Sat May 13 22:58:45 2006
@@ -11,20 +11,18 @@
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
-package org.apache.tuscany.core.context;
+package org.apache.tuscany.spi.context;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
-import org.apache.tuscany.core.AbstractLifecycle;
-import org.apache.tuscany.core.context.event.filter.TrueFilter;
-import org.apache.tuscany.spi.context.CompositeContext;
-import org.apache.tuscany.spi.context.Context;
+import org.apache.tuscany.spi.event.TrueFilter;
import org.apache.tuscany.spi.event.Event;
import org.apache.tuscany.spi.event.EventFilter;
import org.apache.tuscany.spi.event.RuntimeEventListener;
+import org.apache.tuscany.spi.AbstractLifecycle;
/**
* Functionality common to all <code>Context<code> implementations
Modified:
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/CompositeContext.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/CompositeContext.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/CompositeContext.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/CompositeContext.java
Sat May 13 22:58:45 2006
@@ -30,8 +30,9 @@
* Register a Context as a child of this composite.
*
* @param context the context to add as a child
+ * @throws InvalidContextTypeException
*/
- void registerContext(Context context);
+ void registerContext(Context context) throws InvalidContextTypeException;
/**
* Returns the child context associated with a given name
Added:
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/InvalidContextTypeException.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/InvalidContextTypeException.java?rev=406267&view=auto
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/InvalidContextTypeException.java
(added)
+++
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/context/InvalidContextTypeException.java
Sat May 13 22:58:45 2006
@@ -0,0 +1,21 @@
+package org.apache.tuscany.spi.context;
+
+/**
+ * @version $$Rev$$ $$Date$$
+ */
+public class InvalidContextTypeException extends ContextRuntimeException{
+ public InvalidContextTypeException() {
+ }
+
+ public InvalidContextTypeException(String message) {
+ super(message);
+ }
+
+ public InvalidContextTypeException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public InvalidContextTypeException(Throwable cause) {
+ super(cause);
+ }
+}
Copied:
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/event/TrueFilter.java
(from r406186,
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/event/filter/TrueFilter.java)
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/event/TrueFilter.java?p2=incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/event/TrueFilter.java&p1=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/event/filter/TrueFilter.java&r1=406186&r2=406267&rev=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/event/filter/TrueFilter.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/event/TrueFilter.java
Sat May 13 22:58:45 2006
@@ -1,7 +1,4 @@
-package org.apache.tuscany.core.context.event.filter;
-
-import org.apache.tuscany.spi.event.Event;
-import org.apache.tuscany.spi.event.EventFilter;
+package org.apache.tuscany.spi.event;
/**
* An event filter that always returns a true condition
Modified:
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicContextExtension.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicContextExtension.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicContextExtension.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicContextExtension.java
Sat May 13 22:58:45 2006
@@ -1,37 +1,15 @@
package org.apache.tuscany.spi.extension;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import org.apache.tuscany.model.Scope;
-import org.apache.tuscany.spi.CoreRuntimeException;
import org.apache.tuscany.spi.context.AtomicContext;
-import org.apache.tuscany.spi.context.CompositeContext;
import org.apache.tuscany.spi.context.ScopeContext;
-import org.apache.tuscany.spi.context.TargetException;
-import org.apache.tuscany.spi.event.Event;
-import org.apache.tuscany.spi.event.EventFilter;
-import org.apache.tuscany.spi.event.RuntimeEventListener;
-import org.apache.tuscany.spi.wire.SourceWire;
-import org.apache.tuscany.spi.wire.TargetWire;
/**
* @version $$Rev$$ $$Date$$
*/
-public abstract class AtomicContextExtension implements AtomicContext {
+public abstract class AtomicContextExtension<T> extends
ComponentContextExtension<T> implements AtomicContext<T> {
protected ScopeContext scopeContext;
- protected String name;
- protected CompositeContext parent;
- protected int lifecycleState = UNINITIALIZED;
- protected Map<String, TargetWire> targetWires = new HashMap<String,
TargetWire>();
- protected List<SourceWire> sourceWires = new ArrayList<SourceWire>();
-
- public List getServiceInterfaces() {
- return null;
- }
public Scope getScope() {
if (scopeContext != null) {
@@ -44,82 +22,5 @@
public void setScopeContext(ScopeContext context) {
scopeContext = context;
}
-
- public Object getService() throws TargetException {
- return null;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public CompositeContext getParent() {
- return parent;
- }
-
- public void setParent(CompositeContext parent) {
- this.parent = parent;
- }
-
- public void publish(Event object) {
-
- }
-
- public void addListener(RuntimeEventListener listener) {
-
- }
-
- public void addListener(EventFilter filter, RuntimeEventListener listener)
{
-
- }
-
- public void removeListener(RuntimeEventListener listener) {
-
- }
-
- public int getLifecycleState() {
- return lifecycleState;
- }
-
- public void start() throws CoreRuntimeException {
- lifecycleState = RUNNING;
- }
-
- public void stop() throws CoreRuntimeException {
- lifecycleState = STOPPED;
- }
-
- public void addTargetWire(TargetWire wire) {
- targetWires.put(wire.getServiceName(), wire);
- }
-
- public TargetWire getTargetWire(String serviceName) {
- return targetWires.get(serviceName);
- }
-
- public Map<String, TargetWire> getTargetWires() {
- return targetWires;
- }
-
- public void addSourceWire(SourceWire wire) {
- sourceWires.add(wire);
- }
-
- public List<SourceWire> getSourceWires() {
- return sourceWires;
- }
-
- public void prepare() {
-
- }
-
- public void addSourceWires(Class multiplicityClass, List wires) {
- // TODO implement
- }
-
}
Added:
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentContextExtension.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentContextExtension.java?rev=406267&view=auto
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentContextExtension.java
(added)
+++
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentContextExtension.java
Sat May 13 22:58:45 2006
@@ -0,0 +1,51 @@
+package org.apache.tuscany.spi.extension;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.tuscany.spi.context.AbstractContext;
+import org.apache.tuscany.spi.context.ComponentContext;
+import org.apache.tuscany.spi.wire.SourceWire;
+import org.apache.tuscany.spi.wire.TargetWire;
+
+/**
+ * @version $$Rev$$ $$Date$$
+ */
+public abstract class ComponentContextExtension<T> extends AbstractContext<T>
implements ComponentContext<T> {
+
+ protected Map<String, TargetWire> targetWires = new HashMap<String,
TargetWire>();
+ protected List<SourceWire> sourceWires = new ArrayList<SourceWire>();
+
+ public void addTargetWire(TargetWire wire) {
+ targetWires.put(wire.getServiceName(), wire);
+ }
+
+ public TargetWire getTargetWire(String serviceName) {
+ return targetWires.get(serviceName);
+ }
+
+ public Map<String, TargetWire> getTargetWires() {
+ return targetWires;
+ }
+
+ public void addSourceWire(SourceWire wire) {
+ sourceWires.add(wire);
+ }
+
+ public List<SourceWire> getSourceWires() {
+ return sourceWires;
+ }
+
+ public void addSourceWires(Class multiplicityClass, List wires) {
+ // TODO implement
+ }
+
+
+ public void prepare() {
+
+ }
+
+
+}
Added:
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeContextExtension.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeContextExtension.java?rev=406267&view=auto
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeContextExtension.java
(added)
+++
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeContextExtension.java
Sat May 13 22:58:45 2006
@@ -0,0 +1,104 @@
+package org.apache.tuscany.spi.extension;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.tuscany.spi.context.CompositeContext;
+import org.apache.tuscany.spi.context.Context;
+import org.apache.tuscany.spi.context.ContextNotFoundException;
+import org.apache.tuscany.spi.context.IllegalTargetException;
+import org.apache.tuscany.spi.context.InvalidContextTypeException;
+import org.apache.tuscany.spi.context.ReferenceContext;
+import org.apache.tuscany.spi.context.ServiceContext;
+import org.apache.tuscany.spi.context.TargetException;
+import org.apache.tuscany.spi.context.TargetNotFoundException;
+import org.apache.tuscany.spi.event.Event;
+
+/**
+ * @version $$Rev$$ $$Date$$
+ */
+public abstract class CompositeContextExtension<T> extends
ComponentContextExtension implements CompositeContext {
+
+ protected Map<String, Context> children = new ConcurrentHashMap<String,
Context>();
+ protected final List<ServiceContext> services = new
ArrayList<ServiceContext>();
+ protected List<ReferenceContext> references = new
ArrayList<ReferenceContext>();
+
+ public void registerContext(Context context) {
+ assert(context != null): "Context was null";
+ if (context instanceof ServiceContext) {
+ } else if (context instanceof ReferenceContext) {
+ } else {
+ InvalidContextTypeException e = new
InvalidContextTypeException(context.getClass().getName());
+ e.setIdentifier(context.getName());
+ e.addContextName(getName());
+ throw e;
+ }
+ }
+
+ public Context getContext(String name) {
+ return children.get(name);
+ }
+
+ public List<ServiceContext> getServiceContexts() {
+ return Collections.unmodifiableList(services);
+ }
+
+ public ServiceContext getServiceContext(String name) {
+ Context ctx = children.get(name);
+ if (ctx == null) {
+ ContextNotFoundException e = new ContextNotFoundException("Service
context not found");
+ e.setIdentifier(name);
+ e.addContextName(getName());
+ throw e;
+ } else if (!(ctx instanceof ServiceContext)) {
+ ContextNotFoundException e = new ContextNotFoundException("Context
not a service context");
+ e.setIdentifier(name);
+ e.addContextName(getName());
+ throw e;
+ }
+ return (ServiceContext) ctx;
+ }
+
+ public List<ReferenceContext> getReferenceContexts() {
+ return Collections.unmodifiableList(references);
+ }
+
+ public T getService() throws TargetException {
+ return null; //TODO implement
+ }
+
+ public Object getService(String name) throws TargetException {
+ Context context = children.get(name);
+ if (context == null) {
+ TargetNotFoundException e = new TargetNotFoundException(name);
+ e.addContextName(getName());
+ throw e;
+ } else if (context instanceof ServiceContext) {
+ return context.getService();
+ } else {
+ IllegalTargetException e = new IllegalTargetException("Target must
be a service");
+ e.setIdentifier(name);
+ e.addContextName(getName());
+ throw e;
+ }
+ }
+
+ public List getServiceInterfaces() {
+ List<Class<?>> serviceInterfaces = new
ArrayList<Class<?>>(services.size());
+ synchronized (services) {
+ for (ServiceContext serviceContext : services) {
+ serviceInterfaces.add(serviceContext.getInterface());
+ }
+ }
+ return serviceInterfaces;
+ }
+
+ public void onEvent(Event event) {
+
+ }
+
+
+}
\ No newline at end of file
Modified:
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetInvoker.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetInvoker.java?rev=406267&r1=406266&r2=406267&view=diff
==============================================================================
---
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetInvoker.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetInvoker.java
Sat May 13 22:58:45 2006
@@ -19,19 +19,15 @@
import java.lang.reflect.InvocationTargetException;
/**
- * Implementations are responsible for resolving a target and performing the
actual invocation on it, for example, a
- * service component implementation instance or an external service client.
- *
+ * Implementations are responsible for resolving a target and performing the
actual invocation on it, for
+ * example, a service component implementation instance or an external service
client.
+ *
* @version $Rev: 395162 $ $Date: 2006-04-19 01:07:36 -0700 (Wed, 19 Apr 2006)
$
*/
-public interface TargetInvoker extends Interceptor, Cloneable{
+public interface TargetInvoker extends Cloneable {
/**
- * Responsible for invoking an operation on a target with the given payload
- *
- * @param payload the parameters of the target operation or null
- * @throws InvocationTargetException if the target operation itself throws
an exception. The root cause will be set
- * to that exception
+ * Responsible for invoking an operation on a target with the given message
*/
public Object invokeTarget(Object payload) throws
InvocationTargetException;