You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by na...@apache.org on 2008/01/04 13:59:58 UTC

svn commit: r608822 - in /incubator/tuscany/java/sca/modules: binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/ binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/ core/src/main/java/org/apache/tuscany/s...

Author: nash
Date: Fri Jan  4 04:59:56 2008
New Revision: 608822

URL: http://svn.apache.org/viewvc?rev=608822&view=rev
Log:
Fix for TUSCANY-1849.

Modified:
    incubator/tuscany/java/sca/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingInvoker.java
    incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java
    incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeWireImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/RequestContextImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ServiceReferenceImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackInterfaceInterceptor.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackReferenceImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKCallbackInvocationHandler.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/RuntimeWireInvoker.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ConversationalScopeContainer.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/CallbackInterfaceInterceptorTestCase.java
    incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ConversationIDObjectFactory.java
    incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java
    incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTargetInvoker.java

Modified: incubator/tuscany/java/sca/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingInvoker.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingInvoker.java (original)
+++ incubator/tuscany/java/sca/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingInvoker.java Fri Jan  4 04:59:56 2008
@@ -80,23 +80,19 @@
                     + " reference: "
                     + provider.getComponentReference().getName());
             }
-            if (to != null) {
-                to.mergeEndpoint(eprTo);
-            } else {
-                msg.setTo(eprTo);
-            }
+            msg.setTo(eprTo);
         }
 
         // make sure that the epr of the callback service (if there is one) is set
         // in the callbackReference field of the message. 
-        EndpointReference callbackEPR = msg.getTo().getReferenceParameters().getCallbackReference();
+        EndpointReference callbackEPR = msg.getFrom().getReferenceParameters().getCallbackReference();
 
         if ((callbackEPR == null) || (callbackEPR.getURI().equals("/"))) {
 
             callbackEPR = provider.getCallbackEndpoint();
 
             if (callbackEPR != null) {
-                msg.getTo().getReferenceParameters().setCallbackReference(callbackEPR);
+                msg.getFrom().getReferenceParameters().setCallbackReference(callbackEPR);
             }
         }
 

Modified: incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java (original)
+++ incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java Fri Jan  4 04:59:56 2008
@@ -52,13 +52,14 @@
     private SOAPFactory soapFactory;
 
     public static final QName QNAME_WSA_FROM =
