You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by jm...@apache.org on 2002/10/30 00:58:02 UTC
cvs commit: xml-axis/java/src/org/apache/axis/ime/internal/util/handler HandlerMessageExchange.java
jmsnell 2002/10/29 15:58:02
Modified: java/src/org/apache/axis/ime/internal/util/handler
HandlerMessageExchange.java
Log:
Modified HandlerMessageExchange (utility class that wraps the MessageExchange interface around a Handler)
to better support targeted chains
Revision Changes Path
1.3 +22 -2 xml-axis/java/src/org/apache/axis/ime/internal/util/handler/HandlerMessageExchange.java
Index: HandlerMessageExchange.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/ime/internal/util/handler/HandlerMessageExchange.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- HandlerMessageExchange.java 29 Oct 2002 23:33:40 -0000 1.2
+++ HandlerMessageExchange.java 29 Oct 2002 23:58:02 -0000 1.3
@@ -56,6 +56,7 @@
package org.apache.axis.ime.internal.util.handler;
import org.apache.axis.Handler;
+import org.apache.axis.TargetedChain;
import org.apache.axis.MessageContext;
import org.apache.axis.ime.MessageExchangeCorrelator;
import org.apache.axis.ime.MessageContextListener;
@@ -96,6 +97,22 @@
return new FirstComeFirstServeDispatchPolicy(RECEIVE, RECEIVE_REQUESTS);
}
+ protected Handler getSendHandler() {
+ Handler h = null;
+ if (handler instanceof TargetedChain) {
+ h = ((TargetedChain)handler).getRequestHandler();
+ }
+ return h;
+ }
+
+ protected Handler getReceiveHandler() {
+ Handler h = null;
+ if (handler instanceof TargetedChain) {
+ h = ((TargetedChain)handler).getResponseHandler();
+ }
+ return h;
+ }
+
public class Listener
implements MessageExchangeSendListener {
@@ -121,8 +138,11 @@
MessageExchangeCorrelator correlator =
context.getMessageExchangeCorrelator();
- // should I do init's and cleanup's in here?
- handler.invoke(msgContext);
+ if (handler instanceof TargetedChain) {
+ ((TargetedChain)handler).getPivotHandler().invoke(msgContext);
+ } else {
+ handler.invoke(msgContext);
+ }
RECEIVE.put(correlator, context);