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