aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/dmaap/mr/client/impl/DmaapClientUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/dmaap/mr/client/impl/DmaapClientUtil.java')
-rw-r--r--src/main/java/org/onap/dmaap/mr/client/impl/DmaapClientUtil.java57
1 files changed, 47 insertions, 10 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));