From 45018c1970772037139134fcc2d69da360a03c66 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Mon, 14 Jan 2019 09:38:23 -0500 Subject: Remove model-imp/rest checkstyle suppressions Renamed "RESTManager" class to "RestManager". This did not require any changes to rules. Updated license data in pom. Change-Id: Ide59b99b8c5d939804b7540c71a686404195173c Issue-ID: POLICY-1141 Signed-off-by: Jim Hahn --- .../java/org/onap/policy/rest/RESTManager.java | 192 --------------------- .../java/org/onap/policy/rest/RestManager.java | 192 +++++++++++++++++++++ 2 files changed, 192 insertions(+), 192 deletions(-) delete mode 100644 controlloop/common/model-impl/rest/src/main/java/org/onap/policy/rest/RESTManager.java create mode 100644 controlloop/common/model-impl/rest/src/main/java/org/onap/policy/rest/RestManager.java (limited to 'controlloop/common/model-impl/rest/src/main/java') diff --git a/controlloop/common/model-impl/rest/src/main/java/org/onap/policy/rest/RESTManager.java b/controlloop/common/model-impl/rest/src/main/java/org/onap/policy/rest/RESTManager.java deleted file mode 100644 index a7e373b5f..000000000 --- a/controlloop/common/model-impl/rest/src/main/java/org/onap/policy/rest/RESTManager.java +++ /dev/null @@ -1,192 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * rest - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.rest; - -import java.nio.charset.Charset; -import java.util.Map; -import java.util.Map.Entry; -import javax.xml.bind.DatatypeConverter; - -import org.apache.http.HttpHeaders; -import org.apache.http.HttpResponse; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.methods.HttpRequestBase; -import org.apache.http.conn.ssl.NoopHostnameVerifier; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClientBuilder; -import org.apache.http.util.EntityUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class RESTManager { - - private static final Logger logger = LoggerFactory.getLogger(RESTManager.class); - - public class Pair { - public final A first; - public final B second; - - public Pair(A first, B second) { - this.first = first; - this.second = second; - } - } - - /** - * Perform REST Post. - * - * @param url the url - * @param username the user name - * @param password the password - * @param headers any headers - * @param contentType what the content type is - * @param body body to send - * @return the response status code and the body - */ - public Pair post(String url, String username, String password, - Map headers, String contentType, String body) { - HttpPost post = new HttpPost(url); - addHeaders(post, username, password, headers); - post.addHeader("Content-Type", contentType); - try { - StringEntity input = new StringEntity(body); - input.setContentType(contentType); - post.setEntity(input); - } catch (Exception e) { - logger.error("post threw: ", e); - return null; - } - return sendRequest(post); - } - - /** - * Do a REST get. - * - * @param url URL - * @param username user name - * @param password password - * @param headers any headers to add - * @return a Pair for the response status and the body - */ - public Pair get(String url, String username, String password, - Map headers) { - HttpGet get = new HttpGet(url); - addHeaders(get, username, password, headers); - return sendRequest(get); - } - - /** - * Perform REST Delete. - * - * @param url the url - * @param username the user name - * @param password the password - * @param headers any headers - * @param contentType what the content type is - * @param body body (optional) to send - * @return the response status code and the body - */ - public Pair delete(String url, String username, String password, Map headers, - String contentType, String body) { - HttpDeleteWithBody delete = new HttpDeleteWithBody(url); - addHeaders(delete, username, password, headers); - delete.addHeader("Content-Type", contentType); - if (body != null && !body.isEmpty()) { - try { - StringEntity input = new StringEntity(body); - input.setContentType(contentType); - delete.setEntity(input); - } catch (Exception e) { - logger.error("delete threw: ", e); - return null; - } - } - return sendRequest(delete); - } - - /** - * Send REST request. - * - * @param request http request to send - * @return the response status code and the body - */ - private Pair sendRequest(HttpRequestBase request) { - if (logger.isDebugEnabled()) { - logger.debug("***** sendRequest to url {}:", request.getURI()); - } - - try (CloseableHttpClient client = - HttpClientBuilder - .create() - .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE) - .build()) { - HttpResponse response = client.execute(request); - if (response != null) { - String returnBody = EntityUtils.toString(response.getEntity(), "UTF-8"); - logger.debug("HTTP Response Status Code: {}", - response.getStatusLine().getStatusCode()); - logger.debug("HTTP Response Body:"); - logger.debug(returnBody); - - return new Pair<>(response.getStatusLine().getStatusCode(), - returnBody); - } else { - logger.error("Response from {} is null", request.getURI()); - return null; - } - } catch (Exception e) { - logger.error("Request failed to {}", request.getURI(), e); - return null; - } - } - - /** - * Add header to the request. - * - * @param request http request to send - * @param username the user name - * @param password the password - * @param headers any headers - */ - private void addHeaders(HttpRequestBase request, String username, String password, Map headers) { - String authHeader = makeAuthHeader(username, password); - if (headers != null) { - for (Entry entry : headers.entrySet()) { - request.addHeader(entry.getKey(), headers.get(entry.getKey())); - } - } - if (authHeader != null) { - request.setHeader(HttpHeaders.AUTHORIZATION, authHeader); - } - } - - private String makeAuthHeader(String username, String password) { - if (username == null || username.isEmpty()) { - return null; - } - - String auth = username + ":" + (password == null ? "" : password); - return "Basic " + DatatypeConverter.printBase64Binary(auth.getBytes(Charset.forName("ISO-8859-1"))); - } -} diff --git a/controlloop/common/model-impl/rest/src/main/java/org/onap/policy/rest/RestManager.java b/controlloop/common/model-impl/rest/src/main/java/org/onap/policy/rest/RestManager.java new file mode 100644 index 000000000..84a220b9a --- /dev/null +++ b/controlloop/common/model-impl/rest/src/main/java/org/onap/policy/rest/RestManager.java @@ -0,0 +1,192 @@ +/* + * ============LICENSE_START======================================================= + * rest + * ================================================================================ + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.rest; + +import java.nio.charset.Charset; +import java.util.Map; +import java.util.Map.Entry; +import javax.xml.bind.DatatypeConverter; + +import org.apache.http.HttpHeaders; +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.methods.HttpRequestBase; +import org.apache.http.conn.ssl.NoopHostnameVerifier; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.http.util.EntityUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class RestManager { + + private static final Logger logger = LoggerFactory.getLogger(RestManager.class); + + public class Pair { + public final A first; + public final B second; + + public Pair(A first, B second) { + this.first = first; + this.second = second; + } + } + + /** + * Perform REST Post. + * + * @param url the url + * @param username the user name + * @param password the password + * @param headers any headers + * @param contentType what the content type is + * @param body body to send + * @return the response status code and the body + */ + public Pair post(String url, String username, String password, + Map headers, String contentType, String body) { + HttpPost post = new HttpPost(url); + addHeaders(post, username, password, headers); + post.addHeader("Content-Type", contentType); + try { + StringEntity input = new StringEntity(body); + input.setContentType(contentType); + post.setEntity(input); + } catch (Exception e) { + logger.error("post threw: ", e); + return null; + } + return sendRequest(post); + } + + /** + * Do a REST get. + * + * @param url URL + * @param username user name + * @param password password + * @param headers any headers to add + * @return a Pair for the response status and the body + */ + public Pair get(String url, String username, String password, + Map headers) { + HttpGet get = new HttpGet(url); + addHeaders(get, username, password, headers); + return sendRequest(get); + } + + /** + * Perform REST Delete. + * + * @param url the url + * @param username the user name + * @param password the password + * @param headers any headers + * @param contentType what the content type is + * @param body body (optional) to send + * @return the response status code and the body + */ + public Pair delete(String url, String username, String password, Map headers, + String contentType, String body) { + HttpDeleteWithBody delete = new HttpDeleteWithBody(url); + addHeaders(delete, username, password, headers); + delete.addHeader("Content-Type", contentType); + if (body != null && !body.isEmpty()) { + try { + StringEntity input = new StringEntity(body); + input.setContentType(contentType); + delete.setEntity(input); + } catch (Exception e) { + logger.error("delete threw: ", e); + return null; + } + } + return sendRequest(delete); + } + + /** + * Send REST request. + * + * @param request http request to send + * @return the response status code and the body + */ + private Pair sendRequest(HttpRequestBase request) { + if (logger.isDebugEnabled()) { + logger.debug("***** sendRequest to url {}:", request.getURI()); + } + + try (CloseableHttpClient client = + HttpClientBuilder + .create() + .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE) + .build()) { + HttpResponse response = client.execute(request); + if (response != null) { + String returnBody = EntityUtils.toString(response.getEntity(), "UTF-8"); + logger.debug("HTTP Response Status Code: {}", + response.getStatusLine().getStatusCode()); + logger.debug("HTTP Response Body:"); + logger.debug(returnBody); + + return new Pair<>(response.getStatusLine().getStatusCode(), + returnBody); + } else { + logger.error("Response from {} is null", request.getURI()); + return null; + } + } catch (Exception e) { + logger.error("Request failed to {}", request.getURI(), e); + return null; + } + } + + /** + * Add header to the request. + * + * @param request http request to send + * @param username the user name + * @param password the password + * @param headers any headers + */ + private void addHeaders(HttpRequestBase request, String username, String password, Map headers) { + String authHeader = makeAuthHeader(username, password); + if (headers != null) { + for (Entry entry : headers.entrySet()) { + request.addHeader(entry.getKey(), headers.get(entry.getKey())); + } + } + if (authHeader != null) { + request.setHeader(HttpHeaders.AUTHORIZATION, authHeader); + } + } + + private String makeAuthHeader(String username, String password) { + if (username == null || username.isEmpty()) { + return null; + } + + String auth = username + ":" + (password == null ? "" : password); + return "Basic " + DatatypeConverter.printBase64Binary(auth.getBytes(Charset.forName("ISO-8859-1"))); + } +} -- cgit 1.2.3-korg