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]