aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/main/java/org/onap/policy/pap/main/rest/PolicyStatusControllerV1.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/main/java/org/onap/policy/pap/main/rest/PolicyStatusControllerV1.java')
-rw-r--r--main/src/main/java/org/onap/policy/pap/main/rest/PolicyStatusControllerV1.java287
1 files changed, 23 insertions, 264 deletions
diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/PolicyStatusControllerV1.java b/main/src/main/java/org/onap/policy/pap/main/rest/PolicyStatusControllerV1.java
index b0de1e7c..e1772142 100644
--- a/main/src/main/java/org/onap/policy/pap/main/rest/PolicyStatusControllerV1.java
+++ b/main/src/main/java/org/onap/policy/pap/main/rest/PolicyStatusControllerV1.java
@@ -3,7 +3,7 @@
* ONAP PAP
* ================================================================================
* Copyright (C) 2019, 2021 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2021 Nordix Foundation.
+ * Modifications Copyright (C) 2021-2023 Nordix Foundation.
* Modifications Copyright (C) 2021-2022 Bell Canada. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,14 +23,6 @@
package org.onap.policy.pap.main.rest;
import com.google.re2j.PatternSyntaxException;
-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.Collection;
import java.util.UUID;
import lombok.RequiredArgsConstructor;
@@ -42,11 +34,6 @@ 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.PathVariable;
-import org.springframework.web.bind.annotation.RequestHeader;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
@@ -54,9 +41,8 @@ import org.springframework.web.bind.annotation.RestController;
* policies.
*/
@RestController
-@RequestMapping(path = "/policy/pap/v1")
@RequiredArgsConstructor
-public class PolicyStatusControllerV1 extends PapRestControllerV1 {
+public class PolicyStatusControllerV1 extends PapRestControllerV1 implements PolicyStatusControllerV1Api {
private static final String EMPTY_REGEX_ERROR_MESSAGE = "An empty string passed as a regex is not allowed";
private static final String EMPTY_REGEX_WARNING = ". Empty string passed as Regex.";
private static final String GET_DEPLOYMENTS_FAILED = "get deployments failed";
@@ -73,41 +59,8 @@ public class PolicyStatusControllerV1 extends PapRestControllerV1 {
* @param regex regex for a policy name
* @return a response
*/
- // @formatter:off
- @GetMapping("policies/deployed")
- @ApiOperation(value = "Queries status of all deployed policies",
- notes = "Queries status of all deployed policies, returning success and failure counts of the PDPs",
- responseContainer = "List", response = PolicyStatus.class,
- tags = {"Policy Deployment Status"},
- 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<Object> queryAllDeployedPolicies(
- @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) @RequestHeader(
- required = false,
- value = REQUEST_ID_NAME) final UUID requestId,
- @ApiParam(value = "Regex for a policy name") @RequestParam(required = false, value = "regex") String regex) {
+ @Override
+ public ResponseEntity<Object> queryAllDeployedPolicies(UUID requestId, String regex) {
try {
final Collection<PolicyStatus> result;
if (regex == null) {
@@ -137,41 +90,8 @@ public class PolicyStatusControllerV1 extends PapRestControllerV1 {
* @param requestId request ID used in ONAP logging
* @return a response
*/
- // @formatter:off
- @GetMapping("policies/deployed/{name}")
- @ApiOperation(value = "Queries status of specific deployed policies",
- notes = "Queries status of specific deployed policies, returning success and failure counts of the PDPs",
- responseContainer = "List", response = PolicyStatus.class,
- tags = {"Policy Deployment Status"},
- 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<Object> queryDeployedPolicies(
- @ApiParam(value = "Policy Id") @PathVariable("name") String name,
- @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) @RequestHeader(
- required = false,
- value = REQUEST_ID_NAME) final UUID requestId) {
+ @Override
+ public ResponseEntity<Object> queryDeployedPolicies(String name, UUID requestId) {
try {
Collection<PolicyStatus> result = provider.getStatus(new ToscaConceptIdentifierOptVersion(name, null));
@@ -197,41 +117,8 @@ public class PolicyStatusControllerV1 extends PapRestControllerV1 {
* @param requestId request ID used in ONAP logging
* @return a response
*/
- // @formatter:off
- @GetMapping("policies/deployed/{name}/{version}")
- @ApiOperation(value = "Queries status of a specific deployed policy",
- notes = "Queries status of a specific deployed policy, returning success and failure counts of the PDPs",
- response = PolicyStatus.class,
- tags = {"Policy Deployment Status"},
- 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<Object> queryDeployedPolicy(@ApiParam(value = "Policy Id") @PathVariable("name") String name,
- @ApiParam(value = "Policy Version") @PathVariable("version") String version,
- @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) @RequestHeader(
- required = false,
- value = REQUEST_ID_NAME) final UUID requestId) {
+ @Override
+ public ResponseEntity<Object> queryDeployedPolicy(String name, String version, UUID requestId) {
try {
Collection<PolicyStatus> result = provider.getStatus(new ToscaConceptIdentifierOptVersion(name, version));
@@ -258,41 +145,8 @@ public class PolicyStatusControllerV1 extends PapRestControllerV1 {
* @param requestId request ID used in ONAP logging
* @return a response
*/
- // @formatter:off
- @GetMapping("policies/status")
- @ApiOperation(value = "Queries status of policies in all PdpGroups",
- notes = "Queries status of policies in all PdpGroups, "
- + "returning status of policies in all the PDPs belonging to all PdpGroups",
- responseContainer = "List", response = PdpPolicyStatus.class,
- tags = {"Policy Status"},
- 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<Object> getStatusOfAllPolicies(
- @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) @RequestHeader(
- required = false,
- value = REQUEST_ID_NAME) final UUID requestId) {
+ @Override
+ public ResponseEntity<Object> getStatusOfAllPolicies(UUID requestId) {
try {
return addLoggingHeaders(addVersionControlHeaders(ResponseEntity.ok()), requestId)
@@ -315,43 +169,11 @@ public class PolicyStatusControllerV1 extends PapRestControllerV1 {
* @param regex regex for a policy name
* @return a response
*/
- // @formatter:off
- @GetMapping("policies/status/{pdpGroupName}")
- @ApiOperation(value = "Queries status of policies in a specific PdpGroup",
- notes = "Queries status of policies in a specific PdpGroup, "
- + "returning status of policies in all the PDPs belonging to the PdpGroup",
- responseContainer = "List", response = PdpPolicyStatus.class,
- tags = {"Policy Status"},
- 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
-
+ @Override
public ResponseEntity<Object> getStatusOfPoliciesByGroup(
- @ApiParam(value = "PDP Group Name") @PathVariable("pdpGroupName") String pdpGroupName,
- @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) @RequestHeader(
- required = false,
- value = REQUEST_ID_NAME) final UUID requestId,
- @ApiParam(value = "Regex for a policy name") @RequestParam(required = false, value = "regex") String regex) {
+ String pdpGroupName,
+ UUID requestId,
+ String regex) {
try {
final Collection<PdpPolicyStatus> result;
@@ -384,43 +206,11 @@ public class PolicyStatusControllerV1 extends PapRestControllerV1 {
* @param requestId request ID used in ONAP logging
* @return a response
*/
- // @formatter:off
- @GetMapping("policies/status/{pdpGroupName}/{policyName}")
- @ApiOperation(value = "Queries status of all versions of a specific policy in a specific PdpGroup",
- notes = "Queries status of all versions of a specific policy in a specific PdpGroup,"
- + " returning status of all versions of the policy in the PDPs belonging to the PdpGroup",
- responseContainer = "List", response = PdpPolicyStatus.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
-
+ @Override
public ResponseEntity<Object> getStatusOfPolicies(
- @ApiParam(value = "PDP Group Name") @PathVariable("pdpGroupName") String pdpGroupName,
- @ApiParam(value = "Policy Id") @PathVariable("policyName") String policyName,
- @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) @RequestHeader(
- required = false,
- value = REQUEST_ID_NAME) final UUID requestId) {
+ String pdpGroupName,
+ String policyName,
+ UUID requestId) {
try {
Collection<PdpPolicyStatus> result =
@@ -451,44 +241,13 @@ public class PolicyStatusControllerV1 extends PapRestControllerV1 {
* @param requestId request ID used in ONAP logging
* @return a response
*/
- // @formatter:off
- @GetMapping("policies/status/{pdpGroupName}/{policyName}/{policyVersion}")
- @ApiOperation(value = "Queries status of a specific version of a specific policy in a specific PdpGroup",
- notes = "Queries status of a specific version of a specific policy in a specific PdpGroup,"
- + " returning status of the policy in the PDPs belonging to the PdpGroup",
- response = PdpPolicyStatus.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
+ @Override
public ResponseEntity<Object> getStatusOfPolicy(
- @ApiParam(value = "PDP Group Name") @PathVariable("pdpGroupName") String pdpGroupName,
- @ApiParam(value = "Policy Id") @PathVariable("policyName") String policyName,
- @ApiParam(value = "Policy Version") @PathVariable("policyVersion") String policyVersion,
- @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) @RequestHeader(
- required = false,
- value = REQUEST_ID_NAME) final UUID requestId) {
+ String pdpGroupName,
+ String policyName,
+ String policyVersion,
+ UUID requestId) {
try {
Collection<PdpPolicyStatus> result = provider.getPolicyStatus(pdpGroupName,