Author: jmarino
Date: Wed Jan 10 07:51:47 2007
New Revision: 494862

URL: http://svn.apache.org/viewvc?view=rev&rev=494862
Log:
move atomic component inbound wire connect from connector to 
AtomicComponentExtension.prepare()

Modified:
    
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java
    
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AtomicConnectorTestCase.java
    
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java
    
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/AtomicComponentExtensionTestCase.java

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java?view=diff&rev=494862&r1=494861&r2=494862
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java
 Wed Jan 10 07:51:47 2007
@@ -628,29 +628,5 @@
                 }
             }
         }
-        if (component instanceof AtomicComponent) {
-            // connect inbound wires for atomic components
-            // JFM TODO this will be moved out to AtomicComponent prepare
-            for (InboundWire inboundWire : component.getInboundWires()) {
-                for (InboundInvocationChain chain : 
inboundWire.getInvocationChains().values()) {
-                    Operation<?> operation = chain.getOperation();
-                    String serviceName = inboundWire.getServiceName();
-                    TargetInvoker invoker;
-                    try {
-                        invoker = component.createTargetInvoker(serviceName, 
operation, null);
-                    } catch (TargetInvokerCreationException e) {
-                        String targetName = 
inboundWire.getContainer().getName();
-                        throw new WireConnectException("Error processing 
inbound wire",
-                            null,
-                            null,
-                            targetName,
-                            serviceName,
-                            e);
-                    }
-                    chain.setTargetInvoker(invoker);
-                    chain.prepare();
-                }
-            }
-        }
     }
 }

Modified: 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AtomicConnectorTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AtomicConnectorTestCase.java?view=diff&rev=494862&r1=494861&r2=494862
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AtomicConnectorTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AtomicConnectorTestCase.java
 Wed Jan 10 07:51:47 2007
@@ -121,39 +121,6 @@
         assertEquals(RESPONSE, resp.getBody());
     }
 
-    public void testConnectInboundAtomicComponentWires() throws Exception {
-        CompositeComponent parent = 
EasyMock.createNiceMock(CompositeComponent.class);
-        // create the inbound wire and chain
-        InboundInvocationChain chain = new 
InboundInvocationChainImpl(operation);
-        chain.addInterceptor(new InvokerInterceptor());
-        InboundWire wire = new InboundWireImpl();
-        wire.setServiceContract(contract);
-        wire.addInvocationChain(operation, chain);
-        wire.setServiceName(TARGET_SERVICE);
-        List<InboundWire> wires = new ArrayList<InboundWire>();
-        wires.add(wire);
-
-        AtomicComponent source = EasyMock.createMock(AtomicComponent.class);
-        EasyMock.expect(source.getParent()).andReturn(parent);
-        source.getOutboundWires();
-        EasyMock.expectLastCall().andReturn(Collections.emptyMap());
-        source.getInboundWires();
-        EasyMock.expectLastCall().andReturn(wires);
-        source
-            .createTargetInvoker(EasyMock.eq(TARGET_SERVICE), 
EasyMock.eq(operation), (InboundWire) EasyMock.isNull());
-        EasyMock.expectLastCall().andReturn(new MockInvoker());
-        EasyMock.replay(source);
-
-        wire.setContainer(source);
-
-        connector.connect(source);
-        Message msg = new MessageImpl();
-        msg.setTargetInvoker(chain.getTargetInvoker());
-        Message resp = chain.getHeadInterceptor().invoke(msg);
-        assertEquals(RESPONSE, resp.getBody());
-    }
-
-
     protected void setUp() throws Exception {
         super.setUp();
     }

Modified: 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java?view=diff&rev=494862&r1=494861&r2=494862
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java
 Wed Jan 10 07:51:47 2007
@@ -29,14 +29,19 @@
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.ComponentException;
 import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.PrepareException;
 import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.component.TargetDestructionException;
 import org.apache.tuscany.spi.component.TargetInitializationException;
+import org.apache.tuscany.spi.component.TargetInvokerCreationException;
 import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.model.Operation;
 import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.services.work.WorkScheduler;
+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.WireService;
 
 /**
@@ -191,4 +196,21 @@
     }
 
 
+    public void prepare() throws PrepareException {
+        // connect inbound wires for atomic components
+        for (InboundWire inboundWire : getInboundWires()) {
+            for (InboundInvocationChain chain : 
inboundWire.getInvocationChains().values()) {
+                Operation<?> operation = chain.getOperation();
+                String serviceName = inboundWire.getServiceName();
+                TargetInvoker invoker;
+                try {
+                    invoker = createTargetInvoker(serviceName, operation, 
null);
+                } catch (TargetInvokerCreationException e) {
+                    throw new PrepareException("Error processing inbound 
wire", serviceName, e);
+                }
+                chain.setTargetInvoker(invoker);
+                chain.prepare();
+            }
+        }
+    }
 }

Modified: 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/AtomicComponentExtensionTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/AtomicComponentExtensionTestCase.java?view=diff&rev=494862&r1=494861&r2=494862
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/AtomicComponentExtensionTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/AtomicComponentExtensionTestCase.java
 Wed Jan 10 07:51:47 2007
@@ -18,12 +18,20 @@
  */
 package org.apache.tuscany.spi.extension;
 
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Type;
+import java.util.HashMap;
+import java.util.Map;
+
 import org.apache.tuscany.spi.ObjectCreationException;
 import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.component.TargetResolutionException;
 import org.apache.tuscany.spi.model.Operation;
 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.InvocationRuntimeException;
+import org.apache.tuscany.spi.wire.Message;
 import org.apache.tuscany.spi.wire.TargetInvoker;
 
 import junit.framework.TestCase;
@@ -41,7 +49,26 @@
 
     public void testPrepare() throws Exception {
         TestExtension ext = new TestExtension();
+        Operation<Type> operation = new Operation<Type>("foo", null, null, 
null);
+        InboundInvocationChain chain = 
EasyMock.createMock(InboundInvocationChain.class);
+        EasyMock.expect(chain.getOperation()).andReturn(operation);
+        chain.prepare();
+        chain.setTargetInvoker(EasyMock.isA(TargetInvoker.class));
+        EasyMock.replay(chain);
+
+        Map<Operation<?>, InboundInvocationChain> chains = new 
HashMap<Operation<?>, InboundInvocationChain>();
+        chains.put(operation, chain);
+        InboundWire wire = EasyMock.createMock(InboundWire.class);
+        EasyMock.expect(wire.getInvocationChains()).andReturn(chains);
+        
EasyMock.expect(wire.getServiceName()).andReturn("Service").atLeastOnce();
+        EasyMock.replay(wire);
+
+        ext.addInboundWire(wire);
         ext.prepare();
+
+        EasyMock.verify(chain);
+        EasyMock.verify(wire);
+
     }
 
     public void testInit() throws Exception {
@@ -88,7 +115,33 @@
         }
 
         public TargetInvoker createTargetInvoker(String targetName, Operation 
operation, InboundWire callbackWire) {
-            return null;
+            return new TargetInvoker() {
+
+                public Object invokeTarget(final Object payload, final short 
sequence)
+                    throws InvocationTargetException {
+                    return null;
+                }
+
+                public Message invoke(Message msg) throws 
InvocationRuntimeException {
+                    return null;
+                }
+
+                public boolean isCacheable() {
+                    return false;
+                }
+
+                public void setCacheable(boolean cacheable) {
+
+                }
+
+                public boolean isOptimizable() {
+                    return false;
+                }
+
+                public Object clone() throws CloneNotSupportedException {
+                    return super.clone();
+                }
+            };
         }
 
     }



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

Reply via email to