You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2013/01/19 12:29:32 UTC

svn commit: r1435525 - in /camel/trunk/components/camel-ahc/src: main/java/org/apache/camel/component/ahc/AhcComponent.java test/java/org/apache/camel/component/ahc/AhcClientConfigRealmUriTest.java

Author: davsclaus
Date: Sat Jan 19 11:29:31 2013
New Revision: 1435525

URL: http://svn.apache.org/viewvc?rev=1435525&view=rev
Log:
CAMEL-4869: Make it easier to configure realm in camel-ahc from the endpoint uri.

Added:
    camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigRealmUriTest.java
      - copied, changed from r1435501, camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigUriTest.java
Modified:
    camel/trunk/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java

Modified: camel/trunk/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java?rev=1435525&r1=1435524&r2=1435525&view=diff
==============================================================================
--- camel/trunk/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java (original)
+++ camel/trunk/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java Sat Jan 19 11:29:31 2013
@@ -22,6 +22,7 @@ import java.util.Map;
 import com.ning.http.client.AsyncHttpClient;
 import com.ning.http.client.AsyncHttpClientConfig;
 
+import com.ning.http.client.Realm;
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.HeaderFilterStrategyComponent;
 import org.apache.camel.util.IntrospectionSupport;
@@ -40,6 +41,7 @@ public class AhcComponent extends Header
     private static final transient Logger LOG = LoggerFactory.getLogger(AhcComponent.class);
     
     private static final String CLIENT_CONFIG_PREFIX = "clientConfig.";
+    private static final String CLIENT_REALM_CONFIG_PREFIX = "clientConfig.realm.";
 
     private AsyncHttpClient client;
     private AsyncHttpClientConfig clientConfig;
@@ -60,7 +62,7 @@ public class AhcComponent extends Header
         endpoint.setSslContextParameters(getSslContextParameters());
         
         setProperties(endpoint, parameters);
-        
+
         if (IntrospectionSupport.hasProperties(parameters, CLIENT_CONFIG_PREFIX)) {
             AsyncHttpClientConfig.Builder builder = endpoint.getClientConfig() == null 
                     ? new AsyncHttpClientConfig.Builder() : AhcComponent.cloneConfig(endpoint.getClientConfig());
@@ -78,12 +80,26 @@ public class AhcComponent extends Header
                          + " of the explicitly configured AsyncHttpClientConfig.  That is, the URI parameters override the"
                          + " settings on the explicitly configured AsyncHttpClientConfig for this endpoint.");
             }
-            
+
+            // special for realm builder
+            Realm.RealmBuilder realmBuilder = null;
+            if (IntrospectionSupport.hasProperties(parameters, CLIENT_REALM_CONFIG_PREFIX)) {
+                realmBuilder = new Realm.RealmBuilder();
+
+                // set and validate additional parameters on client config
+                Map<String, Object> realmParams = IntrospectionSupport.extractProperties(parameters, CLIENT_REALM_CONFIG_PREFIX);
+                setProperties(realmBuilder, realmParams);
+                validateParameters(uri, realmParams, null);
+            }
+
             // set and validate additional parameters on client config
             Map<String, Object> clientParams = IntrospectionSupport.extractProperties(parameters, CLIENT_CONFIG_PREFIX);
             setProperties(builder, clientParams);
             validateParameters(uri, clientParams, null);
-            
+
+            if (realmBuilder != null) {
+                builder.setRealm(realmBuilder.build());
+            }
             endpoint.setClientConfig(builder.build());
         }
 

Copied: camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigRealmUriTest.java (from r1435501, camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigUriTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigRealmUriTest.java?p2=camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigRealmUriTest.java&p1=camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigUriTest.java&r1=1435501&r2=1435525&rev=1435525&view=diff
==============================================================================
--- camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigUriTest.java (original)
+++ camel/trunk/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigRealmUriTest.java Sat Jan 19 11:29:31 2013
@@ -19,11 +19,13 @@ package org.apache.camel.component.ahc;
 import org.apache.camel.builder.RouteBuilder;
 import org.junit.Test;
 
-public class AhcClientConfigUriTest extends BaseAhcTest {
+public class AhcClientConfigRealmUriTest extends BaseAhcTest {
 
     @Test
     public void testAhcProduce() throws Exception {
-        Object out = template.requestBody(getAhcEndpointUri() + "?clientConfig.IOThreadMultiplier=4", null, String.class);
+        Object out = template.requestBody(getAhcEndpointUri()
+                + "?clientConfig.realm.scheme=DIGEST&clientConfig.realm.principal=someUser"
+                + "&clientConfig.realm.password=somePass&clientConfig.realm.usePreemptiveAuth=true", null, String.class);
         assertEquals("Bye World", out);
     }