You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2017/07/13 07:23:27 UTC

qpid-broker-j git commit: NO-JIRA: Bump test dependency http-client from to 4.5.3

Repository: qpid-broker-j
Updated Branches:
  refs/heads/master 2d52d429e -> d63cab001


NO-JIRA: Bump test dependency http-client from to 4.5.3

Fixed deprecation warnings too.


Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/d63cab00
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/d63cab00
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/d63cab00

Branch: refs/heads/master
Commit: d63cab0014efa0f3a3cd7cd62b4fcfff848cf6e4
Parents: 2d52d42
Author: Keith Wall <ke...@gmail.com>
Authored: Wed Jul 12 22:49:31 2017 +0100
Committer: Keith Wall <ke...@gmail.com>
Committed: Thu Jul 13 08:21:05 2017 +0100

----------------------------------------------------------------------
 .../qpid/joramtests/admin/JavaBrokerAdmin.java  | 86 ++++++++++----------
 .../disttest/jms/QpidRestAPIQueueCreator.java   | 75 +++++++++--------
 pom.xml                                         |  2 +-
 .../apache/qpid/tck/ManageQpidJMSResources.java | 69 +++++++++-------
 4 files changed, 125 insertions(+), 107 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d63cab00/joramtests/src/main/java/org/apache/qpid/joramtests/admin/JavaBrokerAdmin.java
----------------------------------------------------------------------
diff --git a/joramtests/src/main/java/org/apache/qpid/joramtests/admin/JavaBrokerAdmin.java b/joramtests/src/main/java/org/apache/qpid/joramtests/admin/JavaBrokerAdmin.java
index 486fabe..28a82b3 100644
--- a/joramtests/src/main/java/org/apache/qpid/joramtests/admin/JavaBrokerAdmin.java
+++ b/joramtests/src/main/java/org/apache/qpid/joramtests/admin/JavaBrokerAdmin.java
@@ -1,4 +1,4 @@
-package org.apache.qpid.joramtests.admin;/*
+/*
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -19,8 +19,10 @@ package org.apache.qpid.joramtests.admin;/*
  *
  */
 
+package org.apache.qpid.joramtests.admin;
+
 import java.io.IOException;
-import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
 import java.util.Hashtable;
 
 import javax.jms.ConnectionFactory;
@@ -34,13 +36,18 @@ import javax.naming.NamingException;
 
 import org.apache.http.HttpHost;
 import org.apache.http.HttpRequest;
-import org.apache.http.HttpResponse;
+import org.apache.http.auth.AuthScope;
 import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.client.HttpClient;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.client.methods.CloseableHttpResponse;
 import org.apache.http.client.methods.HttpDelete;
 import org.apache.http.client.methods.HttpPut;
+import org.apache.http.client.protocol.HttpClientContext;
 import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.auth.BasicScheme;
+import org.apache.http.impl.client.BasicAuthCache;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
 import org.objectweb.jtests.jms.admin.Admin;
 
@@ -50,12 +57,11 @@ public class JavaBrokerAdmin implements Admin
     private final String _virtualhost;
 
     private final HttpHost _management;
-    private final String _managementUser;
-    private final String _managementPassword;
+    private final CredentialsProvider _credentialsProvider;
+    private final HttpClientContext _httpClientContext;
 
     private final InitialContext _context;
     private final String _queueApiUrl;
-
     private final String _topicApiUrl;
 
     public JavaBrokerAdmin() throws NamingException
@@ -63,8 +69,8 @@ public class JavaBrokerAdmin implements Admin
         final Hashtable<String, String> env = new Hashtable<>();
         _context = new InitialContext(env);
 
-        _managementUser = System.getProperty("joramtests.manangement-user", "guest");
-        _managementPassword = System.getProperty("joramtests.manangement-password", "guest");
+        final String managementUser = System.getProperty("joramtests.manangement-user", "guest");
+        final String managementPassword = System.getProperty("joramtests.manangement-password", "guest");
 
         _virtualhostnode = System.getProperty("joramtests.broker-virtualhostnode", "default");
         _virtualhost = System.getProperty("joramtests.broker-virtualhost", "default");
