Author: mlovett
Date: Wed Jan 17 01:31:47 2007
New Revision: 496974

URL: http://svn.apache.org/viewvc?view=rev&rev=496974
Log:
Add a util method for consistent UNRELIABLE_MESSAGE checking

Modified:
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java?view=diff&rev=496974&r1=496973&r2=496974
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java 
(original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java 
Wed Jan 17 01:31:47 2007
@@ -32,7 +32,6 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.neethi.Assertion;
 import org.apache.neethi.Policy;
-import org.apache.sandesha2.client.SandeshaClientConstants;
 import org.apache.sandesha2.i18n.SandeshaMessageHelper;
 import org.apache.sandesha2.i18n.SandeshaMessageKeys;
 import org.apache.sandesha2.policy.RMPolicyExtension;
@@ -119,10 +118,12 @@
                configContext.getAxisConfiguration().addTargetResolver(
                                new TargetResolver() {
                                        public void 
resolveTarget(MessageContext messageContext) {
-                                               String unreliable = (String) 
messageContext.getProperty(SandeshaClientConstants.UNRELIABLE_MESSAGE);
-                                               if("true".equals(unreliable)) {
+                                               if(log.isDebugEnabled()) 
log.debug("Entry: SandeshaModule::resolveTarget");
+                                               
if(SandeshaUtil.isMessageUnreliable(messageContext)) {
+                                                       
if(log.isDebugEnabled()) log.debug("Unsetting USE_ASYNC_OPERATIONS for 
unreliable message");
                                                        
messageContext.setProperty(Constants.Configuration.USE_ASYNC_OPERATIONS, 
Boolean.FALSE);
                                                }
+                                               if(log.isDebugEnabled()) 
log.debug("Exit: SandeshaModule::resolveTarget");
                                        }
                                }
                );

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java?view=diff&rev=496974&r1=496973&r2=496974
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
 Wed Jan 17 01:31:47 2007
@@ -22,13 +22,11 @@
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.context.OperationContextFactory;
 import org.apache.axis2.description.AxisService;
-import org.apache.axis2.description.Parameter;
 import org.apache.axis2.handlers.AbstractHandler;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.sandesha2.RMMsgContext;
 import org.apache.sandesha2.Sandesha2Constants;
-import org.apache.sandesha2.client.SandeshaClientConstants;
 import org.apache.sandesha2.i18n.SandeshaMessageHelper;
 import org.apache.sandesha2.i18n.SandeshaMessageKeys;
 import org.apache.sandesha2.msgprocessors.AckRequestedProcessor;
@@ -72,24 +70,12 @@
                }
 
                //see if this message is unreliable i.e. WSRM not requried
-               //look at the msg ctx first
-               {
-                       String unreliable = (String) 
msgCtx.getProperty(SandeshaClientConstants.UNRELIABLE_MESSAGE);
-                       if (null != unreliable && "true".equals(unreliable)) {
-                               if (log.isDebugEnabled())
-                                       log.debug("Exit: 
SandeshaOutHandler::invoke, Skipping sandesha processing for unreliable message 
" + returnValue);
-                               return returnValue;
-                       }                       
-               }
-               //look at the operation ctx
-               {
-                       Parameter unreliable = 
msgCtx.getAxisOperation().getParameter(SandeshaClientConstants.UNRELIABLE_MESSAGE);
-                       if (null != unreliable && 
"true".equals(unreliable.getValue())) {
-                               if (log.isDebugEnabled())
-                                       log.debug("Exit: 
SandeshaOutHandler::invoke, Skipping sandesha processing for unreliable message 
" + returnValue);
-                               return returnValue;
-                       }                               
+               if(SandeshaUtil.isMessageUnreliable(msgCtx)) {
+                       if (log.isDebugEnabled())
+                               log.debug("Exit: SandeshaOutHandler::invoke, 
Skipping sandesha processing for unreliable message " + returnValue);
+                       return returnValue;
                }
+
                // Also do not apply RM to fault messages
                {
                        if(msgCtx.isProcessingFault()) {

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java?view=diff&rev=496974&r1=496973&r2=496974
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java 
(original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java 
Wed Jan 17 01:31:47 2007
@@ -65,6 +65,7 @@
 import org.apache.sandesha2.RMMsgContext;
 import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.sandesha2.SandeshaException;
+import org.apache.sandesha2.client.SandeshaClientConstants;
 import org.apache.sandesha2.i18n.SandeshaMessageHelper;
 import org.apache.sandesha2.i18n.SandeshaMessageKeys;
 import org.apache.sandesha2.policy.SandeshaPolicyBean;
@@ -1190,4 +1191,28 @@
                
                return newEPR;
        }       
+       
+       public static boolean isMessageUnreliable(MessageContext mc) {
+               if(log.isDebugEnabled()) log.debug("Entry: 
SandeshaUtil::isMessageUnreliable");
+               boolean result = false;
+
+               //look at the msg ctx first
+               String unreliable = (String) 
mc.getProperty(SandeshaClientConstants.UNRELIABLE_MESSAGE);
+               if ("true".equals(unreliable)) {
+                       if (log.isDebugEnabled()) log.debug("Unreliable message 
context");
+                       result = true;
+               }                       
+               
+               if(!result) {
+                       //look at the operation
+                       Parameter unreliableParam = 
mc.getAxisOperation().getParameter(SandeshaClientConstants.UNRELIABLE_MESSAGE);
+                       if (null != unreliableParam && 
"true".equals(unreliableParam.getValue())) {
+                               if (log.isDebugEnabled()) log.debug("Unreliable 
operation");
+                               result = true;
+                       }
+               }
+               
+               if(log.isDebugEnabled()) log.debug("Exit: 
SandeshaUtil::isMessageUnreliable, " + result);
+               return result;
+       }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to