Author: jmarino
Date: Mon Jan  1 14:39:34 2007
New Revision: 491664

URL: http://svn.apache.org/viewvc?view=rev&rev=491664
Log:
more test coverage; minor api refactor for WireService

Modified:
    
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
    
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java
    
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java
    
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java
    
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/WireServiceExtensionTestCase.java
    
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java?view=diff&rev=491664&r1=491663&r2=491664
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
 Mon Jan  1 14:39:34 2007
@@ -156,7 +156,7 @@
                 }
                 String path = uri.getPath();
                 ServiceContract<?> contract = 
boundServiceDefinition.getServiceContract();
-                wireService.createWires(binding, path, contract);
+                wireService.createWires(binding, contract, path);
             }
             service.addServiceBinding(binding);
         }

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java?view=diff&rev=491664&r1=491663&r2=491664
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java
 Mon Jan  1 14:39:34 2007
@@ -21,10 +21,10 @@
 import java.util.Map;
 
 import org.apache.tuscany.spi.QualifiedName;
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.ReferenceBinding;
 import org.apache.tuscany.spi.component.ServiceBinding;
 import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.model.ComponentDefinition;
 import org.apache.tuscany.spi.model.ComponentType;
 import org.apache.tuscany.spi.model.Implementation;
@@ -143,7 +143,7 @@
         referenceBinding.setOutboundWire(outboundWire);
     }
 