-        new QName(AddressingConstants.Final.WSA_NAMESPACE, AddressingConstants.WSA_FROM);
-    public static final QName QNAME_WSA_TO =
-        new QName(AddressingConstants.Final.WSA_NAMESPACE, AddressingConstants.WSA_TO);
-
-    public static final QName CALLBACK_REFERENCE_REFPARM_QN = new QName(Constants.SCA10_TUSCANY_NS, "CallbackReference");
-    public static final QName CALLBACK_ID_REFPARM_QN = new QName(Constants.SCA10_TUSCANY_NS, "CallbackID");
-    public static final QName CONVERSATION_ID_REFPARM_QN = new QName(Constants.SCA10_TUSCANY_NS, "ConversationID");
+        new QName(AddressingConstants.Final.WSA_NAMESPACE, AddressingConstants.WSA_FROM,
+                  AddressingConstants.WSA_DEFAULT_PREFIX);
+
+    public static final String TUSCANY_PREFIX = "tuscany";
+    public static final QName CALLBACK_ID_REFPARM_QN =
+        new QName(Constants.SCA10_TUSCANY_NS, "CallbackID", TUSCANY_PREFIX);
+    public static final QName CONVERSATION_ID_REFPARM_QN =
+        new QName(Constants.SCA10_TUSCANY_NS, "ConversationID", TUSCANY_PREFIX);
 
     public Axis2BindingInvoker(Axis2ServiceClient serviceClient,
                                QName wsdlOperationName,
@@ -137,46 +138,56 @@
         OperationClient operationClient = serviceClient.getServiceClient().createClient(wsdlOperationName);
         operationClient.setOptions(options);
 
-        ReferenceParameters parameters = msg.getTo().getReferenceParameters();
-
-        // if target endpoint was not specified when this invoker was created, 
-        // use dynamically specified target endpoint passed in on this call
-        EndpointReference toEPR = options.getTo();
-        if (toEPR == null) {
-            org.apache.tuscany.sca.runtime.EndpointReference ep = msg.getTo();
-            toEPR = new EndpointReference(ep.getURI());
-        }
+        ReferenceParameters parameters = msg.getFrom().getReferenceParameters();
 
         // set callback endpoint and callback ID for WS-Addressing header
-        if (parameters.getCallbackReference() != null) {
-            toEPR.addReferenceParameter(CALLBACK_REFERENCE_REFPARM_QN,
-                                        parameters.getCallbackReference().getBinding().getURI());
-        }
-        if (parameters.getCallbackID() != null) {
+        EndpointReference fromEPR = null;
+        org.apache.tuscany.sca.runtime.EndpointReference callbackEPR = parameters.getCallbackReference();
+        if (callbackEPR != null) {
+            fromEPR = new EndpointReference(callbackEPR.getBinding().getURI());
+        }
+        Object callbackID = parameters.getCallbackID();
+        if (callbackID != null) {
+            if (fromEPR == null) {
+                fromEPR = new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL);
+            }
             //FIXME: serialize callback ID to XML in case it is not a string
-            toEPR.addReferenceParameter(CALLBACK_ID_REFPARM_QN, parameters.getCallbackID().toString());
+            fromEPR.addReferenceParameter(CALLBACK_ID_REFPARM_QN, callbackID.toString());
         }
 
         // set conversation ID for WS-Addressing header
-        //FIXME: get conversation ID from the message's callable reference
         Object conversationId = parameters.getConversationID();
         if (conversationId != null) {
+            if (fromEPR == null) {
+                fromEPR = new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL);
+            }
             //FIXME: serialize conversation ID to XML in case it is not a string
-            toEPR.addReferenceParameter(CONVERSATION_ID_REFPARM_QN, conversationId.toString());
+            fromEPR.addReferenceParameter(CONVERSATION_ID_REFPARM_QN, conversationId.toString());
         }
 
         // add WS-Addressing header
         //FIXME: is there any way to use the Axis2 addressing support for this?
