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/08/06 05:00:00 UTC
svn commit: r429096 [2/2] - in /incubator/tuscany/java/sca:
bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/
bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/
bindings/binding.celtix/src/main/java/org/apache/t...
Modified: incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/builder/Connector.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/builder/Connector.java?rev=429096&r1=429095&r2=429096&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/builder/Connector.java (original)
+++ incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/builder/Connector.java Sat Aug 5 19:59:58 2006
@@ -1,9 +1,6 @@
package org.apache.tuscany.spi.builder;
-import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.SCAObject;
-import org.apache.tuscany.spi.model.Scope;
import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.spi.wire.OutboundWire;
@@ -14,21 +11,23 @@
*/
public interface Connector {
+ /**
+ * Connects the given artifact to a target in its composite
+ *
+ * @param source the source artifact to context, i.e. a <code>Service</code>, <code>Component</code>, or
+ * <code>Reference</code>
+ */
<T> void connect(SCAObject<T> source);
+ /**
+ * Bridges the invocation chains associated with an inbound and outbound wire.
+ *
+ * @param inboundWire the wire to bridge from
+ * @param outboundWire the target wire
+ * @param optimizable if the bridge may be optimized
+ * @throws BuilderConfigException
+ */
<T> void connect(InboundWire<T> inboundWire, OutboundWire<T> outboundWire, boolean optimizable)
throws BuilderConfigException;
-
- <T> void connect(AtomicComponent<?> source,
- OutboundWire<T> outboundWire,
- CompositeComponent<?> parent,
- Scope sourceScope)
- throws BuilderConfigException;
-
- <T> void connect(OutboundWire<T> sourceWire,
- InboundWire<T> targetWire,
- AtomicComponent<?> source,
- SCAObject<?> target,
- boolean optimizable);
}
Modified: incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/component/Component.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/component/Component.java?rev=429096&r1=429095&r2=429096&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/component/Component.java (original)
+++ incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/component/Component.java Sat Aug 5 19:59:58 2006
@@ -39,6 +39,11 @@
InboundWire getInboundWire(String serviceName);
/**
+ * Returns a map of inbound wires for a service.
+ */
+ Map<String, InboundWire> getInboundWires();
+
+ /**
* Adds a source-side wire for the given reference. Source-side wires contain the invocation chains for a reference
* in the implementation associated with the instance wrapper created by this configuration.
*/
Modified: incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/component/Reference.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/component/Reference.java?rev=429096&r1=429095&r2=429096&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/component/Reference.java (original)
+++ incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/component/Reference.java Sat Aug 5 19:59:58 2006
@@ -34,10 +34,16 @@
* Callback to create a {@link org.apache.tuscany.spi.wire.TargetInvoker} which dispatches to the target service of
* the reference
*
- * @param serviceName the name of the service
- * @param operation the operation to invoke
+ * @param operation the operation to invoke
*/
- TargetInvoker createTargetInvoker(String serviceName, Method operation);
+ TargetInvoker createTargetInvoker(Method operation);
+ /**
+ * Callback to create a {@link org.apache.tuscany.spi.wire.TargetInvoker} which issues a non-blocking dispatch
+ *
+ * @param operation the operation to invoke
+ * @param wire the outbound wire of the invocation source, used for callbacks
+ */
+ TargetInvoker createAsyncTargetInvoker(Method operation, OutboundWire wire);
}
Modified: incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java?rev=429096&r1=429095&r2=429096&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java (original)
+++ incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java Sat Aug 5 19:59:58 2006
@@ -1,10 +1,11 @@
package org.apache.tuscany.spi.extension;
+import java.lang.reflect.Method;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.lang.reflect.Method;
import org.apache.tuscany.spi.CoreRuntimeException;
import org.apache.tuscany.spi.component.AbstractSCAObject;
@@ -14,11 +15,10 @@
import org.apache.tuscany.spi.component.TargetException;
import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.wire.InboundInvocationChain;
import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.spi.wire.OutboundWire;
-import org.apache.tuscany.spi.wire.WireService;
import org.apache.tuscany.spi.wire.TargetInvoker;
+import org.apache.tuscany.spi.wire.WireService;
/**
* An extension point for atomic component type, which new implementation types may extend
@@ -89,6 +89,10 @@
}
}
+ public Map<String, InboundWire> getInboundWires() {
+ return Collections.unmodifiableMap(serviceWires);
+ }
+
public void addOutboundWire(OutboundWire wire) {
List<OutboundWire> list = new ArrayList<OutboundWire>();
list.add(wire);
@@ -97,22 +101,13 @@
}
public Map<String, List<OutboundWire>> getOutboundWires() {
- return referenceWires;
+ return Collections.unmodifiableMap(referenceWires);
}
public void addOutboundWires(Class<?> multiplicityClass, List<OutboundWire> wires) {
assert wires != null && wires.size() > 0;
referenceWires.put(wires.get(0).getReferenceName(), wires);
onReferenceWires(multiplicityClass, wires);
- }
-
- public void prepare() {
- for (InboundWire<T> inboundWire : serviceWires.values()) {
- for (InboundInvocationChain chain : inboundWire.getInvocationChains().values()) {
- chain.setTargetInvoker(createTargetInvoker(inboundWire.getServiceName(), chain.getMethod()));
- chain.prepare();
- }
- }
}
public TargetInvoker createAsyncTargetInvoker(String serviceName, Method operation, OutboundWire wire) {
Modified: incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java?rev=429096&r1=429095&r2=429096&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java (original)
+++ incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java Sat Aug 5 19:59:58 2006
@@ -1,6 +1,7 @@
package org.apache.tuscany.spi.extension;
import org.osoa.sca.annotations.Init;
+import org.osoa.sca.annotations.Scope;
import org.apache.tuscany.spi.annotation.Autowire;
import org.apache.tuscany.spi.builder.BindingBuilder;
@@ -19,7 +20,7 @@
*
* @version $$Rev$$ $$Date$$
*/
-@org.osoa.sca.annotations.Scope("MODULE")
+@Scope("MODULE")
public abstract class BindingBuilderExtension<B extends Binding> implements BindingBuilder<B> {
protected BuilderRegistry builderRegistry;
Modified: incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java?rev=429096&r1=429095&r2=429096&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java (original)
+++ incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java Sat Aug 5 19:59:58 2006
@@ -3,6 +3,7 @@
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -164,16 +165,27 @@
}
public InboundWire getInboundWire(String serviceName) {
- SCAObject context = children.get(serviceName);
- if (!(context instanceof Service)) {
+ SCAObject object = children.get(serviceName);
+ if (!(object instanceof Service)) {
throw new ComponentNotFoundException(serviceName);
}
- return ((Service) context).getInboundWire();
+ return ((Service) object).getInboundWire();
}
+ public Map<String, InboundWire> getInboundWires() {
+ synchronized (services) {
+ Map<String, InboundWire> map = new HashMap<String, InboundWire>();
+ for (Service service : services) {
+ map.put(service.getName(), service.getInboundWire());
+ }
+ return map;
+ }
+ }
+
+
public void prepare() {
- for (SCAObject context : children.values()) {
- context.prepare();
+ for (SCAObject object : children.values()) {
+ object.prepare();
}
}
Modified: incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ReferenceExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ReferenceExtension.java?rev=429096&r1=429095&r2=429096&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ReferenceExtension.java (original)
+++ incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ReferenceExtension.java Sat Aug 5 19:59:58 2006
@@ -13,14 +13,16 @@
*/
package org.apache.tuscany.spi.extension;
+import java.lang.reflect.Method;
+
import org.apache.tuscany.spi.component.AbstractSCAObject;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.Reference;
import org.apache.tuscany.spi.component.TargetException;
import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.wire.InboundInvocationChain;
import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.spi.wire.OutboundWire;
+import org.apache.tuscany.spi.wire.TargetInvoker;
import org.apache.tuscany.spi.wire.WireInvocationHandler;
import org.apache.tuscany.spi.wire.WireService;
@@ -74,18 +76,11 @@
}
public WireInvocationHandler getHandler() throws TargetException {
- //Map<Method, InboundInvocationChain> configuration = inboundWire.getInvocationChains();
return wireService.createHandler(inboundWire);
- //return new JDKInboundInvocationHandler(configuration);
}
- public void prepare() {
- assert inboundWire != null : "Inbound wire not set";
- for (InboundInvocationChain chain : inboundWire.getInvocationChains().values()) {
- chain.setTargetInvoker(createTargetInvoker(outboundWire.getTargetName().getQualifiedName(),
- chain.getMethod()));
- chain.prepare();
- }
+ public TargetInvoker createAsyncTargetInvoker(Method operation, OutboundWire wire) {
+ throw new UnsupportedOperationException();
}
}
Modified: incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ServiceExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ServiceExtension.java?rev=429096&r1=429095&r2=429096&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ServiceExtension.java (original)
+++ incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ServiceExtension.java Sat Aug 5 19:59:58 2006
@@ -18,13 +18,15 @@
*/
public class ServiceExtension<T> extends AbstractSCAObject<T> implements Service<T> {
+ protected Class<T> interfaze;
protected InboundWire<T> inboundWire;
protected OutboundWire<T> outboundWire;
protected WireService wireService;
- public ServiceExtension(String name, CompositeComponent parent, WireService wireService)
+ public ServiceExtension(String name, Class<T> interfaze, CompositeComponent parent, WireService wireService)
throws CoreRuntimeException {
super(name, parent);
+ this.interfaze = interfaze;
this.wireService = wireService;
}
@@ -37,7 +39,6 @@
}
public void setInboundWire(InboundWire<T> wire) {
- //target = null;
inboundWire = wire;
}
@@ -58,8 +59,7 @@
}
public Class<T> getInterface() {
- assert inboundWire != null : "Inbound wire not set";
- return inboundWire.getBusinessInterface();
+ return interfaze;
}
}
Modified: incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java?rev=429096&r1=429095&r2=429096&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java (original)
+++ incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java Sat Aug 5 19:59:58 2006
@@ -1,5 +1,7 @@
package org.apache.tuscany.spi.wire;
+import java.lang.reflect.Method;
+
/**
* Creates proxies that implement Java interfaces and invocation handlers for fronting wires
*
@@ -15,5 +17,14 @@
WireInvocationHandler createHandler(RuntimeWire<?> wire);
WireInvocationHandler createCallbackHandler();
+
+ OutboundWire createOutboundWire();
+
+ InboundWire createInboundWire();
+
+ OutboundInvocationChain createOutboundChain(Method operation);
+
+ InboundInvocationChain createInboundChain(Method operation);
+
}
Modified: incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java?rev=429096&r1=429095&r2=429096&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java (original)
+++ incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java Sat Aug 5 19:59:58 2006
@@ -15,8 +15,8 @@
import org.apache.tuscany.spi.event.Event;
import org.apache.tuscany.spi.event.RuntimeEventListener;
import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.wire.TargetInvoker;
import org.apache.tuscany.spi.wire.OutboundWire;
+import org.apache.tuscany.spi.wire.TargetInvoker;
import junit.framework.TestCase;
import static org.easymock.EasyMock.createMock;
@@ -45,9 +45,9 @@
public void testDuplicateName() {
Composite composite = new Composite();
- composite.register(new ServiceExtension("foo", null, null));
+ composite.register(new ServiceExtension<Object>("foo", null, null, null));
try {
- composite.register(new ServiceExtension("foo", null, null));
+ composite.register(new ServiceExtension<Object>("foo", null, null, null));
fail();
} catch (DuplicateNameException e) {
// expected
@@ -56,27 +56,27 @@
public void testGetChildren() {
Composite composite = new Composite();
- composite.register(new ServiceExtension("foo", null, null));
+ composite.register(new ServiceExtension<Object>("foo", null, null, null));
assertEquals(1, composite.getChildren().size());
}
public void testGetServices() {
Composite composite = new Composite();
- composite.register(new ServiceExtension("foo", null, null));
+ composite.register(new ServiceExtension<Object>("foo", null, null, null));
composite.register(getReference("bar"));
assertEquals(1, composite.getServices().size());
}
public void testGetService() {
Composite composite = new Composite();
- composite.register(new ServiceExtension("foo", null, null));
+ composite.register(new ServiceExtension<Object>("foo", null, null, null));
composite.start();
assertNotNull(composite.getService("foo"));
}
public void testServiceNotFound() {
Composite composite = new Composite();
- composite.register(new ServiceExtension("foo", null, null));
+ composite.register(new ServiceExtension<Object>("foo", null, null, null));
composite.start();
try {
composite.getService("bar");
@@ -100,7 +100,7 @@
public void testReferencesServices() {
Composite composite = new Composite();
- composite.register(new ServiceExtension("foo", null, null));
+ composite.register(new ServiceExtension<Object>("foo", null, null, null));
composite.register(getReference("bar"));
assertEquals(1, composite.getReferences().size());
}
Modified: incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ReferenceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ReferenceTestCase.java?rev=429096&r1=429095&r2=429096&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ReferenceTestCase.java (original)
+++ incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ReferenceTestCase.java Sat Aug 5 19:59:58 2006
@@ -68,7 +68,7 @@
super(name, parent, wireService);
}
- public TargetInvoker createTargetInvoker(String serviceName, Method operation) {
+ public TargetInvoker createTargetInvoker(Method operation) {
return null;
}
}
Modified: incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ServiceExtensionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ServiceExtensionTestCase.java?rev=429096&r1=429095&r2=429096&view=diff
==============================================================================
--- incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ServiceExtensionTestCase.java (original)
+++ incubator/tuscany/java/sca/spi/src/test/java/org/apache/tuscany/spi/extension/ServiceExtensionTestCase.java Sat Aug 5 19:59:58 2006
@@ -14,23 +14,24 @@
public class ServiceExtensionTestCase extends TestCase {
public void testScope() throws Exception {
- ServiceExtension service = new ServiceExtension(null, null, null);
+ ServiceExtension<Object> service = new ServiceExtension<Object>(null, null, null, null);
assertEquals(Scope.COMPOSITE, service.getScope());
}
+ @SuppressWarnings("unchecked")
public void testSetGetInterface() throws Exception {
InboundWire wire = createMock(InboundWire.class);
wire.getBusinessInterface();
expectLastCall().andReturn(getClass());
replay(wire);
- ServiceExtension<?> service = new ServiceExtension(null, null, null);
+ ServiceExtension<?> service = new ServiceExtension(null, null, null, null);
service.setInboundWire(wire);
service.getInterface();
}
public void testPrepare() throws Exception {
- ServiceExtension service = new ServiceExtension(null, null, null);
+ ServiceExtension<Object> service = new ServiceExtension<Object>(null, null, null, null);
service.prepare();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org