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 2007/01/08 15:56:37 UTC

svn commit: r494083 - in /incubator/tuscany/java/sca/kernel/spi/src: main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java

Author: jmarino
Date: Mon Jan  8 06:56:36 2007
New Revision: 494083

URL: http://svn.apache.org/viewvc?view=rev&rev=494083
Log:
implement getOutboundWires()

Modified:
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java
    incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java?view=diff&rev=494083&r1=494082&r2=494083
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java Mon Jan  8 06:56:36 2007
@@ -22,6 +22,7 @@
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
+import java.util.HashMap;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.w3c.dom.Document;
@@ -180,7 +181,17 @@
     }
 
     public Map<String, List<OutboundWire>> getOutboundWires() {
-        return null;
+        synchronized (references) {
+            Map<String, List<OutboundWire>> map = new HashMap<String, List<OutboundWire>>();
+            for (Reference reference : references) {
+                List<OutboundWire> wires = new ArrayList<OutboundWire>();
+                map.put(reference.getName(), wires);
+                for (ReferenceBinding binding : reference.getReferenceBindings()) {
+                    wires.add(binding.getOutboundWire());
+                }
+            }
+            return map;
+        }
     }
 
     public InboundWire getInboundWire(String serviceName) {

Modified: incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java?view=diff&rev=494083&r1=494082&r2=494083
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java Mon Jan  8 06:56:36 2007
@@ -21,9 +21,12 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.Map;
 import javax.xml.namespace.QName;
 
 import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.ReferenceBinding;
 import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.component.Service;
 import org.apache.tuscany.spi.component.ServiceBinding;
@@ -31,6 +34,7 @@
 import org.apache.tuscany.spi.model.Operation;
 import org.apache.tuscany.spi.model.ServiceContract;
 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.Wire;
 
@@ -126,7 +130,7 @@
     }
 
     public void testInboundWire() throws Exception {
-        ServiceContract<?> contract = new ServiceContract(Object.class) {
+        ServiceContract<Object> contract = new ServiceContract<Object>(Object.class) {
         };
         InboundWire wire = EasyMock.createMock(InboundWire.class);
         EasyMock.expect(wire.getBindingType()).andReturn(Wire.LOCAL_BINDING);
@@ -149,8 +153,30 @@
         assertNotNull(composite.getInboundWire("service"));
     }
 
+
+    public void testGetOutboundWires() throws Exception {
+        ServiceContract<Object> contract = new ServiceContract<Object>(Object.class) {
+        };
+        InboundWire wire = EasyMock.createMock(InboundWire.class);
+        wire.getServiceContract();
+        EasyMock.expectLastCall().andReturn(contract).atLeastOnce();
+        EasyMock.replay(wire);
+        ReferenceBinding binding = EasyMock.createMock(ReferenceBinding.class);
+        EasyMock.expect(binding.getInboundWire()).andReturn(wire).atLeastOnce();
+        EasyMock.replay(binding);
+        Reference reference = EasyMock.createMock(Reference.class);
+        EasyMock.expect(reference.getName()).andReturn("reference").atLeastOnce();
+        EasyMock.expect(reference.isSystem()).andReturn(false).atLeastOnce();
+        List<ReferenceBinding> bindings = new ArrayList<ReferenceBinding>();
+        EasyMock.expect(reference.getReferenceBindings()).andReturn(bindings).atLeastOnce();
+        EasyMock.replay(reference);
+        composite.register(reference);
+        Map<String, List<OutboundWire>> wires = composite.getOutboundWires();
+        assertNotNull(wires.get("reference"));
+    }
+
     public void testInboundSystemWire() throws Exception {
-        ServiceContract<?> contract = new ServiceContract(Object.class) {
+        ServiceContract<Object> contract = new ServiceContract<Object>(Object.class) {
         };
         InboundWire wire = EasyMock.createMock(InboundWire.class);
         EasyMock.expect(wire.getBindingType()).andReturn(Wire.LOCAL_BINDING);
@@ -175,7 +201,7 @@
 
     protected void setUp() throws Exception {
         super.setUp();
-        contract = new ServiceContract(Object.class) {
+        contract = new ServiceContract<Object>(Object.class) {
 
         };
         composite = new CompositeComponentExtension("foo", null, null, null) {



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org