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);