-    public void createWires(ServiceBinding serviceBinding, String targetName, 
ServiceContract<?> contract) {
+    public void createWires(ServiceBinding serviceBinding, ServiceContract<?> 
contract, String targetName) {
         InboundWire inboundWire = new InboundWireImpl();
         // [rfeng] Check if the Reference has the serviceBinding contract
         ServiceContract<?> bindingContract = 
serviceBinding.getBindingServiceContract();

Modified: 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java?view=diff&rev=491664&r1=491663&r2=491664
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java
 Mon Jan  1 14:39:34 2007
@@ -67,8 +67,8 @@
     public void testBindingBuilderDispatch() throws Exception {
         WireService wireService = EasyMock.createMock(WireService.class);
         wireService.createWires(EasyMock.isA(ServiceBinding.class),
-            EasyMock.isA(String.class),
-            (ServiceContract) EasyMock.isNull());
+            (ServiceContract) EasyMock.isNull(), EasyMock.isA(String.class)
+        );
         EasyMock.expectLastCall().times(2);
         EasyMock.replay(wireService);
         registry.setWireService(wireService);

Modified: 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java?view=diff&rev=491664&r1=491663&r2=491664
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java
 Mon Jan  1 14:39:34 2007
@@ -18,16 +18,17 @@
  */
 package org.apache.tuscany.core.wire;
 
-import java.lang.reflect.Type;
 import java.lang.reflect.Method;
+import java.lang.reflect.Type;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.tuscany.spi.QualifiedName;
+import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.ReferenceBinding;
 import org.apache.tuscany.spi.component.ServiceBinding;
-import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.model.ComponentDefinition;
 import org.apache.tuscany.spi.model.DataType;
 import org.apache.tuscany.spi.model.Operation;
@@ -37,13 +38,12 @@
 import org.apache.tuscany.spi.wire.InboundInvocationChain;
 import org.apache.tuscany.spi.wire.InboundWire;
 import org.apache.tuscany.spi.wire.IncompatibleServiceContractException;
+import org.apache.tuscany.spi.wire.OutboundChainHolder;
 import org.apache.tuscany.spi.wire.OutboundInvocationChain;
 import org.apache.tuscany.spi.wire.ProxyCreationException;
 import org.apache.tuscany.spi.wire.Wire;
 import org.apache.tuscany.spi.wire.WireInvocationHandler;
 import org.apache.tuscany.spi.wire.WireService;
-import org.apache.tuscany.spi.wire.OutboundChainHolder;
-import org.apache.tuscany.spi.QualifiedName;
 
 import junit.framework.TestCase;
 
@@ -392,7 +392,7 @@
             throw new UnsupportedOperationException();
         }
 
-        public void createWires(ServiceBinding serviceBinding, String 
targetName, ServiceContract<?> contract) {
+        public void createWires(ServiceBinding serviceBinding, 
ServiceContract<?> contract, String targetName) {
             throw new UnsupportedOperationException();
         }
 

Modified: 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/WireServiceExtensionTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/WireServiceExtensionTestCase.java?view=diff&rev=491664&r1=491663&r2=491664
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/WireServiceExtensionTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/WireServiceExtensionTestCase.java
 Mon Jan  1 14:39:34 2007
@@ -24,7 +24,14 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.tuscany.spi.QualifiedName;
+import org.apache.tuscany.spi.component.AbstractSCAObject;
 import org.apache.tuscany.spi.component.AtomicComponent;
+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.component.TargetInvokerCreationException;
 import org.apache.tuscany.spi.component.WorkContext;
 import org.apache.tuscany.spi.model.ComponentDefinition;
 import org.apache.tuscany.spi.model.ComponentType;
@@ -33,6 +40,7 @@
 import org.apache.tuscany.spi.model.Property;
 import org.apache.tuscany.spi.model.ReferenceDefinition;
 import org.apache.tuscany.spi.model.ReferenceTarget;
+import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.model.ServiceContract;
 import org.apache.tuscany.spi.model.ServiceDefinition;
 import org.apache.tuscany.spi.wire.InboundInvocationChain;
@@ -160,6 +168,42 @@
         EasyMock.verify(component);
     }
 
+    public void testCreateReferenceBindingWire() throws Exception {
+        ReferenceBinding binding = new MockReferenceBinding();
+        QualifiedName qName = new QualifiedName("target");
+
+        wireService.createWires(binding, contract, qName);
+
+        InboundWire inboundWire = binding.getInboundWire();
+        assertEquals(1, inboundWire.getInvocationChains().size());
+        assertEquals(contract, inboundWire.getServiceContract());
+        assertEquals(binding, inboundWire.getContainer());
+
+        OutboundWire outboundWire = binding.getOutboundWire();
+        assertEquals("target", outboundWire.getTargetName().toString());
+        assertEquals(1, outboundWire.getInvocationChains().size());
+        assertEquals(contract, outboundWire.getServiceContract());
+        assertEquals(binding, outboundWire.getContainer());
+    }
+
+    public void testCreateServiceBindingWire() throws Exception {
+        ServiceBinding binding = new MockServiceBinding();
+
+        wireService.createWires(binding, contract, "target");
+
+        InboundWire inboundWire = binding.getInboundWire();
+        assertEquals(1, inboundWire.getInvocationChains().size());
+        assertEquals(contract, inboundWire.getServiceContract());
+        assertEquals(binding, inboundWire.getContainer());
+
+        OutboundWire outboundWire = binding.getOutboundWire();
+        assertEquals("target", outboundWire.getTargetName().toString());
+        assertEquals(1, outboundWire.getInvocationChains().size());
+        assertEquals(contract, outboundWire.getServiceContract());
+        assertEquals(binding, outboundWire.getContainer());
+        assertEquals(1, 
outboundWire.getTargetCallbackInvocationChains().size());
+    }
+
     protected void setUp() throws Exception {
         super.setUp();
         wireService = new TestWireService(new WorkContextImpl());
@@ -209,4 +253,110 @@
             return super.createWire(reference, def);
         }
     }