-        if (toEPR != null) {
+        if (fromEPR != null) {
             SOAPEnvelope sev = requestMC.getEnvelope();
             SOAPHeader sh = sev.getHeader();
             OMElement epr =
                 EndpointReferenceHelper.toOM(sev.getOMFactory(),
-                                             toEPR,
-                                             QNAME_WSA_TO,
+                                             fromEPR,
+                                             QNAME_WSA_FROM,
                                              AddressingConstants.Final.WSA_NAMESPACE);
             sh.addChild(epr);
-            requestMC.setTo(toEPR);
+            requestMC.setFrom(fromEPR);
+        }
+
+        // if target endpoint was not specified when this invoker was created, 
+        // use dynamically specified target endpoint passed in on this call
+        if (options.getTo() == null) {
+            org.apache.tuscany.sca.runtime.EndpointReference ep = msg.getTo();
+            if (ep != null) {
+                requestMC.setTo(new EndpointReference(ep.getURI()));
+            } else {
+                throw new RuntimeException("Unable to determine destination endpoint");
+            }
         }
 
         operationClient.addMessageContext(requestMC);

Modified: incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java (original)
+++ incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java Fri Jan  4 04:59:56 2008
@@ -98,6 +98,7 @@
 import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
 import org.apache.tuscany.sca.policy.security.ws.Axis2ConfigParamPolicy;
 import org.apache.tuscany.sca.runtime.EndpointReference;
+import org.apache.tuscany.sca.runtime.ReferenceParameters;
 import org.apache.tuscany.sca.runtime.RuntimeComponent;
 import org.apache.tuscany.sca.runtime.RuntimeComponentService;
 import org.apache.tuscany.sca.runtime.RuntimeWire;
@@ -121,9 +122,6 @@
         new QName(AddressingConstants.Final.WSA_NAMESPACE, AddressingConstants.EPR_ADDRESS);
     public static final QName QNAME_WSA_FROM =
         new QName(AddressingConstants.Final.WSA_NAMESPACE, AddressingConstants.WSA_FROM);
-    public static final QName QNAME_WSA_TO =
-        new QName(AddressingConstants.Final.WSA_NAMESPACE, AddressingConstants.WSA_TO);
-
     public static final QName QNAME_WSA_REFERENCE_PARAMETERS =
         new QName(AddressingConstants.Final.WSA_NAMESPACE, AddressingConstants.EPR_REFERENCE_PARAMETERS);
 
@@ -530,9 +528,15 @@
         //FIXME: can we use the Axis2 addressing support for this?
         SOAPHeader header = inMC.getEnvelope().getHeader();
         if (header != null) {
-            OMElement to = header.getFirstChildWithName(QNAME_WSA_TO);
-            if (to != null) {
-                OMElement params = to.getFirstChildWithName(QNAME_WSA_REFERENCE_PARAMETERS);
+            OMElement from = header.getFirstChildWithName(QNAME_WSA_FROM);
+            if (from != null) {
+                OMElement callbackAddrElement = from.getFirstChildWithName(QNAME_WSA_ADDRESS);
+                if (callbackAddrElement != null) {
+                    if (contract.getInterfaceContract().getCallbackInterface() != null) {
+                        callbackAddress = callbackAddrElement.getText();
+                    }
+                }
+                OMElement params = from.getFirstChildWithName(QNAME_WSA_REFERENCE_PARAMETERS);
                 if (params != null) {
                     OMElement convIDElement =
                         params.getFirstChildWithName(Axis2BindingInvoker.CONVERSATION_ID_REFPARM_QN);
@@ -541,19 +545,10 @@
                             conversationID = convIDElement.getText();
                         }
                     }
-                    OMElement callbackAddrElement =
-                        params.getFirstChildWithName(Axis2BindingInvoker.CALLBACK_REFERENCE_REFPARM_QN);
-                    if (callbackAddrElement != null) {
-                        if (contract.getInterfaceContract().getCallbackInterface() != null) {
-                            callbackAddress = callbackAddrElement.getText();
-                        }
-                    }
                     OMElement callbackIDElement =
                         params.getFirstChildWithName(Axis2BindingInvoker.CALLBACK_ID_REFPARM_QN);
                     if (callbackIDElement != null) {
-                        if (contract.getInterfaceContract().getCallbackInterface() != null) {
-                            callbackID = callbackIDElement.getText();
-                        }
+                        callbackID = callbackIDElement.getText();
                     }
                 }
             }
@@ -562,29 +557,31 @@
         // create a message object and set the args as its body
         Message msg = messageFactory.createMessage();
         msg.setBody(args);
-        msg.setOperation( op );
+        msg.setOperation(op);
         
         //fill message with QoS context info 
         fillQoSContext(msg, inMC);
         
-        // if reference parameters are needed, create a new "To" EPR to hold them
-        EndpointReference to = null;
+        // if reference parameters are needed, create a new "From" EPR to hold them
+        EndpointReference from = null;
+        ReferenceParameters parameters = null;
         if (callbackAddress != null ||
             callbackID != null ||
             conversationID != null) {
-            to = new EndpointReferenceImpl(null);
-            msg.setTo(to);
+            from = new EndpointReferenceImpl(null);
+            parameters = from.getReferenceParameters();
+            msg.setFrom(from);
         }
 
-        // set the reference parameters into the "To" EPR
+        // set the reference parameters into the "From" EPR
         if (callbackAddress != null) {
-            to.getReferenceParameters().setCallbackReference(new EndpointReferenceImpl(callbackAddress));
+            parameters.setCallbackReference(new EndpointReferenceImpl(callbackAddress));
         }
         if (callbackID != null) {
-            to.getReferenceParameters().setCallbackID(callbackID);
+            parameters.setCallbackID(callbackID);
         }
         if (conversationID != null) {
-            to.getReferenceParameters().setConversationID(conversationID);
+            parameters.setConversationID(conversationID);
         }
 
         // find the runtime wire and invoke it with the message

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeWireImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeWireImpl.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeWireImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeWireImpl.java Fri Jan  4 04:59:56 2008
@@ -119,7 +119,6 @@
     public Object invoke(Operation operation, Object[] args) throws InvocationTargetException {
         Message msg = messageFactory.createMessage();
         msg.setBody(args);
-        msg.setTo(wireTarget);
         return invoker.invoke(operation, msg);
     }
 

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceImpl.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceImpl.java Fri Jan  4 04:59:56 2008
@@ -119,7 +119,8 @@
         this.compositeActivator = compositeActivator;
         this.conversationManager = this.compositeActivator.getConversationManager();
         RuntimeWire wire = this.reference.getRuntimeWire(this.binding);
-        init(wire);
+        // init(wire);
+        initCallbackID();
     }
 
     public CallableReferenceImpl(Class<B> businessInterface, RuntimeWire wire, ProxyFactory proxyFactory) {
@@ -143,10 +144,15 @@
             this.binding = wire.getSource().getBinding();
             this.compositeActivator = ((ComponentContextImpl)component.getComponentContext()).getCompositeActivator();
             this.conversationManager = this.compositeActivator.getConversationManager();
-            init(wire);
+            // init(wire);
+            initCallbackID();
         }
     }
 
