diff options
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.java | 57 |
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)); |