aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupHealthCheckControllerV1.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupHealthCheckControllerV1.java')
-rw-r--r--main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupHealthCheckControllerV1.java67
1 files changed, 18 insertions, 49 deletions
diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupHealthCheckControllerV1.java b/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupHealthCheckControllerV1.java
index ccc2ba1f..0b08fa22 100644
--- a/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupHealthCheckControllerV1.java
+++ b/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupHealthCheckControllerV1.java
@@ -1,6 +1,6 @@
/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2019,2021 Nordix Foundation.
+ * Copyright (C) 2019-2023 Nordix Foundation.
* Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
* Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
* ================================================================================
@@ -22,24 +22,15 @@
package org.onap.policy.pap.main.rest;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.Authorization;
-import io.swagger.annotations.Extension;
-import io.swagger.annotations.ExtensionProperty;
-import io.swagger.annotations.ResponseHeader;
import java.util.UUID;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.tuple.Pair;
import org.onap.policy.models.base.PfModelException;
import org.onap.policy.models.pdp.concepts.Pdps;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestHeader;
-import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
@@ -49,10 +40,11 @@ import org.springframework.web.bind.annotation.RestController;
*/
@RestController
-@RequestMapping(path = "/policy/pap/v1")
@RequiredArgsConstructor
-public class PdpGroupHealthCheckControllerV1 extends PapRestControllerV1 {
+public class PdpGroupHealthCheckControllerV1 extends PapRestControllerV1
+ implements PdpGroupHealthCheckControllerV1Api {
+ private static final Logger logger = LoggerFactory.getLogger(PdpGroupHealthCheckControllerV1.class);
private final PdpGroupHealthCheckProvider provider;
/**
@@ -60,41 +52,18 @@ public class PdpGroupHealthCheckControllerV1 extends PapRestControllerV1 {
*
* @param requestId request ID used in ONAP logging
* @return a response
+ * @throws PfModelException Exception thrown by fetchPdpGroupHealthStatus
*/
- // @formatter:off
- @GetMapping("pdps/healthcheck")
- @ApiOperation(value = "Returns health status of all PDPs registered with PAP",
- notes = "Queries health status of all PDPs, returning all pdps health status",
- response = Pdps.class,
- tags = {"Policy Administration (PAP) API"},
- authorizations = @Authorization(value = AUTHORIZATION_TYPE),
- responseHeaders = {
- @ResponseHeader(name = VERSION_MINOR_NAME, description = VERSION_MINOR_DESCRIPTION,
- response = String.class),
- @ResponseHeader(name = VERSION_PATCH_NAME, description = VERSION_PATCH_DESCRIPTION,
- response = String.class),
- @ResponseHeader(name = VERSION_LATEST_NAME, description = VERSION_LATEST_DESCRIPTION,
- response = String.class),
- @ResponseHeader(name = REQUEST_ID_NAME, description = REQUEST_ID_HDR_DESCRIPTION,
- response = UUID.class)},
- extensions = {
- @Extension(name = EXTENSION_NAME,
- properties = {
- @ExtensionProperty(name = API_VERSION_NAME, value = API_VERSION),
- @ExtensionProperty(name = LAST_MOD_NAME, value = LAST_MOD_RELEASE)
- })
- })
- @ApiResponses(value = {
- @ApiResponse(code = AUTHENTICATION_ERROR_CODE, message = AUTHENTICATION_ERROR_MESSAGE),
- @ApiResponse(code = AUTHORIZATION_ERROR_CODE, message = AUTHORIZATION_ERROR_MESSAGE),
- @ApiResponse(code = SERVER_ERROR_CODE, message = SERVER_ERROR_MESSAGE)
- })
- // @formatter:on
- public ResponseEntity<Pdps> pdpGroupHealthCheck(@ApiParam(REQUEST_ID_PARAM_DESCRIPTION) @RequestHeader(
- required = false,
- value = REQUEST_ID_NAME) final UUID requestId) throws PfModelException {
- Pair<HttpStatus, Pdps> pair = provider.fetchPdpGroupHealthStatus();
- return addLoggingHeaders(addVersionControlHeaders(ResponseEntity.status(pair.getLeft())), requestId)
- .body(pair.getRight());
+ @Override
+ public ResponseEntity<Pdps> pdpGroupHealthCheck(UUID requestId) {
+ try {
+ Pair<HttpStatus, Pdps> pair = provider.fetchPdpGroupHealthStatus();
+ return addLoggingHeaders(addVersionControlHeaders(ResponseEntity.status(pair.getLeft())), requestId)
+ .body(pair.getRight());
+ } catch (PfModelException e) {
+ logger.warn("fetch Pdp Group Health Status failed", e);
+ return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
+ }
+
}
}