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/07 11:38:02 UTC

svn commit: r493691 - in /incubator/tuscany/java/sca/kernel/core/src: main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContext.java test/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContextTestCase.java

Author: jmarino
Date: Sun Jan  7 02:38:01 2007
New Revision: 493691

URL: http://svn.apache.org/viewvc?view=rev&rev=493691
Log:
more context refactoring

Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContext.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContextTestCase.java

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContext.java?view=diff&rev=493691&r1=493690&r2=493691
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContext.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContext.java Sun Jan  7 02:38:01 2007
@@ -25,6 +25,7 @@
 import org.apache.tuscany.spi.QualifiedName;
 import org.apache.tuscany.spi.component.Component;
 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.SCAObject;
 import org.apache.tuscany.spi.component.Service;
@@ -92,8 +93,17 @@
             if (wire == null) {
                 throw new ServiceRuntimeException("Local binding for service not found [" + name + "]");
             }
-        } else if (child instanceof ReferenceBinding) {
-            wire = ((ReferenceBinding) child).getInboundWire();
+        } else if (child instanceof Reference) {
+            Reference service = (Reference) child;
+            for (ReferenceBinding binding : service.getReferenceBindings()) {
+                if (Wire.LOCAL_BINDING.equals(binding.getInboundWire().getBindingType())) {
+                    wire = binding.getInboundWire();
+                    break;
+                }
+            }
+            if (wire == null) {
+                throw new ServiceRuntimeException("Local binding for service not found [" + name + "]");
+            }
         } else if (child == null) {
             throw new ServiceRuntimeException("Service not found [" + serviceName + "]");
         } else {

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContextTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContextTestCase.java?view=diff&rev=493691&r1=493690&r2=493691
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContextTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContextTestCase.java Sun Jan  7 02:38:01 2007
@@ -7,12 +7,14 @@
 
 import org.apache.tuscany.spi.component.AtomicComponent;
 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.Service;
 import org.apache.tuscany.spi.component.ServiceBinding;
 import org.apache.tuscany.spi.idl.java.JavaServiceContract;
 import org.apache.tuscany.spi.model.ServiceContract;
 import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.wire.Wire;
 import org.apache.tuscany.spi.wire.WireService;
 
 import junit.framework.TestCase;
@@ -177,17 +179,21 @@
     public void testReferenceLocate() throws Exception {
         InboundWire wire = EasyMock.createMock(InboundWire.class);
         EasyMock.expect(wire.isOptimizable()).andReturn(false);
+        EasyMock.expect(wire.getBindingType()).andReturn(Wire.LOCAL_BINDING);
         EasyMock.replay(wire);
-        ReferenceBinding child = EasyMock.createMock(ReferenceBinding.class);
-        EasyMock.expect(child.getInboundWire()).andReturn(wire);
-        EasyMock.replay(child);
+
+        ReferenceBinding binding = EasyMock.createMock(ReferenceBinding.class);
+        EasyMock.expect(binding.getInboundWire()).andReturn(wire).atLeastOnce();
+        binding.setReference(EasyMock.isA(Reference.class));
+        EasyMock.replay(binding);
+        Reference reference = new ReferenceImpl("Foo", null, null);
+        reference.addReferenceBinding(binding);
         CompositeComponent composite = EasyMock.createMock(CompositeComponent.class);
-        EasyMock.expect(composite.getChild("Foo")).andReturn(child);
+        EasyMock.expect(composite.getChild("Foo")).andReturn(reference);
         EasyMock.replay(composite);
-
         WireService service = EasyMock.createMock(WireService.class);
         EasyMock.expect(
-            service.createProxy(EasyMock.eq(AbstractCompositeContextTestCase.FooService.class), EasyMock.eq(wire)))
+            service.createProxy(EasyMock.eq(FooService.class), EasyMock.eq(wire)))
             .andReturn(new AbstractCompositeContextTestCase.FooService() {
             });
         EasyMock.replay(service);
@@ -196,7 +202,7 @@
         EasyMock.verify(service);
         EasyMock.verify(composite);
         EasyMock.verify(wire);
-        EasyMock.verify(child);
+        EasyMock.verify(binding);
     }
 
     public void testCompositeLocate() throws Exception {



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