@@ -73,6 +79,8 @@ public class JavaBrokerAdmin implements Admin
         _queueApiUrl = System.getProperty("joramtests.manangement-api-queue", "/api/latest/queue/%s/%s/%s");
         _topicApiUrl = System.getProperty("joramtests.manangement-api-topic", "/api/latest/exchange/%s/%s/%s");
 
+        _credentialsProvider = getCredentialsProvider(managementUser, managementPassword);
+        _httpClientContext = getHttpClientContext(_management);
     }
 
 
@@ -85,7 +93,6 @@ public class JavaBrokerAdmin implements Admin
     @Override
     public Context createContext() throws NamingException
     {
-
         return _context;
     }
 
@@ -202,7 +209,7 @@ public class JavaBrokerAdmin implements Admin
     {
         HttpPut put = new HttpPut(String.format(_queueApiUrl, _virtualhostnode, _virtualhost, name));
 
-        StringEntity input = createStringEntity("{}");
+        StringEntity input = new StringEntity("{}", StandardCharsets.UTF_8);
         input.setContentType("application/json");
         put.setEntity(input);
 
@@ -213,7 +220,7 @@ public class JavaBrokerAdmin implements Admin
     {
         HttpPut put = new HttpPut(String.format(_topicApiUrl, _virtualhostnode, _virtualhost, name));
 
-        StringEntity input = createStringEntity("{\"type\" : \"fanout\"}");
+        StringEntity input = new StringEntity("{\"type\" : \"fanout\"}", StandardCharsets.UTF_8);
         input.setContentType("application/json");
 
         put.setEntity(input);
@@ -233,44 +240,41 @@ public class JavaBrokerAdmin implements Admin
         executeManagement(delete);
     }
 
-    private StringEntity createStringEntity(final String string)
-    {
-        try
-        {
-            return new StringEntity(string);
-        }
-        catch (UnsupportedEncodingException e)
-        {
-            throw new RuntimeException(e);
-        }
-    }
-
-
     private void executeManagement(final HttpRequest httpRequest)
     {
-        try
+        try(CloseableHttpClient httpClient = HttpClients.custom().setDefaultCredentialsProvider(_credentialsProvider).build())
         {
-            UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(_managementUser, _managementPassword);
-
-            final HttpClient httpClient = HttpClients.createDefault();
-
-
-            httpRequest.addHeader(new BasicScheme().authenticate(credentials, httpRequest));
-            final HttpResponse response = httpClient.execute(_management, httpRequest);
-
-
-            int statusCode = response.getStatusLine().getStatusCode();
-            if (statusCode != 200 && statusCode != 201)
+            try (CloseableHttpResponse response = httpClient.execute(_management, httpRequest, _httpClientContext))
             {
-                throw new RuntimeException(String.format("Failed : HTTP error code : %d  status line : %s", statusCode,
-                                                         response.getStatusLine()));
-            }
 
+                int statusCode = response.getStatusLine().getStatusCode();
+                if (statusCode != 200 && statusCode != 201)
+                {
+                    throw new RuntimeException(String.format("Failed : HTTP error code : %d  status line : %s",
+                                                             statusCode,
+                                                             response.getStatusLine()));
+                }
+            }
         }
-        catch (IOException | org.apache.http.auth.AuthenticationException e)
+        catch (IOException e)
         {
             throw new RuntimeException(e);
         }
     }
 
+    private HttpClientContext getHttpClientContext(final HttpHost management)
+    {
+        final BasicAuthCache authCache = new BasicAuthCache();
+        authCache.put(management, new BasicScheme());
+        HttpClientContext localContext = HttpClientContext.create();
+        localContext.setAuthCache(authCache);
+        return localContext;
+    }
+
+    private CredentialsProvider getCredentialsProvider(final String managementUser, final String managementPassword)
+    {
+        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+        credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(managementUser, managementPassword));
+        return credentialsProvider;
+    }
 }

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d63cab00/perftests/src/main/java/org/apache/qpid/disttest/jms/QpidRestAPIQueueCreator.java
----------------------------------------------------------------------
diff --git a/perftests/src/main/java/org/apache/qpid/disttest/jms/QpidRestAPIQueueCreator.java b/perftests/src/main/java/org/apache/qpid/disttest/jms/QpidRestAPIQueueCreator.java
index ad42f57..480dffe 100644
--- a/perftests/src/main/java/org/apache/qpid/disttest/jms/QpidRestAPIQueueCreator.java
+++ b/perftests/src/main/java/org/apache/qpid/disttest/jms/QpidRestAPIQueueCreator.java
@@ -21,9 +21,9 @@ package org.apache.qpid.disttest.jms;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
-import java.io.UnsupportedEncodingException;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
+import java.nio.charset.StandardCharsets;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
@@ -40,17 +40,20 @@ import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpRequest;
-import org.apache.http.HttpResponse;
+import org.apache.http.auth.AuthScope;
 import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.client.HttpClient;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.client.methods.CloseableHttpResponse;
 import org.apache.http.client.methods.HttpDelete;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.client.methods.HttpPut;
 import org.apache.http.client.protocol.HttpClientContext;
 import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.auth.BasicScheme;
