Author: hemapani
Date: Wed Jan  5 07:48:44 2011
New Revision: 1055338

URL: http://svn.apache.org/viewvc?rev=1055338&view=rev
Log:
fixing https://issues.apache.org/jira/browse/AXIS2-4196

Modified:
    
axis/axis2/java/core/trunk/modules/integration/test/org/apache/axis2/engine/MessageContextChangeTest.java
    
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/context/MessageContext.java
    
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java
    
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/engine/AxisEngine.java
    
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/Utils.java
    
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/HTTPSender.java

Modified: 
axis/axis2/java/core/trunk/modules/integration/test/org/apache/axis2/engine/MessageContextChangeTest.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/integration/test/org/apache/axis2/engine/MessageContextChangeTest.java?rev=1055338&r1=1055337&r2=1055338&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/integration/test/org/apache/axis2/engine/MessageContextChangeTest.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/integration/test/org/apache/axis2/engine/MessageContextChangeTest.java
 Wed Jan  5 07:48:44 2011
@@ -56,7 +56,7 @@ public class MessageContextChangeTest ex
             new FieldDescription("java.lang.String", "TRANSPORT_SUCCEED"),
             new FieldDescription("java.lang.String", 
"DEFAULT_CHAR_SET_ENCODING"),
             new FieldDescription("int", "FLOW"),
-            new FieldDescription("java.lang.String", "TRANSPORT_NON_BLOCKING"),
+            new FieldDescription("java.lang.String", 
"CLIENT_API_NON_BLOCKING"),
             new FieldDescription("java.lang.String", 
"DISABLE_ASYNC_CALLBACK_ON_TRANSPORT_ERROR"),
             new FieldDescription("boolean", "processingFault"),
             new FieldDescription("boolean", "paused"),

Modified: 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/context/MessageContext.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/context/MessageContext.java?rev=1055338&r1=1055337&r2=1055338&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/context/MessageContext.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/context/MessageContext.java
 Wed Jan  5 07:48:44 2011
@@ -235,11 +235,15 @@ public class MessageContext extends Abst
     public int FLOW = IN_FLOW;
 
     /**
-     * To invoke fireAndforget method we have to hand over transport sending 
logic to a thread
-     * other wise user has to wait till it get transport response (in the case 
of HTTP its HTTP
-     * 202)
+      * To invoke fireAndforget method we have to hand over transport sending 
logic to a thread
+      * other wise user has to wait till it get transport response (in the 
case of HTTP its HTTP
+      * 202)
+      * 202). This was eariler named TRANSPORT_NON_BLOCKING, but that name is 
wrong as transport non blocking is NIO,
+      * which has nothing to do with this property. See 
https://issues.apache.org/jira/browse/AXIS2-4196. 
+      * Renaming this to CLIENT_API_NON_BLOCKING instead.  
+      * 
      */
-    public static final String TRANSPORT_NON_BLOCKING = "transportNonBlocking";
+    public static final String CLIENT_API_NON_BLOCKING = 
"ClientApiNonBlocking";
 
     /**
      * This property allows someone (e.g. RM) to disable an async callback from

Modified: 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java?rev=1055338&r1=1055337&r2=1055338&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/OutInAxisOperation.java
 Wed Jan  5 07:48:44 2011
@@ -307,7 +307,7 @@ class OutInAxisOperationClient extends O
         }
 
         //if we don't do this , this guy will wait till it gets HTTP 202 in 
the HTTP case
-        mc.setProperty(MessageContext.TRANSPORT_NON_BLOCKING, Boolean.TRUE);
+        mc.setProperty(MessageContext.CLIENT_API_NON_BLOCKING, Boolean.TRUE);
         
mc.getConfigurationContext().registerOperationContext(mc.getMessageID(), oc);
         AxisEngine.send(mc);
                if (internalCallback != null) {

Modified: 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/engine/AxisEngine.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/engine/AxisEngine.java?rev=1055338&r1=1055337&r2=1055338&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/engine/AxisEngine.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/engine/AxisEngine.java
 Wed Jan  5 07:48:44 2011
@@ -46,10 +46,13 @@ import org.apache.axis2.transport.Transp
 import org.apache.axis2.util.CallbackReceiver;
 import org.apache.axis2.util.LoggingControl;
 import org.apache.axis2.util.MessageContextBuilder;
+import org.apache.axis2.util.Utils;
 import org.apache.axis2.wsdl.WSDLConstants;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+
+
 /**
  * There is one engine for the Server and the Client. the send() and receive()
  * Methods are the basic operations the Sync, Async messageing are build on 
top.
@@ -433,10 +436,7 @@ public class AxisEngine {
                 // This boolean property only used in client side 
fireAndForget invocation
                 //It will set a property into message context and if some one 
has set the
                 //property then transport sender will invoke in a diffrent 
thread
-                Object isTransportNonBlocking = msgContext.getProperty(
-                        MessageContext.TRANSPORT_NON_BLOCKING);
-                if (isTransportNonBlocking != null &&
-                        ((Boolean) isTransportNonBlocking).booleanValue()) {
+                if (Utils.isClientThreadNonBlockingPropertySet(msgContext)) {
                     
msgContext.getConfigurationContext().getThreadPool().execute(
                             new 
TransportNonBlockingInvocationWorker(msgContext, sender));
                 } else {

Modified: 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/Utils.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/Utils.java?rev=1055338&r1=1055337&r2=1055338&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/Utils.java 
(original)
+++ 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/Utils.java 
Wed Jan  5 07:48:44 2011
@@ -799,4 +799,22 @@ public class Utils {
             return serviceObject == null ? null : serviceObject.getClass();
         }
     }
+    
+    /**
+     * this is to make is backward compatible. Get rid of this at the next 
major release. 
+     * @param messageContext
+     * @return
+     */
+    
+    public static boolean isClientThreadNonBlockingPropertySet(MessageContext 
messageContext){
+       Object val =  messageContext.getProperty(
+                MessageContext.CLIENT_API_NON_BLOCKING); 
+       if(val != null && ((Boolean)val).booleanValue()){
+               return true; 
+       }else{
+               //put the string inline as this is to be removed
+               val =  messageContext.getProperty("transportNonBlocking"); 
+               return val != null && ((Boolean)val).booleanValue();
+       }
+    }
 }

Modified: 
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/HTTPSender.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/HTTPSender.java?rev=1055338&r1=1055337&r2=1055338&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/HTTPSender.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/HTTPSender.java
 Wed Jan  5 07:48:44 2011
@@ -298,12 +298,11 @@ public class HTTPSender extends Abstract
 
                 processResponse(method, msgContext);
             }
-            Object isTransportNonBlocking = msgContext.getProperty(
-                    MessageContext.TRANSPORT_NON_BLOCKING);
-            if (isTransportNonBlocking != null && 
(Boolean)isTransportNonBlocking) {
-                throw new AxisFault(Messages.getMessage("transportError",
-                        String.valueOf(statusCode),
-                        method.getStatusText()));
+            
+            if 
(org.apache.axis2.util.Utils.isClientThreadNonBlockingPropertySet(msgContext)) {
+                throw new AxisFault(Messages.getMessage("transportError",
+                         String.valueOf(statusCode),
+                         method.getStatusText()));
             }
         } else {
             throw new AxisFault(Messages.getMessage("transportError",


Reply via email to