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