Author: jmarino
Date: Tue Oct 24 10:59:58 2006
New Revision: 467407
URL: http://svn.apache.org/viewvc?view=rev&rev=467407
Log:
[PATCH] TUSCANY-642 SimplerCompositeReferenceInvocation4.patch from Ignacio; I
need to do this in parts to avoid mixing in other changes I have outstanding,
applying kernel first then axis2
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandler.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKOutboundInvocationHandler.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandler.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/MessageId.java
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandlerTestCase.java
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandler.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandler.java?view=diff&rev=467407&r1=467406&r2=467407
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandler.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandler.java
Tue Oct 24 10:59:58 2006
@@ -45,8 +45,6 @@
private WorkContext context;
private InboundWire inboundWire;
- private Object messageId;
- private Object correlationId;
public JDKCallbackInvocationHandler(WorkContext context, InboundWire
inboundWire) {
this.context = context;
@@ -54,9 +52,9 @@
}
public Object invoke(Object proxy, Method method, Object[] args) throws
Throwable {
- messageId = context.getCurrentMessageId();
+ Object messageId = context.getCurrentMessageId();
context.setCurrentMessageId(null);
- correlationId = context.getCurrentCorrelationId();
+ Object correlationId = context.getCurrentCorrelationId();
context.setCurrentCorrelationId(null);
Object targetAddress = inboundWire.retrieveMapping(correlationId);
if (targetAddress == null) {
@@ -68,19 +66,11 @@
Operation operation = findOperation(method,
sourceCallbackInvocationChains.keySet());
OutboundInvocationChain chain =
sourceCallbackInvocationChains.get(operation);
TargetInvoker invoker = chain.getTargetInvoker();
- return invoke(chain, invoker, args);
+ return invoke(chain, invoker, args, messageId, correlationId);
}
public Object invoke(Method method, Object[] args) throws Throwable {
return invoke(null, method, args);
- }
-
- protected Object getMessageId() {
- return messageId;
- }
-
- protected Object getCorrelationId() {
- return correlationId;
}
}
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKOutboundInvocationHandler.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKOutboundInvocationHandler.java?view=diff&rev=467407&r1=467406&r2=467407
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKOutboundInvocationHandler.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKOutboundInvocationHandler.java
Tue Oct 24 10:59:58 2006
@@ -52,8 +52,6 @@
*/
private Map<Method, ChainHolder> chains;
private Object fromAddress;
- private Object messageId;
- private Object correlationId;
private boolean contractHasCallback;
public JDKOutboundInvocationHandler(OutboundWire wire)
@@ -113,8 +111,8 @@
assert chain != null;
invoker = chain.getTargetInvoker();
}
- messageId = (contractHasCallback ? new MessageId() : null);
- return invoke(chain, invoker, args);
+ Object messageId = (contractHasCallback ? new MessageId() : null);
+ return invoke(chain, invoker, args, messageId, null);
}
public Object invoke(Method method, Object[] args) throws Throwable {
@@ -123,14 +121,6 @@
protected Object getFromAddress() {
return fromAddress;
- }
-
- protected Object getMessageId() {
- return messageId;
- }
-
- protected Object getCorrelationId() {
- return correlationId;
}
/**
Modified:
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandler.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandler.java?view=diff&rev=467407&r1=467406&r2=467407
==============================================================================
---
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandler.java
(original)
+++
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandler.java
Tue Oct 24 10:59:58 2006
@@ -29,7 +29,12 @@
*/
public abstract class AbstractOutboundInvocationHandler {
- protected Object invoke(OutboundInvocationChain chain, TargetInvoker
invoker, Object[] args) throws Throwable {
+ protected Object invoke(OutboundInvocationChain chain,
+ TargetInvoker invoker,
+ Object[] args,
+ Object messageId,
+ Object correlationId)
+ throws Throwable {
Interceptor headInterceptor = chain.getHeadInterceptor();
if (headInterceptor == null) {
try {
@@ -51,13 +56,11 @@
if (fromAddress != null) {
msg.setFromAddress(fromAddress);
}
- Object messageId = getMessageId();
if (messageId != null) {
msg.setMessageId(messageId);
}
- Object corrId = getCorrelationId();
- if (corrId != null) {
- msg.setCorrelationId(corrId);
+ if (correlationId != null) {
+ msg.setCorrelationId(correlationId);
}
msg.setBody(args);
// dispatch the wire down the chain and get the response
@@ -74,8 +77,4 @@
// Default to null, only needed in outbound (forward) direction
return null;
}
-
- protected abstract Object getMessageId();
-
- protected abstract Object getCorrelationId();
}
Modified:
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/MessageId.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/MessageId.java?view=diff&rev=467407&r1=467406&r2=467407
==============================================================================
---
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/MessageId.java
(original)
+++
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/MessageId.java
Tue Oct 24 10:59:58 2006
@@ -33,8 +33,24 @@
public long getTimestamp() {
return timestamp;
}
-
+
public String toString() {
return "MsgId[" + timestamp + "]";
+ }
+
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+
+ final MessageId messageId = (MessageId) o;
+ return timestamp == messageId.timestamp;
+ }
+
+ public int hashCode() {
+ return (int) (timestamp ^ (timestamp >>> 32));
}
}
Modified:
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandlerTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandlerTestCase.java?view=diff&rev=467407&r1=467406&r2=467407
==============================================================================
---
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandlerTestCase.java
(original)
+++
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandlerTestCase.java
Tue Oct 24 10:59:58 2006
@@ -19,7 +19,7 @@
OutboundInvocationChain chain =
EasyMock.createMock(OutboundInvocationChain.class);
EasyMock.expect(chain.getHeadInterceptor()).andReturn(interceptor);
EasyMock.replay(chain);
- Object resp = handler.invoke(chain, invoker, new String[]{"foo"});
+ Object resp = handler.invoke(chain, invoker, new String[]{"foo"}, new
Object(), new Object());
assertEquals("response", resp);
}
@@ -30,7 +30,7 @@
EasyMock.expect(chain.getHeadInterceptor()).andReturn(null);
EasyMock.expect(chain.getTargetInvoker()).andReturn(invoker);
EasyMock.replay(chain);
- Object resp = handler.invoke(chain, invoker, new String[]{"foo"});
+ Object resp = handler.invoke(chain, invoker, new String[]{"foo"}, new
Object(), new Object());
assertEquals("response", resp);
}
@@ -67,14 +67,6 @@
private class InvocationHandler extends AbstractOutboundInvocationHandler {
protected Object getFromAddress() {
- return new Object();
- }
-
- protected Object getMessageId() {
- return new Object();
- }
-
- protected Object getCorrelationId() {
return new Object();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]