aboutsummaryrefslogtreecommitdiffstats
path: root/ccsdk-app-common/src/main/java/org/onap/ccsdk/dashboard/rest/DeploymentHandlerClientImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'ccsdk-app-common/src/main/java/org/onap/ccsdk/dashboard/rest/DeploymentHandlerClientImpl.java')
-rw-r--r--ccsdk-app-common/src/main/java/org/onap/ccsdk/dashboard/rest/DeploymentHandlerClientImpl.java363
1 files changed, 187 insertions, 176 deletions
diff --git a/ccsdk-app-common/src/main/java/org/onap/ccsdk/dashboard/rest/DeploymentHandlerClientImpl.java b/ccsdk-app-common/src/main/java/org/onap/ccsdk/dashboard/rest/DeploymentHandlerClientImpl.java
index 168c28b..c03dff6 100644
--- a/ccsdk-app-common/src/main/java/org/onap/ccsdk/dashboard/rest/DeploymentHandlerClientImpl.java
+++ b/ccsdk-app-common/src/main/java/org/onap/ccsdk/dashboard/rest/DeploymentHandlerClientImpl.java
@@ -1,3 +1,24 @@
+/*******************************************************************************
+ * =============LICENSE_START=========================================================
+ *
+ * =================================================================================
+ * 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=========================================================
+ *
+ * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ *******************************************************************************/
package org.onap.ccsdk.dashboard.rest;
import java.io.IOException;
@@ -30,184 +51,174 @@ import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
public class DeploymentHandlerClientImpl extends RestClientBase implements DeploymentHandlerClient {
- private final String baseUrl;
- //private final RestTemplate restTemplate;
- private static final String DEPLOYMENTS = "dcae-deployments";
- private static final String UPDATE_PATH = "dcae-deployment-update";
-
- protected final ObjectMapper objectMapper = new ObjectMapper();
-
- public DeploymentHandlerClientImpl(String webapiUrl) {
- this(webapiUrl, null, null);
- }
-
- /**
- * Builds a restTemplate. If username and password are supplied, uses basic
- * HTTP authentication.
- *
- * @param webapiUrl
- * URL of the web endpoint
- * @param user
- * user name; ignored if null
- * @param pass
- * password
- */
- public DeploymentHandlerClientImpl(String webapiUrl, String user, String pass) {
- super();
- if (webapiUrl == null)
- throw new IllegalArgumentException("Null URL not permitted");
- URL url = null;
- String urlScheme = "http";
- try {
- url = new URL(webapiUrl);
- baseUrl = url.toExternalForm();
- } catch (MalformedURLException ex) {
- throw new RuntimeException("Failed to parse URL", ex);
- }
- urlScheme = webapiUrl.split(":")[0];
- createRestTemplate(url, user, pass, urlScheme);
- // Do not serialize null values
- objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
- // Register Jdk8Module() for Stream and Optional types
- objectMapper.registerModule(new Jdk8Module());
- }
-
- public Stream<DeploymentLink> getDeployments() {
- String url = buildUrl(new String[] {baseUrl, DEPLOYMENTS}, null);
- ResponseEntity<DeploymentsListResponse> response = restTemplate.exchange(url, HttpMethod.GET, null,
- new ParameterizedTypeReference<DeploymentsListResponse>() {
- });
- DeploymentsListResponse result = response.getBody();
- return result.getDeployments().stream();
- }
+ private final String baseUrl;
+ // private final RestTemplate restTemplate;
+ private static final String DEPLOYMENTS = "dcae-deployments";
+ private static final String UPDATE_PATH = "dcae-deployment-update";
- @Override
- public Stream<DeploymentLink> getDeployments(String serviceTypeId) {
- String url = buildUrl(new String[] {baseUrl, DEPLOYMENTS}, new String[] {"serviceTypeId", serviceTypeId});
- ResponseEntity<DeploymentsListResponse> response = restTemplate.exchange(url, HttpMethod.GET, null,
- new ParameterizedTypeReference<DeploymentsListResponse>() {
- });
- DeploymentsListResponse result = response.getBody();
- return result.getDeployments().stream();
- }
+ protected final ObjectMapper objectMapper = new ObjectMapper();
- @Override
- public DeploymentResponse putDeployment(String deploymentId, String tenant, DeploymentRequest deploymentRequest)
- throws BadRequestException, ServiceAlreadyExistsException, ServerErrorException, DownstreamException {
- String url = buildUrl(new String[] {baseUrl, DEPLOYMENTS, deploymentId}, new String[] {"cfy_tenant_name",tenant});
- try {
- HttpHeaders headers = new HttpHeaders();
- headers.setContentType(MediaType.APPLICATION_JSON);
- ResponseEntity<DeploymentResponse> result = restTemplate.exchange(url, HttpMethod.PUT, new HttpEntity<DeploymentRequest>(deploymentRequest, headers),
- new ParameterizedTypeReference<DeploymentResponse>() {
- });
- return result.getBody();
- } catch(HttpServerErrorException | HttpClientErrorException e) {
- DeploymentErrorResponse errBody = null;
- String errMsg = "";
- try {
- errBody = objectMapper.readValue(e.getResponseBodyAsString(), DeploymentErrorResponse.class);
- } catch (IOException e1) {
- errBody = null;
- }
- if (errBody != null) {
- errMsg = errBody.getMessage();
- }
- StringBuilder errDetails = new StringBuilder();
- errDetails.append(e.getMessage()).append(" ").append(errMsg);
- if (e.getStatusCode().value() == 400 || e.getStatusCode().value() == 415 || e.getStatusCode().value() == 404) {
- throw new BadRequestException(errDetails.toString());
- }
- else if(e.getStatusCode().value() == 409) {
- throw new ServiceAlreadyExistsException(errDetails.toString());
- }
- else if(e.getStatusCode().value() == 500) {
- throw new ServerErrorException(errDetails.toString());
- }
- else if(e.getStatusCode().value() == 502 || e.getStatusCode().value() == 504) {
- throw new DownstreamException(errDetails.toString());
- }
- }
- return null;
- }
+ public DeploymentHandlerClientImpl(String webapiUrl) {
+ this(webapiUrl, null, null);
+ }
- @Override
- public DeploymentResponse updateDeployment(String deploymentId, String tenant,
- DeploymentRequest deploymentRequest) throws BadRequestException,
- ServiceAlreadyExistsException,
- ServerErrorException,
- DownstreamException {
- String url = buildUrl(new String[] {baseUrl, UPDATE_PATH, deploymentId}, new String[] {"cfy_tenant_name",tenant});
- try {
- HttpHeaders headers = new HttpHeaders();
- headers.setContentType(MediaType.APPLICATION_JSON);
- ResponseEntity<DeploymentResponse> result = restTemplate.exchange(url, HttpMethod.PUT, new HttpEntity<DeploymentRequest>(deploymentRequest, headers),
- new ParameterizedTypeReference<DeploymentResponse>() {
- });
- return result.getBody();
- } catch(HttpServerErrorException | HttpClientErrorException e) {
- DeploymentErrorResponse errBody = null;
- String errMsg = "";
- try {
- errBody = objectMapper.readValue(e.getResponseBodyAsString(), DeploymentErrorResponse.class);
- } catch (IOException e1) {
- errBody = null;
- }
- if (errBody != null) {
- errMsg = errBody.getMessage();
- }
- StringBuilder errDetails = new StringBuilder();
- errDetails.append(e.getMessage()).append(" ").append(errMsg);
- if (e.getStatusCode().value() == 400 || e.getStatusCode().value() == 415 || e.getStatusCode().value() == 404) {
- throw new BadRequestException(errDetails.toString());
- }
- else if(e.getStatusCode().value() == 409) {
- throw new ServiceAlreadyExistsException(errDetails.toString());
- }
- else if(e.getStatusCode().value() == 500) {
- throw new ServerErrorException(errDetails.toString());
- }
- else if(e.getStatusCode().value() == 502 || e.getStatusCode().value() == 504) {
- throw new DownstreamException(errDetails.toString());
- }
- }
- return null; // Perhaps this should be a proper JSON error response.
- }
+ /**
+ * Builds a restTemplate. If username and password are supplied, uses basic HTTP
+ * authentication.
+ *
+ * @param webapiUrl URL of the web endpoint
+ * @param user user name; ignored if null
+ * @param pass password
+ */
+ public DeploymentHandlerClientImpl(String webapiUrl, String user, String pass) {
+ super();
+ if (webapiUrl == null)
+ throw new IllegalArgumentException("Null URL not permitted");
+ URL url = null;
+ String urlScheme = "http";
+ try {
+ url = new URL(webapiUrl);
+ baseUrl = url.toExternalForm();
+ } catch (MalformedURLException ex) {
+ throw new RuntimeException("Failed to parse URL", ex);
+ }
+ urlScheme = webapiUrl.split(":")[0];
+ createRestTemplate(url, user, pass, urlScheme);
+ // Do not serialize null values
+ objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
+ // Register Jdk8Module() for Stream and Optional types
+ objectMapper.registerModule(new Jdk8Module());
+ }
-
- @Override
- public void deleteDeployment(String deploymentId, String tenant)
- throws BadRequestException, ServerErrorException, DownstreamException, DeploymentNotFoundException {
- String url = buildUrl(new String[] {baseUrl, DEPLOYMENTS, deploymentId}, new String[] {"cfy_tenant_name",tenant, "ignore_failure", "true"});
- try {
- restTemplate.exchange(url, HttpMethod.DELETE, null,
- new ParameterizedTypeReference<DeploymentResponse>() {
- });
- } catch(HttpServerErrorException | HttpClientErrorException e) {
- DeploymentErrorResponse errBody = null;
- String errMsg = "";
- try {
- errBody = objectMapper.readValue(e.getResponseBodyAsString(), DeploymentErrorResponse.class);
- } catch (IOException e1) {
- errBody = null;
- }
- if (errBody != null) {
- errMsg = errBody.getMessage();
- }
- StringBuilder errDetails = new StringBuilder();
- errDetails.append(e.getMessage()).append(" ").append(errMsg);
- if (e.getStatusCode().value() == 400 || e.getStatusCode().value() == 415) {
- throw new BadRequestException(errDetails.toString());
- }
- else if (e.getStatusCode().value() == 404) {
- throw new DeploymentNotFoundException(e.getMessage());
- }
- else if(e.getStatusCode().value() == 500) {
- throw new ServerErrorException(errDetails.toString());
- }
- else if(e.getStatusCode().value() == 502 || e.getStatusCode().value() == 504) {
- throw new DownstreamException(errDetails.toString());
- }
- }
- }
+ public Stream<DeploymentLink> getDeployments() {
+ String url = buildUrl(new String[] { baseUrl, DEPLOYMENTS }, null);
+ ResponseEntity<DeploymentsListResponse> response = restTemplate.exchange(url, HttpMethod.GET, null,
+ new ParameterizedTypeReference<DeploymentsListResponse>() {
+ });
+ DeploymentsListResponse result = response.getBody();
+ return result.getDeployments().stream();
+ }
+
+ @Override
+ public Stream<DeploymentLink> getDeployments(String serviceTypeId) {
+ String url = buildUrl(new String[] { baseUrl, DEPLOYMENTS }, new String[] { "serviceTypeId", serviceTypeId });
+ ResponseEntity<DeploymentsListResponse> response = restTemplate.exchange(url, HttpMethod.GET, null,
+ new ParameterizedTypeReference<DeploymentsListResponse>() {
+ });
+ DeploymentsListResponse result = response.getBody();
+ return result.getDeployments().stream();
+ }
+
+ @Override
+ public DeploymentResponse putDeployment(String deploymentId, String tenant, DeploymentRequest deploymentRequest)
+ throws BadRequestException, ServiceAlreadyExistsException, ServerErrorException, DownstreamException {
+ String url = buildUrl(new String[] { baseUrl, DEPLOYMENTS, deploymentId },
+ new String[] { "cfy_tenant_name", tenant });
+ try {
+ HttpHeaders headers = new HttpHeaders();
+ headers.setContentType(MediaType.APPLICATION_JSON);
+ ResponseEntity<DeploymentResponse> result = restTemplate.exchange(url, HttpMethod.PUT,
+ new HttpEntity<DeploymentRequest>(deploymentRequest, headers),
+ new ParameterizedTypeReference<DeploymentResponse>() {
+ });
+ return result.getBody();
+ } catch (HttpServerErrorException | HttpClientErrorException e) {
+ DeploymentErrorResponse errBody = null;
+ String errMsg = "";
+ try {
+ errBody = objectMapper.readValue(e.getResponseBodyAsString(), DeploymentErrorResponse.class);
+ } catch (IOException e1) {
+ errBody = null;
+ }
+ if (errBody != null) {
+ errMsg = errBody.getMessage();
+ }
+ StringBuilder errDetails = new StringBuilder();
+ errDetails.append(e.getMessage()).append(" ").append(errMsg);
+ if (e.getStatusCode().value() == 400 || e.getStatusCode().value() == 415
+ || e.getStatusCode().value() == 404) {
+ throw new BadRequestException(errDetails.toString());
+ } else if (e.getStatusCode().value() == 409) {
+ throw new ServiceAlreadyExistsException(errDetails.toString());
+ } else if (e.getStatusCode().value() == 500) {
+ throw new ServerErrorException(errDetails.toString());
+ } else if (e.getStatusCode().value() == 502 || e.getStatusCode().value() == 504) {
+ throw new DownstreamException(errDetails.toString());
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public DeploymentResponse updateDeployment(String deploymentId, String tenant, DeploymentRequest deploymentRequest)
+ throws BadRequestException, ServiceAlreadyExistsException, ServerErrorException, DownstreamException {
+ String url = buildUrl(new String[] { baseUrl, UPDATE_PATH, deploymentId },
+ new String[] { "cfy_tenant_name", tenant });
+ try {
+ HttpHeaders headers = new HttpHeaders();
+ headers.setContentType(MediaType.APPLICATION_JSON);
+ ResponseEntity<DeploymentResponse> result = restTemplate.exchange(url, HttpMethod.PUT,
+ new HttpEntity<DeploymentRequest>(deploymentRequest, headers),
+ new ParameterizedTypeReference<DeploymentResponse>() {
+ });
+ return result.getBody();
+ } catch (HttpServerErrorException | HttpClientErrorException e) {
+ DeploymentErrorResponse errBody = null;
+ String errMsg = "";
+ try {
+ errBody = objectMapper.readValue(e.getResponseBodyAsString(), DeploymentErrorResponse.class);
+ } catch (IOException e1) {
+ errBody = null;
+ }
+ if (errBody != null) {
+ errMsg = errBody.getMessage();
+ }
+ StringBuilder errDetails = new StringBuilder();
+ errDetails.append(e.getMessage()).append(" ").append(errMsg);
+ if (e.getStatusCode().value() == 400 || e.getStatusCode().value() == 415
+ || e.getStatusCode().value() == 404) {
+ throw new BadRequestException(errDetails.toString());
+ } else if (e.getStatusCode().value() == 409) {
+ throw new ServiceAlreadyExistsException(errDetails.toString());
+ } else if (e.getStatusCode().value() == 500) {
+ throw new ServerErrorException(errDetails.toString());
+ } else if (e.getStatusCode().value() == 502 || e.getStatusCode().value() == 504) {
+ throw new DownstreamException(errDetails.toString());
+ }
+ }
+ return null; // Perhaps this should be a proper JSON error response.
+ }
+
+ @Override
+ public void deleteDeployment(String deploymentId, String tenant)
+ throws BadRequestException, ServerErrorException, DownstreamException, DeploymentNotFoundException {
+ String url = buildUrl(new String[] { baseUrl, DEPLOYMENTS, deploymentId },
+ new String[] { "cfy_tenant_name", tenant, "ignore_failure", "true" });
+ try {
+ restTemplate.exchange(url, HttpMethod.DELETE, null, new ParameterizedTypeReference<DeploymentResponse>() {
+ });
+ } catch (HttpServerErrorException | HttpClientErrorException e) {
+ DeploymentErrorResponse errBody = null;
+ String errMsg = "";
+ try {
+ errBody = objectMapper.readValue(e.getResponseBodyAsString(), DeploymentErrorResponse.class);
+ } catch (IOException e1) {
+ errBody = null;
+ }
+ if (errBody != null) {
+ errMsg = errBody.getMessage();
+ }
+ StringBuilder errDetails = new StringBuilder();
+ errDetails.append(e.getMessage()).append(" ").append(errMsg);
+ if (e.getStatusCode().value() == 400 || e.getStatusCode().value() == 415) {
+ throw new BadRequestException(errDetails.toString());
+ } else if (e.getStatusCode().value() == 404) {
+ throw new DeploymentNotFoundException(e.getMessage());
+ } else if (e.getStatusCode().value() == 500) {
+ throw new ServerErrorException(errDetails.toString());
+ } else if (e.getStatusCode().value() == 502 || e.getStatusCode().value() == 504) {
+ throw new DownstreamException(errDetails.toString());
+ }
+ }
+ }
}