aboutsummaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authorsu622b <su622b@att.com>2020-06-11 17:20:09 -0400
committersu622b <su622b@att.com>2020-06-11 17:28:53 -0400
commit2fa245d0944a24f317bae4ce74111e2bd9620eb8 (patch)
tree6624f3c672a1f737bb1c2ceed1a30c4ebcde06bc /src/main
parentebbbdfe1543809bc044781f3ce30e65d106e21d8 (diff)
read and set the jersey client properties
Issue-ID: DMAAP-1443 Change-Id: I0f92536fa88c2d21a1467f6c92e162cbe46db85f Signed-off-by: su622b <su622b@att.com>
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/onap/dmaap/mr/client/impl/DmaapClientUtil.java57
-rw-r--r--src/main/java/org/onap/dmaap/mr/client/impl/MRBaseClient.java114
-rw-r--r--src/main/java/org/onap/dmaap/mr/client/impl/MRConsumerImpl.java1
-rw-r--r--src/main/java/org/onap/dmaap/mr/client/impl/MRSimplerBatchPublisher.java1
4 files changed, 109 insertions, 64 deletions
diff --git a/src/main/java/org/onap/dmaap/mr/client/impl/DmaapClientUtil.java b/src/main/java/org/onap/dmaap/mr/client/impl/DmaapClientUtil.java
index b06290a..4c50596 100644
--- a/src/main/java/org/onap/dmaap/mr/client/impl/DmaapClientUtil.java
+++ b/src/main/java/org/onap/dmaap/mr/client/impl/DmaapClientUtil.java
@@ -21,31 +21,65 @@
*******************************************************************************/
package org.onap.dmaap.mr.client.impl;
+import java.util.Properties;
+
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Response;
+import org.glassfish.jersey.client.ClientConfig;
+import org.glassfish.jersey.client.ClientProperties;
import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
public class DmaapClientUtil {
private static final String MR_AUTH_CONSTANT = "X-CambriaAuth";
private static final String MR_DATE_CONSTANT = "X-CambriaDate";
+ private static final String[] httpClientProperties = { ClientProperties.CONNECT_TIMEOUT,
+ ClientProperties.READ_TIMEOUT, ClientProperties.PROXY_USERNAME, ClientProperties.PROXY_PASSWORD,
+ ClientProperties.PROXY_URI };
+
+ public static ClientConfig getClientConfig(Properties properties) {
+ ClientConfig config = new ClientConfig();
+ if (properties != null && !properties.isEmpty()) {
+ setHttpClientProperties(config, properties);
+ }
+ return config;
+ }
- public static WebTarget getTarget(final String path, final String username, final String password) {
+ private static void setHttpClientProperties(ClientConfig config, Properties properties) {
+ for (int i = 0; i < httpClientProperties.length; i++) {
+ if ((properties.getProperty(httpClientProperties[i]) != null)) {
+ config.property(httpClientProperties[i], properties.getProperty(httpClientProperties[i]));
+ }
+ }
+
+ }
- Client client = ClientBuilder.newClient();
+ public static WebTarget getTarget(ClientConfig config, final String path, final String username,
+ final String password) {
+ Client client = null;
+ if (config != null) {
+ client = ClientBuilder.newClient(config);
+ } else {
+ client = ClientBuilder.newClient();
+ }
HttpAuthenticationFeature feature = HttpAuthenticationFeature.universal(username, password);
client.register(feature);
return client.target(path);
}
- public static WebTarget getTarget(final String path) {
+ public static WebTarget getTarget(ClientConfig config, final String path) {
- Client client = ClientBuilder.newClient();
+ Client client = null;
+ if (config != null&&config.getProperties().size()>0) {
+ client = ClientBuilder.newClient(config);
+ } else {
+ client = ClientBuilder.newClient();
+ }
return client.target(path);
}
@@ -53,9 +87,11 @@ public class DmaapClientUtil {
return target.request().header(MR_AUTH_CONSTANT, username).header(MR_DATE_CONSTANT, password).get();
}
-
- public static Response postResponsewtCambriaAuth(WebTarget target, String username, String password,byte[] data, String contentType) {
- return target.request().header(MR_AUTH_CONSTANT, username).header(MR_DATE_CONSTANT, password).post(Entity.entity(data, contentType));
+
+ public static Response postResponsewtCambriaAuth(WebTarget target, String username, String password, byte[] data,
+ String contentType) {
+ return target.request().header(MR_AUTH_CONSTANT, username).header(MR_DATE_CONSTANT, password)
+ .post(Entity.entity(data, contentType));
}
@@ -64,8 +100,9 @@ public class DmaapClientUtil {
return target.request().header("Authorization", "Basic " + authHeader).get();
}
-
- public static Response postResponsewtBasicAuth(WebTarget target, String authHeader,byte[] data,String contentType) {
+
+ public static Response postResponsewtBasicAuth(WebTarget target, String authHeader, byte[] data,
+ String contentType) {
return target.request().header("Authorization", "Basic " + authHeader).post(Entity.entity(data, contentType));
@@ -76,7 +113,7 @@ public class DmaapClientUtil {
return target.request().get();
}
-
+
public static Response postResponsewtNoAuth(WebTarget target, byte[] data, String contentType) {
return target.request().post(Entity.entity(data, contentType));
diff --git a/src/main/java/org/onap/dmaap/mr/client/impl/MRBaseClient.java b/src/main/java/org/onap/dmaap/mr/client/impl/MRBaseClient.java
index 4c6d74e..b29c100 100644
--- a/src/main/java/org/onap/dmaap/mr/client/impl/MRBaseClient.java
+++ b/src/main/java/org/onap/dmaap/mr/client/impl/MRBaseClient.java
@@ -31,6 +31,7 @@ import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Response;
import org.apache.http.HttpException;
+import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.internal.util.Base64;
import org.json.JSONArray;
import org.json.JSONException;
@@ -47,6 +48,7 @@ import org.onap.dmaap.mr.test.clients.ProtocolTypeConstants;
public class MRBaseClient extends HttpClient implements MRClient {
+ private ClientConfig clientConfig = null;
protected MRBaseClient(Collection<String> hosts) throws MalformedURLException {
super(ConnectionType.HTTP, hosts, MRConstants.kStdMRServicePort);
@@ -67,6 +69,14 @@ public class MRBaseClient extends HttpClient implements MRClient {
fLog = LoggerFactory.getLogger(this.getClass().getName());
}
+ public ClientConfig getClientConfig1() {
+ return clientConfig;
+ }
+
+ public void setClientConfig(ClientConfig config) {
+ this.clientConfig = config;
+ }
+
@Override
public void close() {
}
@@ -96,12 +106,12 @@ public class MRBaseClient extends HttpClient implements MRClient {
public JSONObject post(final String path, final byte[] data, final String contentType, final String username,
final String password, final String protocalFlag) throws HttpException, JSONException {
if ((null != username && null != password)) {
- WebTarget target=null;
- Response response=null;
- target = DmaapClientUtil.getTarget(path, username, password);
+ WebTarget target = null;
+ Response response = null;
+ target = DmaapClientUtil.getTarget(clientConfig,path, username, password);
String encoding = Base64.encodeAsString(username + ":" + password);
- response = DmaapClientUtil.postResponsewtBasicAuth(target, encoding,data, contentType);
+ response = DmaapClientUtil.postResponsewtBasicAuth(target, encoding, data, contentType);
return getResponseDataInJson(response);
} else {
@@ -109,7 +119,7 @@ public class MRBaseClient extends HttpClient implements MRClient {
"Authentication Failed: Username/password/AuthKey/AuthDate parameter(s) cannot be null or empty.");
}
}
-
+
public JSONObject postNoAuth(final String path, final byte[] data, String contentType)
throws HttpException, JSONException {
WebTarget target = null;
@@ -117,7 +127,7 @@ public class MRBaseClient extends HttpClient implements MRClient {
if (contentType == null) {
contentType = "text/pain";
}
- target = DmaapClientUtil.getTarget(path);
+ target = DmaapClientUtil.getTarget(clientConfig,path);
response = DmaapClientUtil.postResponsewtNoAuth(target, data, contentType);
@@ -129,21 +139,21 @@ public class MRBaseClient extends HttpClient implements MRClient {
throws HttpException, JSONException {
String responseData = null;
if ((null != username && null != password)) {
- WebTarget target=null;
- Response response=null;
- target = DmaapClientUtil.getTarget(path, username, password);
+ WebTarget target = null;
+ Response response = null;
+ target = DmaapClientUtil.getTarget(clientConfig,path, username, password);
String encoding = Base64.encodeAsString(username + ":" + password);
- response = DmaapClientUtil.postResponsewtBasicAuth(target, encoding,data, contentType);
+ response = DmaapClientUtil.postResponsewtBasicAuth(target, encoding, data, contentType);
- responseData = (String)response.readEntity(String.class);
+ responseData = (String) response.readEntity(String.class);
return responseData;
} else {
throw new HttpException(
"Authentication Failed: Username/password/AuthKey/AuthDate parameter(s) cannot be null or empty.");
}
}
-
+
public String postNoAuthWithResponse(final String path, final byte[] data, String contentType)
throws HttpException, JSONException {
@@ -153,24 +163,23 @@ public class MRBaseClient extends HttpClient implements MRClient {
if (contentType == null) {
contentType = "text/pain";
}
- target = DmaapClientUtil.getTarget(path);
+ target = DmaapClientUtil.getTarget(clientConfig,path);
response = DmaapClientUtil.postResponsewtNoAuth(target, data, contentType);
responseData = (String) response.readEntity(String.class);
return responseData;
}
- public JSONObject postAuth(PostAuthDataObject postAuthDO)
- throws HttpException, JSONException {
- if ((null != postAuthDO.getUsername() && null != postAuthDO.getPassword())) {
- WebTarget target = null;
- Response response = null;
- target = DmaapClientUtil.getTarget(postAuthDO.getPath(), postAuthDO.getUsername(),
- postAuthDO.getPassword());
- response = DmaapClientUtil.postResponsewtCambriaAuth(target, postAuthDO.getAuthKey(),
- postAuthDO.getAuthDate(), postAuthDO.getData(), postAuthDO.getContentType());
- return getResponseDataInJson(response);
- } else {
+ public JSONObject postAuth(PostAuthDataObject postAuthDO) throws HttpException, JSONException {
+ if ((null != postAuthDO.getUsername() && null != postAuthDO.getPassword())) {
+ WebTarget target = null;
+ Response response = null;
+ target = DmaapClientUtil.getTarget(clientConfig,postAuthDO.getPath(), postAuthDO.getUsername(),
+ postAuthDO.getPassword());
+ response = DmaapClientUtil.postResponsewtCambriaAuth(target, postAuthDO.getAuthKey(),
+ postAuthDO.getAuthDate(), postAuthDO.getData(), postAuthDO.getContentType());
+ return getResponseDataInJson(response);
+ } else {
throw new HttpException(
"Authentication Failed: Username/password/AuthKey/AuthDate parameter(s) cannot be null or empty.");
}
@@ -181,11 +190,11 @@ public class MRBaseClient extends HttpClient implements MRClient {
final String protocolFlag) throws HttpException, JSONException {
String responseData = null;
if ((null != username && null != password)) {
- WebTarget target=null;
- Response response=null;
- target = DmaapClientUtil.getTarget(path, username, password);
+ WebTarget target = null;
+ Response response = null;
+ target = DmaapClientUtil.getTarget(clientConfig,path, username, password);
response = DmaapClientUtil.postResponsewtCambriaAuth(target, authKey, authDate, data, contentType);
- responseData = (String)response.readEntity(String.class);
+ responseData = (String) response.readEntity(String.class);
return responseData;
} else {
@@ -198,14 +207,14 @@ public class MRBaseClient extends HttpClient implements MRClient {
throws HttpException, JSONException {
if (null != username && null != password) {
- WebTarget target=null;
- Response response=null;
-
+ WebTarget target = null;
+ Response response = null;
+
if (ProtocolTypeConstants.AUTH_KEY.getValue().equalsIgnoreCase(protocolFlag)) {
- target = DmaapClientUtil.getTarget(path);
+ target = DmaapClientUtil.getTarget(clientConfig,path);
response = DmaapClientUtil.getResponsewtCambriaAuth(target, username, password);
} else {
- target = DmaapClientUtil.getTarget(path, username, password);
+ target = DmaapClientUtil.getTarget(clientConfig,path, username, password);
String encoding = Base64.encodeAsString(username + ":" + password);
response = DmaapClientUtil.getResponsewtBasicAuth(target, encoding);
@@ -222,13 +231,13 @@ public class MRBaseClient extends HttpClient implements MRClient {
final String protocolFlag) throws HttpException, JSONException {
String responseData = null;
if (null != username && null != password) {
- WebTarget target=null;
- Response response=null;
+ WebTarget target = null;
+ Response response = null;
if (ProtocolTypeConstants.AUTH_KEY.getValue().equalsIgnoreCase(protocolFlag)) {
- target = DmaapClientUtil.getTarget(path);
+ target = DmaapClientUtil.getTarget(clientConfig,path);
response = DmaapClientUtil.getResponsewtCambriaAuth(target, username, password);
} else {
- target = DmaapClientUtil.getTarget(path, username, password);
+ target = DmaapClientUtil.getTarget(clientConfig,path, username, password);
String encoding = Base64.encodeAsString(username + ":" + password);
response = DmaapClientUtil.getResponsewtBasicAuth(target, encoding);
}
@@ -239,7 +248,7 @@ public class MRBaseClient extends HttpClient implements MRClient {
fLog.info("TransactionId : " + transactionid);
}
- responseData = (String)response.readEntity(String.class);
+ responseData = (String) response.readEntity(String.class);
return responseData;
} else {
throw new HttpException(
@@ -250,9 +259,9 @@ public class MRBaseClient extends HttpClient implements MRClient {
public JSONObject getAuth(final String path, final String authKey, final String authDate, final String username,
final String password, final String protocolFlag) throws HttpException, JSONException {
if (null != username && null != password) {
- WebTarget target=null;
- Response response=null;
- target = DmaapClientUtil.getTarget(path, username, password);
+ WebTarget target = null;
+ Response response = null;
+ target = DmaapClientUtil.getTarget(clientConfig,path, username, password);
response = DmaapClientUtil.getResponsewtCambriaAuth(target, authKey, authDate);
return getResponseDataInJson(response);
@@ -266,7 +275,7 @@ public class MRBaseClient extends HttpClient implements MRClient {
WebTarget target = null;
Response response = null;
- target = DmaapClientUtil.getTarget(path);
+ target = DmaapClientUtil.getTarget(clientConfig,path);
response = DmaapClientUtil.getResponsewtNoAuth(target);
return getResponseDataInJson(response);
@@ -276,9 +285,9 @@ public class MRBaseClient extends HttpClient implements MRClient {
final String password, final String protocolFlag) throws HttpException, JSONException {
String responseData = null;
if (null != username && null != password) {
- WebTarget target=null;
- Response response=null;
- target = DmaapClientUtil.getTarget(path, username, password);
+ WebTarget target = null;
+ Response response = null;
+ target = DmaapClientUtil.getTarget(clientConfig,path, username, password);
response = DmaapClientUtil.getResponsewtCambriaAuth(target, authKey, authDate);
MRClientFactory.HTTPHeadersMap = response.getHeaders();
@@ -288,7 +297,7 @@ public class MRBaseClient extends HttpClient implements MRClient {
fLog.info("TransactionId : " + transactionid);
}
- responseData = (String)response.readEntity(String.class);
+ responseData = (String) response.readEntity(String.class);
return responseData;
} else {
throw new HttpException(
@@ -299,9 +308,9 @@ public class MRBaseClient extends HttpClient implements MRClient {
public String getNoAuthResponse(String path, final String username, final String password,
final String protocolFlag) throws HttpException, JSONException {
String responseData = null;
- WebTarget target=null;
- Response response=null;
- target = DmaapClientUtil.getTarget(path, username, password);
+ WebTarget target = null;
+ Response response = null;
+ target = DmaapClientUtil.getTarget(clientConfig,path, username, password);
response = DmaapClientUtil.getResponsewtNoAuth(target);
MRClientFactory.HTTPHeadersMap = response.getHeaders();
@@ -311,16 +320,14 @@ public class MRBaseClient extends HttpClient implements MRClient {
fLog.info("TransactionId : " + transactionid);
}
- responseData = (String)response.readEntity(String.class);
+ responseData = (String) response.readEntity(String.class);
return responseData;
}
-
private JSONObject getResponseDataInJson(Response response) throws JSONException {
try {
MRClientFactory.HTTPHeadersMap = response.getHeaders();
-
// MultivaluedMap<String, Object> headersMap =
// for(String key : headersMap.keySet()) {
@@ -329,7 +336,6 @@ public class MRBaseClient extends HttpClient implements MRClient {
fLog.info("TransactionId : " + transactionid);
}
-
if (response.getStatus() == 403) {
JSONObject jsonObject = null;
jsonObject = new JSONObject();
@@ -339,7 +345,7 @@ public class MRBaseClient extends HttpClient implements MRClient {
jsonObject.put("status", response.getStatus());
return jsonObject;
}
- String responseData = (String)response.readEntity(String.class);
+ String responseData = (String) response.readEntity(String.class);
JSONTokener jsonTokener = new JSONTokener(responseData);
JSONObject jsonObject = null;
diff --git a/src/main/java/org/onap/dmaap/mr/client/impl/MRConsumerImpl.java b/src/main/java/org/onap/dmaap/mr/client/impl/MRConsumerImpl.java
index 73840be..0b06f77 100644
--- a/src/main/java/org/onap/dmaap/mr/client/impl/MRConsumerImpl.java
+++ b/src/main/java/org/onap/dmaap/mr/client/impl/MRConsumerImpl.java
@@ -694,6 +694,7 @@ public class MRConsumerImpl extends MRBaseClient implements MRConsumer {
public void setProps(Properties props) {
this.props = props;
+ setClientConfig(DmaapClientUtil.getClientConfig(props));
}
public String getUsername() {
diff --git a/src/main/java/org/onap/dmaap/mr/client/impl/MRSimplerBatchPublisher.java b/src/main/java/org/onap/dmaap/mr/client/impl/MRSimplerBatchPublisher.java
index 8f2a66e..9b969a6 100644
--- a/src/main/java/org/onap/dmaap/mr/client/impl/MRSimplerBatchPublisher.java
+++ b/src/main/java/org/onap/dmaap/mr/client/impl/MRSimplerBatchPublisher.java
@@ -707,6 +707,7 @@ public class MRSimplerBatchPublisher extends MRBaseClient implements MRBatchingP
public void setProps(Properties props) {
this.props = props;
+ setClientConfig(DmaapClientUtil.getClientConfig(props));
}
public String getProtocolFlag() {