X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-ncmp-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fcps%2Fncmp%2Fapi%2Fimpl%2Fclient%2FDmiRestClient.java;fp=cps-ncmp-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fcps%2Fncmp%2Fapi%2Fimpl%2Fclient%2FDmiRestClient.java;h=6a8310c2079482543866e36d0870b901f2a97b0a;hb=a01f8861a84931f4bdf2d69fa05a793afabc22e0;hp=a09834081ae2f08cc80f856b5ecab47896ca85ba;hpb=9693ec51cf6526082f0ad0c3ad208d144cbbb163;p=cps.git diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/client/DmiRestClient.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/client/DmiRestClient.java index a09834081..6a8310c20 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/client/DmiRestClient.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/client/DmiRestClient.java @@ -21,10 +21,13 @@ package org.onap.cps.ncmp.api.impl.client; +import com.fasterxml.jackson.databind.JsonNode; import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.onap.cps.ncmp.api.impl.config.NcmpConfiguration.DmiProperties; import org.onap.cps.ncmp.api.impl.exception.HttpClientRequestException; import org.onap.cps.ncmp.api.impl.operations.OperationType; +import org.onap.cps.ncmp.api.impl.trustlevel.dmiavailability.DmiPluginStatus; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; @@ -35,6 +38,7 @@ import org.springframework.web.client.RestTemplate; @Component @AllArgsConstructor +@Slf4j public class DmiRestClient { private RestTemplate restTemplate; @@ -60,6 +64,28 @@ public class DmiRestClient { } } + /** + * Sends GET operation to DMI plugin's health check URL. + * + * @param dmiPluginBaseUrl the base URL of the dmi-plugin + * @return DmiPluginStatus as UP or DOWN + */ + public DmiPluginStatus getDmiPluginStatus(final String dmiPluginBaseUrl) { + try { + final HttpEntity httpHeaders = new HttpEntity<>(configureHttpHeaders(new HttpHeaders())); + final JsonNode dmiPluginHealthStatus = restTemplate.getForObject(dmiPluginBaseUrl + "/manage/health", + JsonNode.class, httpHeaders); + if (dmiPluginHealthStatus != null) { + if (dmiPluginHealthStatus.get("status").asText().equals("UP")) { + return DmiPluginStatus.UP; + } + } + } catch (final Exception exception) { + log.warn("Could not send request for health check since {}", exception.getMessage()); + } + return DmiPluginStatus.DOWN; + } + private HttpHeaders configureHttpHeaders(final HttpHeaders httpHeaders) { if (dmiProperties.isDmiBasicAuthEnabled()) { httpHeaders.setBasicAuth(dmiProperties.getAuthUsername(), dmiProperties.getAuthPassword());