+    /**
+     * This method has bugs in it and has been replaced by the initCallbackID
+     * method below.  It is no longer called and will be removed soon.
+     */
     protected void init(RuntimeWire wire) {
         EndpointReference target = wire.getTarget();
 
@@ -158,6 +164,12 @@
         Interface contractInterface = contract.getInterface();
 
         if (contract.getCallbackInterface() != null) {
+            this.callbackID = createCallbackID();
+        }
+    }
+
+    protected void initCallbackID() {
+        if (reference.getInterfaceContract().getCallbackInterface() != null) {
             this.callbackID = createCallbackID();
         }
     }

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/RequestContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/RequestContextImpl.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/RequestContextImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/RequestContextImpl.java Fri Jan  4 04:59:56 2008
@@ -64,7 +64,7 @@
         RuntimeComponent component = (RuntimeComponent) to.getComponent();
         
         CallableReference<B> callableReference = component.getComponentContext().getCallableReference(null, component, service);
-        ReferenceParameters parameters = msgContext.getTo().getReferenceParameters();
+        ReferenceParameters parameters = msgContext.getFrom().getReferenceParameters();
         ((CallableReferenceImpl<B>) callableReference).attachCallbackID(parameters.getCallbackID());
         if (callableReference.getConversation() != null) {
             ((CallableReferenceImpl<B>) callableReference).attachConversationID(parameters.getConversationID());
@@ -95,7 +95,7 @@
         List<RuntimeWire> wires = callbackReference.getRuntimeWires();
         CallbackReferenceImpl ref = new CallbackReferenceImpl(javaClass, proxyFactory, wires);
         ref.resolveTarget();
-        ReferenceParameters parameters = msgContext.getTo().getReferenceParameters();
+        ReferenceParameters parameters = msgContext.getFrom().getReferenceParameters();
         ref.attachCallbackID(parameters.getCallbackID());
         if (ref.getConversation() != null) {
             ref.attachConversationID(parameters.getConversationID());

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ServiceReferenceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ServiceReferenceImpl.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ServiceReferenceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ServiceReferenceImpl.java Fri Jan  4 04:59:56 2008
@@ -123,7 +123,7 @@
             } else {
                 EndpointReference callbackRef = getRuntimeWire().getSource().getCallbackEndpoint();
                 parameters.setCallbackReference(callbackRef);
-                parameters.setCallbackObjectID("java:" + System.identityHashCode(callback));
+                parameters.setCallbackObjectID(callback);
             }
         }
         return parameters;

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackInterfaceInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackInterfaceInterceptor.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackInterfaceInterceptor.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackInterfaceInterceptor.java Fri Jan  4 04:59:56 2008
@@ -37,7 +37,7 @@
     }
 
     public Message invoke(Message msg) {
-        ReferenceParameters parameters = msg.getTo().getReferenceParameters();
+        ReferenceParameters parameters = msg.getFrom().getReferenceParameters();
         if (parameters.getCallbackObjectID() != null || parameters.getCallbackReference() != msg.getFrom()
             .getCallbackEndpoint()) {
             return next.invoke(msg);

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackReferenceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackReferenceImpl.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackReferenceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackReferenceImpl.java Fri Jan  4 04:59:56 2008
@@ -128,11 +128,11 @@
      * @param msgContext
      */
     private static EndpointReference getCallbackEndpoint(Message msgContext) {
-        EndpointReference to = msgContext.getTo();
-        if (to == null) {
+        EndpointReference from = msgContext.getFrom();
+        if (from == null) {
             return null;
         }
-        return to.getReferenceParameters().getCallbackReference();
+        return from.getReferenceParameters().getCallbackReference();
     }
 
     private static RuntimeWire cloneAndBind(Message msgContext, RuntimeWire wire) {

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKCallbackInvocationHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKCallbackInvocationHandler.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKCallbackInvocationHandler.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKCallbackInvocationHandler.java Fri Jan  4 04:59:56 2008
@@ -81,7 +81,7 @@
             // create a conversation id if one doesn't exist 
             // already, i.e. the conversation is just starting
             if (convID == null) {
-                convID = msgContext.getTo().getReferenceParameters().getConversationID();
+                convID = msgContext.getFrom().getReferenceParameters().getConversationID();
                 if (convID != null) {
                     conversation = ((RuntimeWireImpl)wire).getConversationManager().getConversation(convID);
                     if (callableReference != null) {
@@ -91,10 +91,10 @@
             }
         }
 
-        Object callbackID = msgContext.getTo().getReferenceParameters().getCallbackID();
+        Object callbackID = msgContext.getFrom().getReferenceParameters().getCallbackID();
         ((CallbackReferenceImpl)callableReference).attachCallbackID(callbackID);
 
-        EndpointReference epr = msgContext.getTo().getReferenceParameters().getCallbackReference();
+        EndpointReference epr = msgContext.getFrom().getReferenceParameters().getCallbackReference();
         setEndpoint(epr);
 
         // need to set the endpoint on the binding also so that when the chains are created next

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java Fri Jan  4 04:59:56 2008
@@ -239,7 +239,7 @@
         msg.setBody(args);
 
         Message msgContext = ThreadMessageContext.getMessageContext();
-        Object currentConversationID = msgContext.getTo().getReferenceParameters().getConversationID();
+        Object currentConversationID = msgContext.getFrom().getReferenceParameters().getConversationID();
 
         conversationPreinvoke(msg, wire);
         handleCallback(msg, wire, currentConversationID);
@@ -266,7 +266,7 @@
      */
     private void handleCallback(Message msg, RuntimeWire wire, Object currentConversationID)
         throws TargetResolutionException {
-        ReferenceParameters parameters = msg.getTo().getReferenceParameters();
+        ReferenceParameters parameters = msg.getFrom().getReferenceParameters();
         parameters.setCallbackID(getCallbackID());
         if (wire.getSource() == null || wire.getSource().getCallbackEndpoint() == null) {
             return;
@@ -305,7 +305,7 @@
                             InstanceWrapper wrapper = new CallbackObjectWrapper(callbackObject);
                             scopeContainer.registerWrapper(wrapper, conversation.getConversationID());
                         }
-                        parameters.setCallbackObjectID("java:" + System.identityHashCode(callbackObject));
+                        parameters.setCallbackObjectID(callbackObject);
                     }
                 }
             }
@@ -331,7 +331,7 @@
         }
         // TODO - assuming that the conversation ID is a string here when
         //       it can be any object that is serializable to XML
-        msg.getTo().getReferenceParameters().setConversationID(conversation.getConversationID());
+        msg.getFrom().getReferenceParameters().setConversationID(conversation.getConversationID());
 
     }
 

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/RuntimeWireInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/RuntimeWireInvoker.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/RuntimeWireInvoker.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/RuntimeWireInvoker.java Fri Jan  4 04:59:56 2008
@@ -55,7 +55,6 @@
     protected boolean conversational;
     protected ExtendedConversation conversation;
     protected MessageFactory messageFactory;
-    protected EndpointReference endpoint;
     protected Object conversationID;
     protected Object callbackID;
     protected Object callbackObject;
@@ -90,30 +89,26 @@
     }
 
     protected Object invoke(InvocationChain chain, Message msg, RuntimeWire wire) throws InvocationTargetException {
-
-        msg.setFrom(wire.getSource());
-        EndpointReference epTo = null;
-        if (endpoint != null) {
-            epTo = endpoint;
-        } else {
-            epTo = wire.getTarget();
-        }
-        if (msg.getTo() != null) {
-            msg.getTo().mergeEndpoint(epTo);
+        EndpointReference from = msg.getFrom();
+        EndpointReference epFrom = wire.getSource();
+        if (from != null) {
+            from.mergeEndpoint(epFrom);
         } else {
-            msg.setTo(epTo);
+            msg.setFrom(epFrom);
         }
+        msg.setTo(wire.getTarget());
+
         Invoker headInvoker = chain.getHeadInvoker();
         Operation operation = chain.getTargetOperation();
         msg.setOperation(operation);
 
         Message msgContext = ThreadMessageContext.getMessageContext();
-        Object currentConversationID = msgContext.getTo().getReferenceParameters().getConversationID();
+        Object currentConversationID = msgContext.getFrom().getReferenceParameters().getConversationID();
 
         ThreadMessageContext.setMessageContext(msg);
         try {
             conversationPreinvoke(msg);
-            handleCallback(msg, currentConversationID);
+            // handleCallback(msg, currentConversationID);
             // dispatch the wire down the chain and get the response
             Message resp = headInvoker.invoke(msg);
             Object body = resp.getBody();
@@ -140,21 +135,20 @@
      * @param msgContext
      */
     protected EndpointReference getCallbackEndpoint(Message msgContext) {
-        EndpointReference to = msgContext.getTo();
-        return to == null ? null : to.getReferenceParameters().getCallbackReference();
+        EndpointReference from = msgContext.getFrom();
+        return from == null ? null : from.getReferenceParameters().getCallbackReference();
     }
 
     /**
-     * @param msg
-     * @param wire
-     * @param interfaze
-     * @throws TargetResolutionException
+     * This method has bugs in it and is not needed by this class.  It is no
+     * longer called and will be removed completely when I finish my cleanup
+     * of this class.
      */
     @SuppressWarnings("unchecked")
     private void handleCallback(Message msg, Object currentConversationID) throws TargetResolutionException {
         EndpointReference from = msg.getFrom();
-        EndpointReference to = msg.getTo();
-        msg.getTo().getReferenceParameters().setCallbackID(callbackID);
+        ReferenceParameters parameters = from.getReferenceParameters();
+        parameters.setCallbackID(callbackID);
         if (from == null || from.getCallbackEndpoint() == null) {
             return;
         }
@@ -168,12 +162,10 @@
             ScopeContainer scopeContainer = getConversationalScopeContainer(msg);
 
             if (scopeContainer != null) {
-                scopeContainer.addWrapperReference(currentConversationID, to.getReferenceParameters()
-                    .getConversationID());
+                scopeContainer.addWrapperReference(currentConversationID, parameters.getConversationID());
             }
         }
 
-        ReferenceParameters parameters = msg.getTo().getReferenceParameters();
         Interface interfaze = msg.getOperation().getInterface();
         if (callbackObject != null) {
             if (callbackObject instanceof ServiceReference) {
@@ -190,7 +182,7 @@
                             InstanceWrapper wrapper = new CallbackObjectWrapper(callbackObject);
                             scopeContainer.registerWrapper(wrapper, conversation.getConversationID());
                         }
-                        parameters.setCallbackObjectID("java:" + System.identityHashCode(callbackObject));
+                        parameters.setCallbackObjectID(callbackObject);
                     }
                 }
             }
@@ -204,10 +196,12 @@
      */
     private void conversationPreinvoke(Message msg) {
         if (conversational) {
+            ReferenceParameters parameters = msg.getFrom().getReferenceParameters();
             // in some cases the ConversationID that should be used comes in with the 
-            // message, e.g. when ws binding is in use. 
-            if (msg.getTo().getReferenceParameters().getConversationID() != null) {
-                conversationID =  msg.getTo().getReferenceParameters().getConversationID();
+            // message, e.g. when ws binding is in use.
+            Object convID = parameters.getConversationID();
+            if (convID != null) {
+                conversationID = convID;
             }
             conversation = conversationManager.getConversation(conversationID);
             
@@ -215,9 +209,8 @@
                 conversation = conversationManager.startConversation(conversationID);
             }
     
-            msg.getTo().getReferenceParameters().setConversationID(conversation.getConversationID());
+            parameters.setConversationID(conversation.getConversationID());
         }
-
     }
 
     /**
@@ -234,8 +227,9 @@
             if (sequence == ConversationSequence.CONVERSATION_END) {
                 // in some cases the ConversationID that should be used comes in with the 
                 // message, e.g. when ws binding is in use. 
-                if (msg.getTo().getReferenceParameters().getConversationID() != null) {
-                    conversationID =  msg.getTo().getReferenceParameters().getConversationID();
+                Object convID = msg.getFrom().getReferenceParameters().getConversationID();
+                if (convID != null) {
+                    conversationID = convID;
                 }
                 conversation = conversationManager.getConversation(conversationID);            
     

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ConversationalScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ConversationalScopeContainer.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ConversationalScopeContainer.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ConversationalScopeContainer.java Fri Jan  4 04:59:56 2008
@@ -147,7 +147,7 @@
             Message msgContext = ThreadMessageContext.getMessageContext();
 
             if (msgContext != null) {
-                msgContext.getTo().getReferenceParameters().setConversationID(contextId);
+                msgContext.getFrom().getReferenceParameters().setConversationID(contextId);
             }
         }    
         

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/CallbackInterfaceInterceptorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/CallbackInterfaceInterceptorTestCase.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/CallbackInterfaceInterceptorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/CallbackInterfaceInterceptorTestCase.java Fri Jan  4 04:59:56 2008
@@ -41,7 +41,7 @@
         interceptor.setNext(next);
         Message msg = new MessageFactoryImpl().createMessage();
         msg.setFrom(new EndpointReferenceImpl("uri"));
-        msg.getTo().getReferenceParameters().setCallbackObjectID("java:" + System.identityHashCode("ABC"));
+        msg.getFrom().getReferenceParameters().setCallbackObjectID("ABC");
         interceptor.invoke(msg);
         EasyMock.verify(next);
     }
@@ -50,7 +50,7 @@
         CallbackInterfaceInterceptor interceptor = new CallbackInterfaceInterceptor();
         Message msg = new MessageFactoryImpl().createMessage();
         msg.setFrom(new EndpointReferenceImpl("uri"));
-        msg.getTo().getReferenceParameters().setCallbackObjectID(null);
+        msg.getFrom().getReferenceParameters().setCallbackObjectID(null);
         try {
             interceptor.invoke(msg);
             fail();

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ConversationIDObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ConversationIDObjectFactory.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ConversationIDObjectFactory.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ConversationIDObjectFactory.java Fri Jan  4 04:59:56 2008
@@ -27,7 +27,7 @@
     }
 
     public Object getInstance() {
-        return ThreadMessageContext.getMessageContext().getTo().getReferenceParameters().getConversationID();
+        return ThreadMessageContext.getMessageContext().getFrom().getReferenceParameters().getConversationID();
 
     }
 }

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java Fri Jan  4 04:59:56 2008
@@ -64,10 +64,10 @@
 
         Object contextId = null;
 
-        EndpointReference to = msg.getTo();
+        EndpointReference from = msg.getFrom();
         ReferenceParameters parameters = null;
-        if (to != null) {
-            parameters = to.getReferenceParameters();
+        if (from != null) {
+            parameters = from.getReferenceParameters();
         }
         // check what sort of context is required
         if (scopeContainer != null) {

Modified: incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTargetInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTargetInvoker.java?rev=608822&r1=608821&r2=608822&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTargetInvoker.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTargetInvoker.java Fri Jan  4 04:59:56 2008
@@ -101,11 +101,11 @@
 
         Object contextId = null;
 
-        EndpointReference to = msg.getTo();
+        EndpointReference from = msg.getFrom();
         ReferenceParameters parameters = null;
 
-        if (to != null) {
-            parameters = to.getReferenceParameters();
+        if (from != null) {
+            parameters = from.getReferenceParameters();
         }
         // check what sort of context is required
         if (scopeContainer != null) {



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org