summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/restful/client/PortalRestClientBase.java
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/restful/client/PortalRestClientBase.java')
-rw-r--r--ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/restful/client/PortalRestClientBase.java171
1 files changed, 0 insertions, 171 deletions
diff --git a/ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/restful/client/PortalRestClientBase.java b/ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/restful/client/PortalRestClientBase.java
deleted file mode 100644
index a7c517ec..00000000
--- a/ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/restful/client/PortalRestClientBase.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.portalsdk.core.restful.client;
-
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.http.Consts;
-import org.apache.http.HttpEntity;
-import org.apache.http.client.ClientProtocolException;
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.entity.ContentType;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.util.EntityUtils;
-import org.openecomp.portalsdk.core.domain.App;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-import org.openecomp.portalsdk.core.onboarding.crossapi.PortalApiConstants;
-import org.openecomp.portalsdk.core.onboarding.crossapi.PortalApiProperties;
-import org.openecomp.portalsdk.core.service.AppService;
-import org.openecomp.portalsdk.core.util.CipherUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-/**
- * Provides a basic client to access a REST endpoint at the Portal via get or
- * post. Usage caveats:
- * <OL>
- * <LI>Must be auto-wired by Spring, because this in turn auto-wires a
- * data-access service to read application credentials from the FN_APP table.
- * <LI>If HTTP access is used and the server uses a self-signed certificate, the
- * local trust store must be extended appropriately. The HTTP client throws
- * exceptions if the JVM cannot validate the server certificate.
- * </OL>
- */
-@Component
-public class PortalRestClientBase {
-
- EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(PortalRestClientBase.class);
-
- @Autowired
- AppService appService;
-
- /**
- * Constructs and sends a GET request for the URI, with REST application
- * credentials in the header as the Portal expects.
- *
- * @param uri
- * URI of the service
- * @return Result of the get; null if an error happens
- * @throws URISyntaxException
- * @throws IOException
- * @throws ClientProtocolException
- */
- public HttpStatusAndResponse getRestWithCredentials(final URI uri) throws Exception {
-
- String uebKey = PortalApiProperties.getProperty(PortalApiConstants.UEB_APP_KEY);
- App app = appService.getDefaultApp();
- if (uebKey == null || app == null || app.getUsername() == null || app.getAppPassword() == null)
- throw new Exception("Missing one or more required properties and/or database entries");
- String decryptedPassword = CipherUtil.decrypt(app.getAppPassword());
- CloseableHttpClient httpClient = HttpClients.createDefault();
- HttpGet httpGet = new HttpGet(uri);
- httpGet.setHeader("uebkey", uebKey);
- httpGet.setHeader("username", app.getUsername());
- httpGet.setHeader("password", decryptedPassword);
-
- String responseJson = null;
- CloseableHttpResponse response = null;
- try {
- logger.info(EELFLoggerDelegate.debugLogger, "GET from " + uri);
- response = httpClient.execute(httpGet);
- logger.info(EELFLoggerDelegate.debugLogger, "Status is " + response.getStatusLine());
- if (response.getStatusLine().getStatusCode() != HttpServletResponse.SC_OK)
- logger.info(EELFLoggerDelegate.debugLogger, "Status is " + response.getStatusLine().toString());
- HttpEntity entity = response.getEntity();
- if (entity == null) {
- logger.info(EELFLoggerDelegate.debugLogger, "Entity is null!");
- } else {
- // entity content length is never set.
- // this naively tries to read everything.
- responseJson = EntityUtils.toString(entity);
- logger.info(EELFLoggerDelegate.debugLogger, responseJson);
- EntityUtils.consume(entity);
- }
- } finally {
- if (response != null)
- response.close();
- }
- if (response == null)
- return null;
- return new HttpStatusAndResponse(response.getStatusLine().getStatusCode(), responseJson);
- }
-
- /**
- * Constructs and sends a POST request using the specified body, with REST
- * application credentials in the header as the Portal expects.
- *
- * @param uri
- * REST endpoint
- * @param json
- * Content to post
- * @return Result of the post; null if an error happens
- * @throws Exception
- */
- public HttpStatusAndResponse postRestWithCredentials(final URI uri, final String json) throws Exception {
-
- String uebKey = PortalApiProperties.getProperty(PortalApiConstants.UEB_APP_KEY);
- App app = appService.getDefaultApp();
- if (uebKey == null || app == null || app.getUsername() == null || app.getAppPassword() == null)
- throw new Exception("Missing one or more required properties and/or database entries");
-
- CloseableHttpClient httpClient = HttpClients.createDefault();
- HttpPost httpPost = new HttpPost(uri);
- httpPost.setHeader("uebkey", uebKey);
- httpPost.setHeader("username", app.getUsername());
- httpPost.setHeader("password", app.getAppPassword());
-
- StringEntity postEntity = new StringEntity(json, ContentType.create("application/json", Consts.UTF_8));
- httpPost.setEntity(postEntity);
-
- String responseJson = null;
- CloseableHttpResponse response = null;
- try {
- logger.info(EELFLoggerDelegate.debugLogger, "POST to " + uri);
- response = httpClient.execute(httpPost);
- logger.info(EELFLoggerDelegate.debugLogger, "Status is " + response.getStatusLine());
- if (response.getStatusLine().getStatusCode() != HttpServletResponse.SC_OK)
- throw new Exception("Status is " + response.getStatusLine().toString());
-
- HttpEntity entity = response.getEntity();
- if (entity == null) {
- logger.info(EELFLoggerDelegate.debugLogger, "Entity is null!");
- } else {
- // entity content length is never set.
- // this naively tries to read everything.
- responseJson = EntityUtils.toString(entity);
- logger.info(EELFLoggerDelegate.debugLogger, responseJson);
- EntityUtils.consume(entity);
- }
- } finally {
- if (response != null)
- response.close();
- }
- return new HttpStatusAndResponse(response.getStatusLine().getStatusCode(), responseJson);
- }
-
-}