summaryrefslogtreecommitdiffstats
path: root/controlloop/common/model-impl/rest
diff options
context:
space:
mode:
Diffstat (limited to 'controlloop/common/model-impl/rest')
-rw-r--r--controlloop/common/model-impl/rest/pom.xml90
-rw-r--r--controlloop/common/model-impl/rest/src/main/java/org/onap/policy/rest/HttpDeleteWithBody.java52
-rw-r--r--controlloop/common/model-impl/rest/src/main/java/org/onap/policy/rest/RestManager.java192
-rwxr-xr-xcontrolloop/common/model-impl/rest/src/test/java/org/onap/policy/rest/GetTest.java66
-rw-r--r--controlloop/common/model-impl/rest/src/test/java/org/onap/policy/rest/HttpDeleteWithBodyTest.java36
-rwxr-xr-xcontrolloop/common/model-impl/rest/src/test/java/org/onap/policy/rest/PairTest.java42
-rwxr-xr-xcontrolloop/common/model-impl/rest/src/test/java/org/onap/policy/rest/PostTest.java50
7 files changed, 0 insertions, 528 deletions
diff --git a/controlloop/common/model-impl/rest/pom.xml b/controlloop/common/model-impl/rest/pom.xml
deleted file mode 100644
index 43f84fe76..000000000
--- a/controlloop/common/model-impl/rest/pom.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<!--
- ============LICENSE_START=======================================================
- Drools PDP Application Models
- ================================================================================
- 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=========================================================
- -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
- <artifactId>model-impl</artifactId>
- <version>1.4.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>rest</artifactId>
-
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- <scope>provided</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <executions>
- <execution>
- <id>onap-java-style</id>
- <goals>
- <goal>check</goal>
- </goals>
- <phase>process-sources</phase>
- <configuration>
- <!-- Use Google Java Style Guide:
- https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
- with minor changes -->
- <configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
- <!-- <sourceDirectory> is needed so that checkstyle ignores the generated sources directory -->
- <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
- <includeResources>true</includeResources>
- <includeTestSourceDirectory>true</includeTestSourceDirectory>
- <includeTestResources>true</includeTestResources>
- <excludes>
- </excludes>
- <consoleOutput>true</consoleOutput>
- <failsOnViolation>true</failsOnViolation>
- <violationSeverity>warning</violationSeverity>
- </configuration>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>org.onap.oparent</groupId>
- <artifactId>checkstyle</artifactId>
- <version>${oparent.version}</version>
- <scope>compile</scope>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/controlloop/common/model-impl/rest/src/main/java/org/onap/policy/rest/HttpDeleteWithBody.java b/controlloop/common/model-impl/rest/src/main/java/org/onap/policy/rest/HttpDeleteWithBody.java
deleted file mode 100644
index 3e52d4f10..000000000
--- a/controlloop/common/model-impl/rest/src/main/java/org/onap/policy/rest/HttpDeleteWithBody.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * rest
- * ================================================================================
- * Copyright (C) 2018 Amdocs. All rights reserved.
- * Modifications Copyright (C) 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.net.URI;
-import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
-
-/**
- * Allows for HTTP DELETE requests to contain a body, which the HttpDelete
- * class does not support.
- */
-public class HttpDeleteWithBody extends HttpEntityEnclosingRequestBase {
- public static final String METHOD_NAME = "DELETE";
-
- public HttpDeleteWithBody(final String uri) {
- super();
- setURI(URI.create(uri));
- }
-
- public HttpDeleteWithBody(final URI uri) {
- super();
- setURI(uri);
- }
-
- public HttpDeleteWithBody() {
- super();
- }
-
- public String getMethod() {
- return METHOD_NAME;
- }
-
-}
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 84a220b9a..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-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<A, B> {
- 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<Integer, String> post(String url, String username, String password,
- Map<String, String> 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<Integer, String> get(String url, String username, String password,
- Map<String, String> 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<Integer, String> delete(String url, String username, String password, Map<String, String> 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<Integer, String> 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<String,
- String> headers) {
- String authHeader = makeAuthHeader(username, password);
- if (headers != null) {
- for (Entry<String, String> 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/test/java/org/onap/policy/rest/GetTest.java b/controlloop/common/model-impl/rest/src/test/java/org/onap/policy/rest/GetTest.java
deleted file mode 100755
index 37e38ec70..000000000
--- a/controlloop/common/model-impl/rest/src/test/java/org/onap/policy/rest/GetTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * ============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 static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-import org.onap.policy.rest.RestManager.Pair;
-
-public class GetTest {
-
- @Test(expected = NullPointerException.class)
- public void testUrlNull() {
- RestManager mgr = new RestManager();
- mgr.get(null, "user", null, null);
- }
-
- @Test
- public void testUsernameNull() {
- RestManager mgr = new RestManager();
-
- Pair<Integer, String> result = mgr.get("http://www.example.org", null, null, null);
- assertEquals((Integer)200, result.first);
- assertTrue(result.second != null);
- assertTrue(result.second.length() > 0);
- }
-
- @Test
- public void testUsernameEmpty() {
- RestManager mgr = new RestManager();
-
- Pair<Integer, String> result = mgr.get("http://www.example.org", "", null, null);
- assertEquals((Integer)200, result.first);
- assertTrue(result.second != null);
- assertTrue(result.second.length() > 0);
- }
-
- @Test
- public void testUrlExampleOrg() {
- RestManager mgr = new RestManager();
-
- Pair<Integer, String> result = mgr.get("http://www.example.org", "user", null, null);
- assertEquals((Integer)200, result.first);
- assertTrue(result.second != null);
- assertTrue(result.second.length() > 0);
- }
-}
diff --git a/controlloop/common/model-impl/rest/src/test/java/org/onap/policy/rest/HttpDeleteWithBodyTest.java b/controlloop/common/model-impl/rest/src/test/java/org/onap/policy/rest/HttpDeleteWithBodyTest.java
deleted file mode 100644
index 0cb5f3aef..000000000
--- a/controlloop/common/model-impl/rest/src/test/java/org/onap/policy/rest/HttpDeleteWithBodyTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * rest
- * ================================================================================
- * Copyright (C) 2018 Amdocs. 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 static org.junit.Assert.assertEquals;
-
-import org.junit.Test;
-
-public class HttpDeleteWithBodyTest {
-
- @Test
- public void getMethod() {
- String url = "http://www.example.org";
- HttpDeleteWithBody deleteWithBody = new HttpDeleteWithBody(url);
- assertEquals("DELETE", deleteWithBody.getMethod());
- assertEquals(url, deleteWithBody.getURI().toString());
- }
-} \ No newline at end of file
diff --git a/controlloop/common/model-impl/rest/src/test/java/org/onap/policy/rest/PairTest.java b/controlloop/common/model-impl/rest/src/test/java/org/onap/policy/rest/PairTest.java
deleted file mode 100755
index 6269e9de4..000000000
--- a/controlloop/common/model-impl/rest/src/test/java/org/onap/policy/rest/PairTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * rest
- * ================================================================================
- * Modifications Copyright (C) 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 static org.junit.Assert.assertEquals;
-
-import org.junit.Test;
-import org.onap.policy.rest.RestManager.Pair;
-
-public class PairTest {
-
- @Test
- public void testPair() {
- RestManager mgr = new RestManager();
-
- Pair<Integer, Integer> pii = mgr.new Pair<>(1, 2);
- assertEquals((Integer) 1, (Integer) pii.first);
- assertEquals((Integer) 2, (Integer) pii.second);
-
- Pair<Integer, String> pis = mgr.new Pair<>(1, "test");
- assertEquals((Integer) 1, (Integer) pis.first);
- assertEquals("test", pis.second);
- }
-}
diff --git a/controlloop/common/model-impl/rest/src/test/java/org/onap/policy/rest/PostTest.java b/controlloop/common/model-impl/rest/src/test/java/org/onap/policy/rest/PostTest.java
deleted file mode 100755
index 834c29873..000000000
--- a/controlloop/common/model-impl/rest/src/test/java/org/onap/policy/rest/PostTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * ============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 static org.junit.Assert.assertEquals;
-
-import org.junit.Test;
-import org.onap.policy.rest.RestManager.Pair;
-
-public class PostTest {
-
- @Test
- public void testUsernameNull() {
- RestManager mgr = new RestManager();
- Pair<Integer, String> result = mgr.post("http://www.example.org", null, null, null, null, null);
- assertEquals(null, result);
- }
-
- @Test
- public void testUsernameEmpty() {
- RestManager mgr = new RestManager();
- Pair<Integer, String> result = mgr.post("http://www.example.org", "", null, null, null, null);
- assertEquals(null, result);
- }
-
- @Test
- public void testBodyNull() {
- RestManager mgr = new RestManager();
- Pair<Integer, String> result = mgr.post("http://www.example.org", "user", null, null, null, null);
- assertEquals(null, result);
- }
-}