+
+    private class MockReferenceBinding extends AbstractSCAObject implements 
ReferenceBinding {
+        private ServiceContract<?> BindingServiceContract;
+        private InboundWire inboundWire;
+        private OutboundWire outboundWire;
+
+        public MockReferenceBinding() {
+            super("foo", null);
+        }
+
+        public ServiceContract<?> getBindingServiceContract() {
+            return BindingServiceContract;
+        }
+
+        public void setBindingServiceContract(ServiceContract<?> 
bindingServiceContract) {
+            BindingServiceContract = bindingServiceContract;
+        }
+
+        public void setReference(Reference reference) {
+
+        }
+
+        public InboundWire getInboundWire() {
+            return inboundWire;
+        }
+
+        public void setInboundWire(InboundWire inboundWire) {
+            this.inboundWire = inboundWire;
+        }
+
+        public OutboundWire getOutboundWire() {
+            return outboundWire;
+        }
+
+        public void setOutboundWire(OutboundWire outboundWire) {
+            this.outboundWire = outboundWire;
+        }
+
+        public TargetInvoker createTargetInvoker(ServiceContract contract, 
Operation operation)
+            throws TargetInvokerCreationException {
+            return null;
+        }
+
+        public TargetInvoker createCallbackTargetInvoker(ServiceContract 
contract, Operation operation)
+            throws TargetInvokerCreationException {
+            return null;
+        }
+
+        public Scope getScope() {
+            return null;
+        }
+    }
+
+    private class MockServiceBinding extends AbstractSCAObject implements 
ServiceBinding {
+        private InboundWire inboundWire;
+        private OutboundWire outboundWire;
+        private ServiceContract<?> BindingServiceContract;
+
+
+        public MockServiceBinding() {
+            super("foo", null);
+        }
+
+        public void setService(Service service) {
+        }
+
+        public ServiceContract<?> getBindingServiceContract() {
+            return BindingServiceContract;
+        }
+
+        public void setBindingServiceContract(ServiceContract<?> 
bindingServiceContract) {
+            BindingServiceContract = bindingServiceContract;
+        }
+
+        public InboundWire getInboundWire() {
+            return inboundWire;
+        }
+
+        public void setInboundWire(InboundWire inboundWire) {
+            this.inboundWire = inboundWire;
+        }
+
+        public OutboundWire getOutboundWire() {
+            return outboundWire;
+        }
+
+        public void setOutboundWire(OutboundWire outboundWire) {
+            this.outboundWire = outboundWire;
+        }
+
+        public TargetInvoker createTargetInvoker(ServiceContract contract, 
Operation operation)
+            throws TargetInvokerCreationException {
+            return null;
+        }
+
+        public TargetInvoker createCallbackTargetInvoker(ServiceContract 
contract, Operation operation)
+            throws TargetInvokerCreationException {
+            return null;
+        }
+
+        public Scope getScope() {
+            return null;
+        }
+    }
+
+
 }

Modified: 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java?view=diff&rev=491664&r1=491663&r2=491664
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/WireService.java
 Mon Jan  1 14:39:34 2007
@@ -103,7 +103,7 @@
     InboundWire createWire(ServiceDefinition service);
 
     /**
-     * Creates wires for an atomic component and injects them on the component
+     * Creates and injects wires for an atomic component
      *
      * @param component  the component
      * @param definition the model artifact representing the component
@@ -111,7 +111,7 @@
     void createWires(AtomicComponent component, ComponentDefinition<?> 
definition);
 
     /**
-     * Creates wires for a reference and injects them on the reference
+     * Creates and injects wires for a reference binding
      *
      * @param referenceBinding the reference
      * @param contract         the model artifact representing the service 
contract for the reference
@@ -121,13 +121,13 @@
     void createWires(ReferenceBinding referenceBinding, ServiceContract<?> 
contract, QualifiedName targetName);
 
     /**
-     * Creates wires for a serviceBinding and injects them on the 
serviceBinding
+     * Creates and injects wires for a service binding
      *
      * @param serviceBinding the serviceBinding
-     * @param targetName     the target nane
      * @param contract       the serviceBinding contract
+     * @param targetName     the target nane
      */
-    void createWires(ServiceBinding serviceBinding, String targetName, 
ServiceContract<?> contract);
+    void createWires(ServiceBinding serviceBinding, ServiceContract<?> 
contract, String targetName);
 
     /**
      * Check the compatiblity of the source and the target service 
contracts.<p> A wire may only connect a source to a



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to