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]

Reply via email to