Author: rfeng
Date: Wed Oct 18 08:23:02 2006
New Revision: 465272
URL: http://svn.apache.org/viewvc?view=rev&rev=465272
Log:
Apply the patch from Ignacio for TUSCANY-642. Thanks, Ignacio.
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeReferenceTargetInvoker.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractOperationOutboundInvocationHandler.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBindlessBuilder.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeReference.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvoker.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTargetInvoker.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeService.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/OperationCallbackInvocationHandler.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/OperationOutboundInvocationHandler.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerInvocationExceptionTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerThrowableTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTestCase.java
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeReferenceTargetInvoker.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeReferenceTargetInvoker.java?view=diff&rev=465272&r1=465271&r2=465272
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeReferenceTargetInvoker.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeReferenceTargetInvoker.java
Wed Oct 18 08:23:02 2006
@@ -21,6 +21,9 @@
import java.lang.reflect.InvocationTargetException;
import org.apache.tuscany.spi.model.Operation;
+import org.apache.tuscany.spi.wire.InvocationRuntimeException;
+import org.apache.tuscany.spi.wire.Message;
+import org.apache.tuscany.spi.wire.MessageImpl;
import org.apache.tuscany.spi.wire.TargetInvoker;
/**
@@ -51,19 +54,19 @@
}
public Object invokeTarget(final Object payload) throws
InvocationTargetException {
- Object[] args;
- if (payload != null && !payload.getClass().isArray()) {
- args = new Object[]{payload};
- } else {
- args = (Object[]) payload;
- }
+ throw new InvocationTargetException(new
InvocationRuntimeException("Not allowed to invokeTarget with object"));
+ }
+
+ public Message invoke(Message msg) throws InvocationRuntimeException {
try {
AbstractOperationOutboundInvocationHandler invocationHandler =
getInvocationHandler();
- return invocationHandler.invoke(operation, args);
- } catch (Throwable t) {
- throw new InvocationTargetException(t);
+ return invocationHandler.invoke(operation, msg);
+ } catch (Throwable e) {
+ Message faultMsg = new MessageImpl();
+ faultMsg.setBodyWithFault(e);
+ return faultMsg;
}
- }
+}
@Override
public AbstractCompositeReferenceTargetInvoker clone() throws
CloneNotSupportedException {
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractOperationOutboundInvocationHandler.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractOperationOutboundInvocationHandler.java?view=diff&rev=465272&r1=465271&r2=465272
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractOperationOutboundInvocationHandler.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractOperationOutboundInvocationHandler.java
Wed Oct 18 08:23:02 2006
@@ -1,10 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
package org.apache.tuscany.core.implementation.composite;
import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.wire.AbstractOutboundInvocationHandler;
+import org.apache.tuscany.spi.wire.Interceptor;
+import org.apache.tuscany.spi.wire.InvocationRuntimeException;
+import org.apache.tuscany.spi.wire.Message;
+import org.apache.tuscany.spi.wire.OutboundInvocationChain;
+import org.apache.tuscany.spi.wire.TargetInvoker;
-public abstract class AbstractOperationOutboundInvocationHandler
- extends AbstractOutboundInvocationHandler {
+public abstract class AbstractOperationOutboundInvocationHandler {
- public abstract Object invoke(Operation operation, Object[] args) throws
Throwable;
+ public abstract Message invoke(Operation operation, Message msg) throws
Throwable;
+
+ protected Message invoke(OutboundInvocationChain chain, TargetInvoker
invoker, Message msg) throws Throwable {
+ Interceptor headInterceptor = chain.getHeadInterceptor();
+ if (headInterceptor == null) {
+ try {
+ // short-circuit the dispatch and invoke the target directly
+ TargetInvoker targetInvoker = chain.getTargetInvoker();
+ if (targetInvoker == null) {
+ String name = chain.getOperation().getName();
+ throw new AssertionError("No target invoker [" + name +
"]");
+ }
+ return targetInvoker.invoke(msg);
+ } catch (InvocationRuntimeException e) {
+ // the cause was thrown by the target so throw it
+ throw e.getCause();
+ }
+ } else {
+ msg.setTargetInvoker(invoker);
+ msg.setFromAddress(getFromAddress());
+
+ Message resp = headInterceptor.invoke(msg);
+
+ return resp;
+ }
+ }
+
+ protected abstract Object getFromAddress();
}
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBindlessBuilder.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBindlessBuilder.java?view=diff&rev=465272&r1=465271&r2=465272
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBindlessBuilder.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBindlessBuilder.java
Wed Oct 18 08:23:02 2006
@@ -26,7 +26,6 @@
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.Reference;
import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.model.BindlessServiceDefinition;
import org.apache.tuscany.spi.model.ReferenceDefinition;
@@ -39,7 +38,6 @@
protected BuilderRegistry builderRegistry;
protected WireService wireService;
- protected WorkContext workContext;
@Autowire
public void setBuilderRegistry(BuilderRegistry registry) {
@@ -51,11 +49,6 @@
this.wireService = wireService;
}
- @Autowire
- public void setWorkContext(WorkContext workContext) {
- this.workContext = workContext;
- }
-
@Init(eager = true)
public void init() {
builderRegistry.register(this);
@@ -67,8 +60,7 @@
return new CompositeService(definition.getName(),
definition.getServiceContract().getInterfaceClass(),
parent,
- wireService,
- workContext);
+ wireService);
}
public Reference build(CompositeComponent parent,
@@ -77,7 +69,6 @@
return new CompositeReference(definition.getName(),
parent,
wireService,
- definition.getServiceContract(),
- workContext);
+ definition.getServiceContract());
}
}
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeReference.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeReference.java?view=diff&rev=465272&r1=465271&r2=465272
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeReference.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeReference.java
Wed Oct 18 08:23:02 2006
@@ -19,7 +19,6 @@
package org.apache.tuscany.core.implementation.composite;
import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.extension.ReferenceExtension;
import org.apache.tuscany.spi.model.Operation;
import org.apache.tuscany.spi.model.ServiceContract;
@@ -31,22 +30,18 @@
*/
public class CompositeReference extends ReferenceExtension {
- private WorkContext workContext;
-
public CompositeReference(String name,
CompositeComponent parent,
WireService wireService,
- ServiceContract contract,
- WorkContext workContext) {
+ ServiceContract contract) {
super(name, contract.getInterfaceClass(), parent, wireService);
- this.workContext = workContext;
}
public TargetInvoker createTargetInvoker(ServiceContract contract,
Operation operation) {
- return new CompositeReferenceTargetInvoker(operation, inboundWire,
outboundWire, workContext);
+ return new CompositeReferenceTargetInvoker(operation, inboundWire,
outboundWire);
}
public TargetInvoker createCallbackTargetInvoker(ServiceContract contract,
Operation operation) {
- return new CompositeReferenceCallbackTargetInvoker(operation,
inboundWire, workContext);
+ return new CompositeReferenceCallbackTargetInvoker(operation,
inboundWire);
}
}
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvoker.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvoker.java?view=diff&rev=465272&r1=465271&r2=465272
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvoker.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvoker.java
Wed Oct 18 08:23:02 2006
@@ -18,13 +18,8 @@
*/
package org.apache.tuscany.core.implementation.composite;
-import java.lang.reflect.InvocationTargetException;
-
-import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.model.Operation;
import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
/**
*
@@ -32,26 +27,10 @@
public class CompositeReferenceCallbackTargetInvoker extends
AbstractCompositeReferenceTargetInvoker {
private InboundWire inboundWire;
- private WorkContext workContext;
- public CompositeReferenceCallbackTargetInvoker(Operation operation,
InboundWire inboundWire, WorkContext context) {
+ public CompositeReferenceCallbackTargetInvoker(Operation operation,
InboundWire inboundWire) {
super(operation);
this.inboundWire = inboundWire;
- this.workContext = context;
- }
-
- public Message invoke(Message msg) throws InvocationRuntimeException {
- try {
- workContext.setCurrentMessageId(msg.getMessageId());
- workContext.setCurrentCorrelationId(msg.getCorrelationId());
- Object resp = invokeTarget(msg.getBody());
- msg.setBody(resp);
- } catch (InvocationTargetException e) {
- msg.setBodyWithFault(e.getCause());
- } catch (Throwable e) {
- msg.setBodyWithFault(e);
- }
- return msg;
}
public CompositeReferenceCallbackTargetInvoker clone() throws
CloneNotSupportedException {
@@ -59,6 +38,6 @@
}
protected AbstractOperationOutboundInvocationHandler
getInvocationHandler() {
- return new OperationCallbackInvocationHandler(workContext,
inboundWire);
+ return new OperationCallbackInvocationHandler(inboundWire);
}
}
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTargetInvoker.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTargetInvoker.java?view=diff&rev=465272&r1=465271&r2=465272
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTargetInvoker.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTargetInvoker.java
Wed Oct 18 08:23:02 2006
@@ -18,9 +18,6 @@
*/
package org.apache.tuscany.core.implementation.composite;
-import java.lang.reflect.InvocationTargetException;
-
-import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.model.Operation;
import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.spi.wire.InvocationRuntimeException;
@@ -34,32 +31,18 @@
private InboundWire inboundWire;
private OutboundWire outboundWire;
- private WorkContext workContext;
-
public CompositeReferenceTargetInvoker(Operation operation,
InboundWire inboundWire,
- OutboundWire outboundWire,
- WorkContext workContext) {
+ OutboundWire outboundWire) {
super(operation);
this.inboundWire = inboundWire;
this.outboundWire = outboundWire;
- this.workContext = workContext;
}
public Message invoke(Message msg) throws InvocationRuntimeException {
- try {
- inboundWire.addMapping(msg.getMessageId(), msg.getFromAddress());
- workContext.setCurrentMessageId(msg.getMessageId());
- workContext.setCurrentCorrelationId(msg.getCorrelationId());
- Object resp = invokeTarget(msg.getBody());
- msg.setBody(resp);
- } catch (InvocationTargetException e) {
- msg.setBodyWithFault(e.getCause());
- } catch (Throwable e) {
- msg.setBodyWithFault(e);
- }
- return msg;
+ inboundWire.addMapping(msg.getMessageId(), msg.getFromAddress());
+ return super.invoke(msg);
}
public CompositeReferenceTargetInvoker clone() throws
CloneNotSupportedException {
@@ -67,6 +50,6 @@
}
protected AbstractOperationOutboundInvocationHandler
getInvocationHandler() {
- return new OperationOutboundInvocationHandler(outboundWire,
workContext);
+ return new OperationOutboundInvocationHandler(outboundWire);
}
}
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeService.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeService.java?view=diff&rev=465272&r1=465271&r2=465272
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeService.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeService.java
Wed Oct 18 08:23:02 2006
@@ -21,7 +21,6 @@
import org.apache.tuscany.spi.CoreRuntimeException;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.TargetException;
-import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.extension.ServiceExtension;
import org.apache.tuscany.spi.model.Operation;
import org.apache.tuscany.spi.model.ServiceContract;
@@ -30,15 +29,11 @@
public class CompositeService extends ServiceExtension {
- private WorkContext workContext;
-
public CompositeService(String name,
Class<?> interfaze,
CompositeComponent parent,
- WireService wireService,
- WorkContext workContext) throws
CoreRuntimeException {
+ WireService wireService) throws
CoreRuntimeException {
super(name, interfaze, parent, wireService);
- this.workContext = workContext;
}
/**
@@ -48,13 +43,13 @@
* FIXME !!! Notice that this method is not defined in the SPI !!!
*/
public TargetInvoker createTargetInvoker(ServiceContract contract,
Operation operation) {
- return new CompositeReferenceTargetInvoker(operation, inboundWire,
outboundWire, workContext);
+ return new CompositeReferenceTargetInvoker(operation, inboundWire,
outboundWire);
}
/**
*/
public TargetInvoker createCallbackTargetInvoker(ServiceContract contract,
Operation operation) {
- return new CompositeReferenceCallbackTargetInvoker(operation,
inboundWire, workContext);
+ return new CompositeReferenceCallbackTargetInvoker(operation,
inboundWire);
}
public Object getServiceInstance() throws TargetException {
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/OperationCallbackInvocationHandler.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/OperationCallbackInvocationHandler.java?view=diff&rev=465272&r1=465271&r2=465272
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/OperationCallbackInvocationHandler.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/OperationCallbackInvocationHandler.java
Wed Oct 18 08:23:02 2006
@@ -20,9 +20,9 @@
import java.util.Map;
-import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.model.Operation;
import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.wire.Message;
import org.apache.tuscany.spi.wire.OutboundInvocationChain;
import org.apache.tuscany.spi.wire.TargetInvoker;
@@ -31,21 +31,14 @@
*/
public class OperationCallbackInvocationHandler extends
AbstractOperationOutboundInvocationHandler {
- private WorkContext context;
private InboundWire inboundWire;
- private Object messageId;
- private Object correlationId;
- public OperationCallbackInvocationHandler(WorkContext context, InboundWire
inboundWire) {
- this.context = context;
+ public OperationCallbackInvocationHandler(InboundWire inboundWire) {
this.inboundWire = inboundWire;
}
- public Object invoke(Object proxy, Operation operation, Object[] args)
throws Throwable {
- messageId = context.getCurrentMessageId();
- context.setCurrentMessageId(null);
- correlationId = context.getCurrentCorrelationId();
- context.setCurrentCorrelationId(null);
+ public Message invoke(Operation operation, Message msg) throws Throwable {
+ Object correlationId = msg.getCorrelationId();
Object targetAddress = inboundWire.retrieveMapping(correlationId);
if (targetAddress == null) {
throw new AssertionError("No from address associated with message
id [" + correlationId + "]");
@@ -55,23 +48,11 @@
inboundWire.getSourceCallbackInvocationChains(targetAddress);
OutboundInvocationChain chain =
sourceCallbackInvocationChains.get(operation);
TargetInvoker invoker = chain.getTargetInvoker();
- return invoke(chain, invoker, args);
+ return invoke(chain, invoker, msg);
}
- public Object invoke(Operation operation, Object[] args) throws Throwable {
- return invoke(null, operation, args);
- }
-
protected Object getFromAddress() {
return (inboundWire.getContainer() == null) ? null :
inboundWire.getContainer().getName();
- }
-
- protected Object getMessageId() {
- return messageId;
- }
-
- protected Object getCorrelationId() {
- return correlationId;
}
}
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/OperationOutboundInvocationHandler.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/OperationOutboundInvocationHandler.java?view=diff&rev=465272&r1=465271&r2=465272
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/OperationOutboundInvocationHandler.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/OperationOutboundInvocationHandler.java
Wed Oct 18 08:23:02 2006
@@ -22,8 +22,8 @@
import java.util.Map;
import org.apache.tuscany.spi.component.TargetException;
-import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.model.Operation;
+import org.apache.tuscany.spi.wire.Message;
import org.apache.tuscany.spi.wire.OutboundInvocationChain;
import org.apache.tuscany.spi.wire.OutboundWire;
import org.apache.tuscany.spi.wire.TargetInvoker;
@@ -41,12 +41,9 @@
* is not cacheable, the master associated with the wire chains will be
used.
*/
private Map<Operation, ChainHolder> chains;
- private WorkContext context;
private Object fromAddress;
- private Object messageId;
- private Object correlationId;
- public OperationOutboundInvocationHandler(OutboundWire wire, WorkContext
context) {
+ public OperationOutboundInvocationHandler(OutboundWire wire) {
Map<Operation<?>, OutboundInvocationChain> invocationChains =
wire.getInvocationChains();
this.chains = new HashMap<Operation,
ChainHolder>(invocationChains.size());
this.fromAddress = (wire.getContainer() == null) ? null :
wire.getContainer().getName();
@@ -55,11 +52,9 @@
Operation operation = entry.getKey();
this.chains.put(operation, new ChainHolder(entry.getValue()));
}
-
- this.context = context;
}
- public Object invoke(Object proxy, Operation operation, Object[] args)
throws Throwable {
+ public Message invoke(Operation operation, Message msg) throws Throwable {
ChainHolder holder = chains.get(operation);
if (holder == null) {
TargetException e = new TargetException("Operation not
configured");
@@ -87,27 +82,12 @@
assert chain != null;
invoker = chain.getTargetInvoker();
}
- messageId = context.getCurrentMessageId();
- context.setCurrentMessageId(null);
- correlationId = context.getCurrentCorrelationId();
- context.setCurrentCorrelationId(null);
- return invoke(chain, invoker, args);
- }
- public Object invoke(Operation operation, Object[] args) throws Throwable {
- return invoke(null, operation, args);
+ return invoke(chain, invoker, msg);
}
protected Object getFromAddress() {
return fromAddress;
- }
-
- protected Object getMessageId() {
- return messageId;
- }
-
- protected Object getCorrelationId() {
- return correlationId;
}
/**
Modified:
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerInvocationExceptionTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerInvocationExceptionTestCase.java?view=diff&rev=465272&r1=465271&r2=465272
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerInvocationExceptionTestCase.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerInvocationExceptionTestCase.java
Wed Oct 18 08:23:02 2006
@@ -4,7 +4,6 @@
import java.util.HashMap;
import java.util.Map;
-import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.model.Operation;
import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.spi.wire.Interceptor;
@@ -20,7 +19,6 @@
*/
public class
CompositeReferenceCallbackTargetInvokerInvocationExceptionTestCase extends
TestCase {
private InboundWire wire;
- private WorkContext context;
private Message message;
private OutboundInvocationChain chain;
private CompositeReferenceCallbackTargetInvoker invoker;
@@ -35,7 +33,6 @@
Object body = response.getBody();
assertTrue(SomeException.class.equals(body.getClass()));
EasyMock.verify(wire);
- EasyMock.verify(context);
EasyMock.verify(chain);
}
@@ -63,15 +60,7 @@
EasyMock.expect(wire.getSourceCallbackInvocationChains(targetAddress)).andReturn(chains);
EasyMock.expect(wire.getContainer()).andReturn(null);
EasyMock.replay(wire);
- context = EasyMock.createMock(WorkContext.class);
- context.setCurrentMessageId(EasyMock.eq(id));
- context.setCurrentMessageId(EasyMock.isNull());
- context.setCurrentCorrelationId(corrId);
- context.setCurrentCorrelationId(EasyMock.isNull());
- EasyMock.expect(context.getCurrentMessageId()).andReturn(id);
- EasyMock.expect(context.getCurrentCorrelationId()).andReturn(corrId);
- EasyMock.replay(context);
- invoker = new CompositeReferenceCallbackTargetInvoker(operation, wire,
context);
+ invoker = new CompositeReferenceCallbackTargetInvoker(operation, wire);
}
private class SomeException extends Exception {
Modified:
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerTestCase.java?view=diff&rev=465272&r1=465271&r2=465272
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerTestCase.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerTestCase.java
Wed Oct 18 08:23:02 2006
@@ -22,7 +22,6 @@
import java.util.HashMap;
import java.util.Map;
-import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.model.Operation;
import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.spi.wire.Interceptor;
@@ -38,7 +37,6 @@
*/
public class CompositeReferenceCallbackTargetInvokerTestCase extends TestCase {
private InboundWire wire;
- private WorkContext context;
private Message message;
private OutboundInvocationChain chain;
private Interceptor head;
@@ -51,7 +49,6 @@
Message response = invoker.invoke(message);
assertEquals("response", response.getBody());
EasyMock.verify(wire);
- EasyMock.verify(context);
EasyMock.verify(chain);
EasyMock.verify(head);
}
@@ -82,15 +79,8 @@
EasyMock.expect(wire.getSourceCallbackInvocationChains(targetAddress)).andReturn(chains);
EasyMock.expect(wire.getContainer()).andReturn(null);
EasyMock.replay(wire);
- context = EasyMock.createMock(WorkContext.class);
- context.setCurrentMessageId(EasyMock.eq(id));
- context.setCurrentMessageId(EasyMock.isNull());
- context.setCurrentCorrelationId(corrId);
- context.setCurrentCorrelationId(EasyMock.isNull());
- EasyMock.expect(context.getCurrentMessageId()).andReturn(id);
- EasyMock.expect(context.getCurrentCorrelationId()).andReturn(corrId);
- EasyMock.replay(context);
- invoker = new CompositeReferenceCallbackTargetInvoker(operation, wire,
context);
+
+ invoker = new CompositeReferenceCallbackTargetInvoker(operation, wire);
}
Modified:
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerThrowableTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerThrowableTestCase.java?view=diff&rev=465272&r1=465271&r2=465272
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerThrowableTestCase.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerThrowableTestCase.java
Wed Oct 18 08:23:02 2006
@@ -23,7 +23,6 @@
import java.util.HashMap;
import java.util.Map;
-import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.model.Operation;
import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.spi.wire.Interceptor;
@@ -40,7 +39,6 @@
*/
public class CompositeReferenceCallbackTargetInvokerThrowableTestCase extends
TestCase {
private InboundWire wire;
- private WorkContext context;
private Message message;
private OutboundInvocationChain chain;
private Interceptor head;
@@ -59,7 +57,6 @@
UndeclaredThrowableException e = (UndeclaredThrowableException) body;
assertTrue(InsidiousException.class.equals(e.getUndeclaredThrowable().getClass()));
EasyMock.verify(wire);
- EasyMock.verify(context);
EasyMock.verify(chain);
EasyMock.verify(head);
}
@@ -94,15 +91,7 @@
EasyMock.expect(wire.getSourceCallbackInvocationChains(targetAddress)).andReturn(chains);
EasyMock.expect(wire.getContainer()).andReturn(null);
EasyMock.replay(wire);
- context = EasyMock.createMock(WorkContext.class);
- context.setCurrentMessageId(EasyMock.eq(id));
- context.setCurrentMessageId(EasyMock.isNull());
- context.setCurrentCorrelationId(corrId);
- context.setCurrentCorrelationId(EasyMock.isNull());
- EasyMock.expect(context.getCurrentMessageId()).andReturn(id);
- EasyMock.expect(context.getCurrentCorrelationId()).andReturn(corrId);
- EasyMock.replay(context);
- invoker = new CompositeReferenceCallbackTargetInvoker(operation, wire,
context);
+ invoker = new CompositeReferenceCallbackTargetInvoker(operation, wire);
}
private class InsidiousException extends Throwable {
Modified:
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTestCase.java?view=diff&rev=465272&r1=465271&r2=465272
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTestCase.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTestCase.java
Wed Oct 18 08:23:02 2006
@@ -37,8 +37,7 @@
CompositeReference compositeReference = new
CompositeReference("testCompositeReferemce",
null,
null,
-
serviceContract,
- null);
+
serviceContract);
Operation operation = new Operation<Type>("sayHi", null, null, null,
false, null);
TargetInvoker targetInvoker =
compositeReference.createTargetInvoker(serviceContract, operation);
assertNotNull(targetInvoker);
@@ -50,8 +49,7 @@
CompositeReference compositeReference = new
CompositeReference("testCompositeReferemce",
null,
null,
-
serviceContract,
- null);
+
serviceContract);
Operation operation = new Operation<Type>("sayHi", null, null, null,
false, null);
TargetInvoker targetInvoker =
compositeReference.createCallbackTargetInvoker(serviceContract, operation);
assertNotNull(targetInvoker);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]