CAMEL-10603: Fixed ahc component real uri configuration. Thanks to Thomas 
Günter for the patch.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/414df4dd
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/414df4dd
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/414df4dd

Branch: refs/heads/camel-2.18.x
Commit: 414df4ddd7293039bb89567433270496101ff13a
Parents: 8c862aa
Author: Claus Ibsen <davscl...@apache.org>
Authored: Thu Dec 15 17:10:43 2016 +0100
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Thu Dec 15 17:11:27 2016 +0100

----------------------------------------------------------------------
 .../apache/camel/component/ahc/AhcComponent.java    | 16 ++++++++++++++--
 .../component/ahc/AhcClientConfigRealmUriTest.java  |  4 ++--
 2 files changed, 16 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/414df4dd/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java
 
b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java
index 6577c60..7a22dc0 100644
--- 
a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java
+++ 
b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java
@@ -22,6 +22,7 @@ import java.util.Map;
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.HeaderFilterStrategyComponent;
 import org.apache.camel.util.IntrospectionSupport;
+import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.URISupport;
 import org.apache.camel.util.UnsafeUriCharactersEncoder;
 import org.apache.camel.util.jsse.SSLContextParameters;
@@ -41,7 +42,7 @@ public class AhcComponent extends 
HeaderFilterStrategyComponent {
     private static final Logger LOG = 
LoggerFactory.getLogger(AhcComponent.class);
     
     private static final String CLIENT_CONFIG_PREFIX = "clientConfig.";
-    private static final String CLIENT_REALM_CONFIG_PREFIX = "realm.";
+    private static final String CLIENT_REALM_CONFIG_PREFIX = 
"clientConfig.realm.";
 
     private AsyncHttpClient client;
     private AsyncHttpClientConfig clientConfig;
@@ -92,7 +93,18 @@ public class AhcComponent extends 
HeaderFilterStrategyComponent {
 
                 // set and validate additional parameters on client config
                 Map<String, Object> realmParams = 
IntrospectionSupport.extractProperties(parameters, CLIENT_REALM_CONFIG_PREFIX);
-                realmBuilder = new 
Realm.Builder(realmParams.get("realm.principal").toString(), 
realmParams.get("realm.password").toString());
+
+                Object principal = realmParams.remove("principal");
+                Object password = realmParams.remove("password");
+
+                if (ObjectHelper.isEmpty(principal)) {
+                    throw new 
IllegalArgumentException(CLIENT_REALM_CONFIG_PREFIX + ".principal must be 
configured");
+                }
+                if (password == null) {
+                    password = "";
+                }
+
+                realmBuilder = new Realm.Builder(principal.toString(), 
password.toString());
                 setProperties(realmBuilder, realmParams);
                 validateParameters(uri, realmParams, null);
             }

http://git-wip-us.apache.org/repos/asf/camel/blob/414df4dd/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigRealmUriTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigRealmUriTest.java
 
b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigRealmUriTest.java
index 22a515a..ff070b2 100644
--- 
a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigRealmUriTest.java
+++ 
b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/AhcClientConfigRealmUriTest.java
@@ -24,8 +24,8 @@ public class AhcClientConfigRealmUriTest extends BaseAhcTest {
     @Test
     public void testAhcProduce() throws Exception {
         Object out = template.requestBody(getAhcEndpointUri()
-                + "?realm.scheme=DIGEST&realm.principal=someUser"
-                + "&realm.password=somePass&realm.usePreemptiveAuth=true", 
null, String.class);
+                + 
"?clientConfig.realm.scheme=DIGEST&clientConfig.realm.principal=someUser"
+                + 
"&clientConfig.realm.password=somePass&clientConfig.realm.usePreemptiveAuth=true",
 null, String.class);
         assertEquals("Bye World", out);
     }
 

Reply via email to