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