+import org.apache.http.impl.client.BasicAuthCache;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -67,17 +70,17 @@ public class QpidRestAPIQueueCreator implements QueueCreator
     private static final TypeReference<List<HashMap<String, Object>>> MAP_TYPE_REFERENCE = new TypeReference<List<HashMap<String,Object>>>(){};
 
     private final HttpHost _management;
-    private final String _managementUser;
-    private final String _managementPassword;
     private final String _virtualhostnode;
     private final String _virtualhost;
     private final String _queueApiUrl;
     private final String _brokerApiUrl;
 
+    private final CredentialsProvider _credentialsProvider;
+
     public QpidRestAPIQueueCreator()
     {
-        _managementUser = System.getProperty("perftests.manangement-user", "guest");
-        _managementPassword = System.getProperty("perftests.manangement-password", "guest");
+        final String managementUser = System.getProperty("perftests.manangement-user", "guest");
+        final String managementPassword = System.getProperty("perftests.manangement-password", "guest");
 
         _virtualhostnode = System.getProperty("perftests.broker-virtualhostnode", "default");
         _virtualhost = System.getProperty("perftests.broker-virtualhost", "default");
@@ -85,12 +88,14 @@ public class QpidRestAPIQueueCreator implements QueueCreator
         _management = HttpHost.create(System.getProperty("perftests.manangement-url", "http://localhost:8080"));
         _queueApiUrl = System.getProperty("perftests.manangement-api-queue", "/api/latest/queue/%s/%s/%s");
         _brokerApiUrl = System.getProperty("perftests.manangement-api-broker", "/api/latest/broker");
+
+        _credentialsProvider = getCredentialsProvider(managementUser, managementPassword);
     }
 
     @Override
     public void createQueues(Connection connection, Session session, List<QueueConfig> configs)
     {
-        HttpClientContext context = HttpClientContext.create();
+        HttpClientContext context = getHttpClientContext(_management);
 
         for (QueueConfig queueConfig : configs)
         {
@@ -102,7 +107,7 @@ public class QpidRestAPIQueueCreator implements QueueCreator
     @Override
     public void deleteQueues(Connection connection, Session session, List<QueueConfig> configs)
     {
-        HttpClientContext context = HttpClientContext.create();
+        HttpClientContext context = getHttpClientContext(_management);
 
         for (QueueConfig queueConfig : configs)
         {
@@ -147,7 +152,7 @@ public class QpidRestAPIQueueCreator implements QueueCreator
     @Override
     public String getProviderVersion(final Connection connection)
     {
-        HttpClientContext context = HttpClientContext.create();
+        HttpClientContext context = getHttpClientContext(_management);
 
         final Map<String, Object> stringObjectMap = managementQueryBroker(context);
         return stringObjectMap == null || stringObjectMap.get("productVersion") == null ? null : String.valueOf(stringObjectMap.get("productVersion"));
@@ -240,14 +245,14 @@ public class QpidRestAPIQueueCreator implements QueueCreator
     {
         HttpGet get = new HttpGet(_brokerApiUrl);
         final List<Map<String, Object>> maps = executeManagement(get, context);
-        return maps.isEmpty() ? Collections.<String, Object>emptyMap() : maps.get(0);
+        return maps.isEmpty() ? Collections.emptyMap() : maps.get(0);
     }
 
     private void managementCreateQueue(final String name, final HttpClientContext context)
     {
         HttpPut put = new HttpPut(String.format(_queueApiUrl, _virtualhostnode, _virtualhost, name));
 
-        StringEntity input = createStringEntity("{}");
+        StringEntity input = new StringEntity("{}", StandardCharsets.UTF_8);
         input.setContentType("application/json");
         put.setEntity(input);
 
@@ -260,30 +265,13 @@ public class QpidRestAPIQueueCreator implements QueueCreator
         executeManagement(delete, context);
     }
 
-    private StringEntity createStringEntity(final String string)
-    {
-        try
-        {
-            return new StringEntity(string);
-        }
-        catch (UnsupportedEncodingException e)
-        {
-            throw new RuntimeException(e);
-        }
-    }
-
     private List<Map<String, Object>> executeManagement(final HttpRequest httpRequest, final HttpClientContext context)
     {
-        try
+        try(CloseableHttpClient httpClient = HttpClients.custom()
+                                                        .setDefaultCredentialsProvider(_credentialsProvider)
+                                                        .build();
+            CloseableHttpResponse response = httpClient.execute(_management, httpRequest, context))
         {
-            UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(_managementUser, _managementPassword);
-
-            final HttpClient httpClient = HttpClients.createDefault();
-
-            httpRequest.addHeader(new BasicScheme().authenticate(credentials, httpRequest));
-            final HttpResponse response = httpClient.execute(_management, httpRequest, context);
-
-
             int statusCode = response.getStatusLine().getStatusCode();
             if (statusCode != 200 && statusCode != 201)
             {
@@ -305,9 +293,26 @@ public class QpidRestAPIQueueCreator implements QueueCreator
             return null;
 
         }
-        catch (IOException | org.apache.http.auth.AuthenticationException e)
+        catch (IOException e)
         {
             throw new RuntimeException(e);
         }
     }
+
+    private HttpClientContext getHttpClientContext(final HttpHost management)
+    {
+        final BasicAuthCache authCache = new BasicAuthCache();
+        authCache.put(management, new BasicScheme());
+        HttpClientContext localContext = HttpClientContext.create();
+        localContext.setAuthCache(authCache);
+        return localContext;
+    }
+
+    private CredentialsProvider getCredentialsProvider(final String managementUser, final String managementPassword)
+    {
+        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+        credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(managementUser, managementPassword));
+        return credentialsProvider;
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d63cab00/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 1276f53..5aa88b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -143,7 +143,7 @@
     <mockito-version>1.9.5</mockito-version>
     <netty-version>4.1.9.Final</netty-version>
     <hamcrest-version>1.3</hamcrest-version>
-    <httpclient-version>4.4</httpclient-version>
+    <httpclient-version>4.5.3</httpclient-version>
     <qpid-jms-client-version>0.23.0</qpid-jms-client-version>
     <qpid-jms-client-amqp-0-x-version>6.1.3</qpid-jms-client-amqp-0-x-version>
 

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d63cab00/tck/src/main/java/org/apache/qpid/tck/ManageQpidJMSResources.java
----------------------------------------------------------------------
diff --git a/tck/src/main/java/org/apache/qpid/tck/ManageQpidJMSResources.java b/tck/src/main/java/org/apache/qpid/tck/ManageQpidJMSResources.java
index 60ca409..48f13ad 100644
--- a/tck/src/main/java/org/apache/qpid/tck/ManageQpidJMSResources.java
+++ b/tck/src/main/java/org/apache/qpid/tck/ManageQpidJMSResources.java
@@ -22,7 +22,7 @@ package org.apache.qpid.tck;
 
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
@@ -32,15 +32,20 @@ import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpRequest;
-import org.apache.http.HttpResponse;
+import org.apache.http.auth.AuthScope;
 import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.client.HttpClient;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.client.methods.CloseableHttpResponse;
 import org.apache.http.client.methods.HttpDelete;
 import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
 import org.apache.http.client.methods.HttpPost;
 import org.apache.http.client.methods.HttpPut;
+import org.apache.http.client.protocol.HttpClientContext;
 import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.auth.BasicScheme;
+import org.apache.http.impl.client.BasicAuthCache;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -58,8 +63,6 @@ public class ManageQpidJMSResources
             };
     private static final String RESOURCES_JSON = "/resources.json";
 
-    private final String _managementUser;
-    private final String _managementPassword;
     private final String _virtualhostnode;
     private final String _virtualhost;
     private final HttpHost _management;
@@ -67,6 +70,8 @@ public class ManageQpidJMSResources
     private final String _queueApiClearQueueUrl;
     private final String _topicApiUrl;
     private final ObjectMapper _objectMapper;
+    private final CredentialsProvider _credentialsProvider;
+    private final HttpClientContext _httpClientContext;
 
     private enum NodeType
     {
@@ -93,8 +98,8 @@ public class ManageQpidJMSResources
         _objectMapper = new ObjectMapper();
         _objectMapper.configure(JsonParser.Feature.ALLOW_COMMENTS, true);
 
-        _managementUser = System.getProperty("tck.management-username");
-        _managementPassword = System.getProperty("tck.management-password");
+        final String managementUser = System.getProperty("tck.management-username");
+        final String managementPassword = System.getProperty("tck.management-password");
 
         _virtualhostnode = System.getProperty("tck.broker-virtualhostnode", "default");
         _virtualhost = System.getProperty("tck.broker-virtualhost", "default");
@@ -103,6 +108,9 @@ public class ManageQpidJMSResources
         _queueApiUrl = System.getProperty("tck.management-api-queue", "/api/latest/queue/%s/%s/%s");
         _queueApiClearQueueUrl = System.getProperty("tck.management-api-queue-clear", "/api/latest/queue/%s/%s/%s/clearQueue");
         _topicApiUrl = System.getProperty("tck.management-api-topic", "/api/latest/exchange/%s/%s/%s");
+
+        _credentialsProvider = getCredentialsProvider(managementUser, managementPassword);
+        _httpClientContext = getHttpClientContext(_management);
     }
 
     private void createResources() throws IOException
@@ -208,7 +216,7 @@ public class ManageQpidJMSResources
 
     private void management(final HttpEntityEnclosingRequestBase request, final Object obj) throws IOException
     {
-        StringEntity input = createStringEntity(_objectMapper.writeValueAsString(obj));
+        StringEntity input = new StringEntity(_objectMapper.writeValueAsString(obj), StandardCharsets.UTF_8);
         input.setContentType("application/json");
         request.setEntity(input);
 
@@ -219,37 +227,38 @@ public class ManageQpidJMSResources
         }
     }
 
-    private StringEntity createStringEntity(final String string)
+    private int executeManagement(final HttpRequest httpRequest)
     {
-        try
+
+        try(CloseableHttpClient httpClient = HttpClients.custom()
+                                                        .setDefaultCredentialsProvider(_credentialsProvider)
+                                                        .build())
         {
-            return new StringEntity(string);
+            try (CloseableHttpResponse response = httpClient.execute(_management, httpRequest, _httpClientContext))
+            {
+                return response.getStatusLine().getStatusCode();
+            }
         }
-        catch (UnsupportedEncodingException e)
+        catch (IOException e)
         {
             throw new RuntimeException(e);
         }
     }
 
-    private int executeManagement(final HttpRequest httpRequest)
+    private HttpClientContext getHttpClientContext(final HttpHost management)
     {
-        try
-        {
-            final HttpClient httpClient = HttpClients.createDefault();
-
-            if (_managementUser != null && _managementPassword != null)
-            {
-                UsernamePasswordCredentials
-                        credentials = new UsernamePasswordCredentials(_managementUser, _managementPassword);
-                httpRequest.addHeader(new BasicScheme().authenticate(credentials, httpRequest));
-            }
-            final HttpResponse response = httpClient.execute(_management, httpRequest);
+        final BasicAuthCache authCache = new BasicAuthCache();
+        authCache.put(management, new BasicScheme());
+        HttpClientContext localContext = HttpClientContext.create();
+        localContext.setAuthCache(authCache);
+        return localContext;
+    }
 
-            return response.getStatusLine().getStatusCode();
-        }
-        catch (IOException | org.apache.http.auth.AuthenticationException e)
-        {
-            throw new RuntimeException(e);
-        }
+    private CredentialsProvider getCredentialsProvider(final String managementUser, final String managementPassword)
+    {
+        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+        credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(managementUser, managementPassword));
+        return credentialsProvider;
     }
+
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org