X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=main%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fpap%2Fmain%2Frest%2FPolicyStatusControllerV1.java;h=e1772142e3b39c1045dcbc90f630cec2698c53dd;hb=09191f108632a46862ea7c60023ea5d012a81823;hp=b0de1e7c55439258731b0da761e85737815da365;hpb=7c48007486d0d1ee47a5eea81135e49737677155;p=policy%2Fpap.git 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 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 queryAllDeployedPolicies(UUID requestId, String regex) { try { final Collection 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 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 queryDeployedPolicies(String name, UUID requestId) { try { Collection 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 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 queryDeployedPolicy(String name, String version, UUID requestId) { try { Collection 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 getStatusOfAllPolicies( - @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) @RequestHeader( - required = false, - value = REQUEST_ID_NAME) final UUID requestId) { + @Override + public ResponseEntity 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 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 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 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 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 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 result = provider.getPolicyStatus(pdpGroupName,