X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=bpmn%2Fso-bpmn-tasks%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fso%2Fbpmn%2Finfrastructure%2Fadapter%2Fcnfm%2Ftasks%2FCnfmHttpServiceProviderImpl.java;h=0edeb4089c08349246e50a9d28056729ee0d46ef;hb=fb516859f920197eba4cbc1f5b82279f3e3753c6;hp=1035f4314e5f76f5aa2afb80b528fee3da02ca1b;hpb=d0493f954a48021662b5b6d3ba45b262750690c9;p=so.git diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/adapter/cnfm/tasks/CnfmHttpServiceProviderImpl.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/adapter/cnfm/tasks/CnfmHttpServiceProviderImpl.java index 1035f4314e..0edeb4089c 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/adapter/cnfm/tasks/CnfmHttpServiceProviderImpl.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/adapter/cnfm/tasks/CnfmHttpServiceProviderImpl.java @@ -26,6 +26,7 @@ import org.onap.so.cnfm.lcm.model.AsInstance; import org.onap.so.cnfm.lcm.model.AsLcmOpOcc; import org.onap.so.cnfm.lcm.model.CreateAsRequest; import org.onap.so.cnfm.lcm.model.InstantiateAsRequest; +import org.onap.so.cnfm.lcm.model.TerminateAsRequest; import org.onap.so.rest.exceptions.HttpResouceNotFoundException; import org.onap.so.rest.exceptions.InvalidRestRequestException; import org.onap.so.rest.exceptions.RestProcessingException; @@ -111,14 +112,14 @@ public class CnfmHttpServiceProviderImpl implements CnfmHttpServiceProvider { } @Override - public Optional getInstantiateOperationJobStatus(final String url) { + public Optional getOperationJobStatus(final String url) { try { final ResponseEntity response = httpServiceProvider.getHttpResponse(url, AsLcmOpOcc.class); final HttpStatus httpStatus = response.getStatusCode(); if (!(httpStatus.equals(HttpStatus.ACCEPTED)) && !(httpStatus.equals(HttpStatus.OK))) { - LOGGER.error("Unable to invoke HTTP GET using URL: {}, Response Code: ", url, httpStatus.value()); + LOGGER.error("Unable to invoke HTTP GET using URL: {}, Response Code: {}", url, httpStatus.value()); return Optional.empty(); } @@ -134,4 +135,54 @@ public class CnfmHttpServiceProviderImpl implements CnfmHttpServiceProvider { } } + @Override + public Optional invokeDeleteAsRequest(String asInstanceId) { + try { + + final String url = cnfmUrlProvider.getDeleteAsRequestUrl(asInstanceId); + LOGGER.debug("Will send request to CNFM by uisng the url: {}", url); + + ResponseEntity response = httpServiceProvider.deleteHttpRequest(url, Void.class); + final HttpStatus httpStatus = response.getStatusCode(); + if (!(httpStatus.is2xxSuccessful())) { + LOGGER.error("Unable to invoke HTTP DELETE using URL: {}, Response Code: {}", url, httpStatus.value()); + return Optional.empty(); + } + return Optional.of(Boolean.TRUE); + } catch (final RestProcessingException | InvalidRestRequestException + | HttpResouceNotFoundException httpInvocationException) { + LOGGER.error("Unexpected error while processing delete request", httpInvocationException); + return Optional.empty(); + } + } + + @Override + public Optional invokeTerminateAsRequest(String asInstanceId, TerminateAsRequest terminateAsRequest) { + try { + + final String url = cnfmUrlProvider.getTerminateAsRequestUrl(asInstanceId); + LOGGER.debug("Will send request to CNFM to terminate by uisng the url: {}", url); + + ResponseEntity response = httpServiceProvider.postHttpRequest(terminateAsRequest, url, Void.class); + final HttpStatus httpStatus = response.getStatusCode(); + if (httpStatus.is2xxSuccessful()) { + URI statusUri = response.getHeaders().getLocation(); + if (statusUri == null) { + LOGGER.error("Received response without status URL while terminating of instance with ID: {}", + asInstanceId); + return Optional.empty(); + } + return Optional.of(statusUri); + } + LOGGER.error("Unable to invoke HTTP DELETE while terminating by using URL: {}, Response Code: {}", url, + httpStatus.value()); + return Optional.empty(); + + } catch (final RestProcessingException | InvalidRestRequestException + | HttpResouceNotFoundException httpInvocationException) { + LOGGER.error("Unexpected error while processing terminate request", httpInvocationException); + return Optional.empty(); + } + } + }