Author: bvahdat
Date: Sat Feb 11 10:31:31 2012
New Revision: 1243023

URL: http://svn.apache.org/viewvc?rev=1243023&view=rev
Log:
CAMEL-4998: Optimized the logic in that now we do NOT touch the spring 
WebServiceTemplate at all if no timeout configuration is given.

Modified:
    
camel/trunk/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java

Modified: 
camel/trunk/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java?rev=1243023&r1=1243022&r2=1243023&view=diff
==============================================================================
--- 
camel/trunk/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java
 (original)
+++ 
camel/trunk/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java
 Sat Feb 11 10:31:31 2012
@@ -90,6 +90,10 @@ public class SpringWebserviceProducer ex
     }
 
     private static void populateTimeout(SpringWebserviceConfiguration 
configuration) throws Exception {
+        if (!(configuration.getTimeout() > -1)) {
+            return;
+        }
+
         WebServiceTemplate webServiceTemplate = 
configuration.getWebServiceTemplate();
         List<WebServiceMessageSender> webServiceMessageSenders = new 
ArrayList<WebServiceMessageSender>(webServiceTemplate.getMessageSenders().length);
         Collections.addAll(webServiceMessageSenders, 
webServiceTemplate.getMessageSenders());
@@ -99,41 +103,26 @@ public class SpringWebserviceProducer ex
                 setTimeOut(commonsHttpMessageSender, configuration);
             } else if (webServiceMessageSender instanceof 
HttpsUrlConnectionMessageSender) {
                 // Should check HttpsUrlConnectionMessageSender beforehand as 
it extends HttpUrlConnectionMessageSender
-                if (shouldConsiderTimeoutConfiguration(configuration)) {
-                    webServiceMessageSenders.remove(webServiceMessageSender);
-                    webServiceMessageSenders.add(new 
CamelHttpsUrlConnectionMessageSender(configuration, 
(HttpsUrlConnectionMessageSender) webServiceMessageSender));
-                }
+                webServiceMessageSenders.remove(webServiceMessageSender);
+                webServiceMessageSenders.add(new 
CamelHttpsUrlConnectionMessageSender(configuration, 
(HttpsUrlConnectionMessageSender) webServiceMessageSender));
             } else if (webServiceMessageSender instanceof 
HttpUrlConnectionMessageSender) {
-                if (shouldConsiderTimeoutConfiguration(configuration)) {
-                    webServiceMessageSenders.remove(webServiceMessageSender);
-                    webServiceMessageSenders.add(new 
CamelHttpUrlConnectionMessageSender(configuration, 
(HttpUrlConnectionMessageSender) webServiceMessageSender));
-                }
+                webServiceMessageSenders.remove(webServiceMessageSender);
+                webServiceMessageSenders.add(new 
CamelHttpUrlConnectionMessageSender(configuration, 
(HttpUrlConnectionMessageSender) webServiceMessageSender));
             } else {
-                // Warn only if the timeout option has been explicitly 
specified
-                if (shouldConsiderTimeoutConfiguration(configuration)) {
-                    // For example this will be the case during unit-testing 
with the net.javacrumbs.spring-ws-test API
-                    LOG.warn("Ignoring the timeout option for {} as there's no 
provided API available to populate it!", webServiceMessageSender);
-                }
+                // For example this will be the case during unit-testing with 
the net.javacrumbs.spring-ws-test API
+                LOG.warn("Ignoring the timeout option for {} as there's no 
provided API available to populate it!", webServiceMessageSender);
             }
         }
 
         
webServiceTemplate.setMessageSenders(webServiceMessageSenders.toArray(new 
WebServiceMessageSender[webServiceMessageSenders.size()]));
     }
 
-    private static boolean 
shouldConsiderTimeoutConfiguration(SpringWebserviceConfiguration configuration) 
{
-        return configuration.getTimeout() > -1;
-    }
-
     private static void setTimeOut(HttpURLConnection connection, 
SpringWebserviceConfiguration configuration) {
-        if (shouldConsiderTimeoutConfiguration(configuration)) {
-            connection.setReadTimeout(configuration.getTimeout());
-        }
+        connection.setReadTimeout(configuration.getTimeout());
     }
 
     private static void setTimeOut(CommonsHttpMessageSender 
commonsHttpMessageSender, SpringWebserviceConfiguration configuration) {
-        if (shouldConsiderTimeoutConfiguration(configuration)) {
-            
commonsHttpMessageSender.setReadTimeout(configuration.getTimeout());
-        }
+        commonsHttpMessageSender.setReadTimeout(configuration.getTimeout());
     }
 
     protected static class CamelHttpUrlConnectionMessageSender extends 
HttpUrlConnectionMessageSender {
@@ -166,7 +155,7 @@ public class SpringWebserviceProducer ex
             // Populate the single acceptGzipEncoding property beforehand as 
we have got a proper set/is API for it
             
setAcceptGzipEncoding(webServiceMessageSender.isAcceptGzipEncoding());
 
-            // Populate the fields having no getXXX available on 
HttpsUrlConnectionMessageSender
+            // Populate the fields not having getXXX available on 
HttpsUrlConnectionMessageSender
             
ReflectionHelper.doWithFields(HttpsUrlConnectionMessageSender.class, new 
FieldCallback() {
 
                 @Override


Reply via email to