aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/src/main/java/org/onap/policy/pdpx/main/rest/XacmlPdpRestController.java114
1 files changed, 70 insertions, 44 deletions
diff --git a/main/src/main/java/org/onap/policy/pdpx/main/rest/XacmlPdpRestController.java b/main/src/main/java/org/onap/policy/pdpx/main/rest/XacmlPdpRestController.java
index fad1d3df..7844b1a5 100644
--- a/main/src/main/java/org/onap/policy/pdpx/main/rest/XacmlPdpRestController.java
+++ b/main/src/main/java/org/onap/policy/pdpx/main/rest/XacmlPdpRestController.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2021 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -67,8 +68,13 @@ import org.slf4j.LoggerFactory;
@Produces({MediaType.APPLICATION_JSON, XacmlPdpRestController.APPLICATION_YAML})
@Consumes({MediaType.APPLICATION_JSON, XacmlPdpRestController.APPLICATION_YAML})
@SwaggerDefinition(info = @Info(description = "Policy Xacml PDP Service", version = "1.0.0", title = "Policy Xacml PDP",
- extensions = {@Extension(properties = {@ExtensionProperty(name = "planned-retirement-date", value = "tbd"),
- @ExtensionProperty(name = "component", value = "Policy Framework")})}),
+ extensions = {
+ @Extension(
+ properties = {
+ @ExtensionProperty(name = "planned-retirement-date", value = "tbd"),
+ @ExtensionProperty(name = "component", value = "Policy Framework")
+ })
+ }),
schemes = {SwaggerDefinition.Scheme.HTTP, SwaggerDefinition.Scheme.HTTPS},
securityDefinition = @SecurityDefinition(basicAuthDefinitions = {@BasicAuthDefinition(key = "basicAuth")}))
public class XacmlPdpRestController {
@@ -82,27 +88,32 @@ public class XacmlPdpRestController {
@ApiOperation(value = "Perform a system healthcheck",
notes = "Provides healthy status of the Policy Xacml PDP component", response = HealthCheckReport.class,
responseHeaders = {
- @ResponseHeader(name = "X-MinorVersion",
+ @ResponseHeader(name = "X-MinorVersion",
description = "Used to request or communicate a MINOR version back from the client"
+ " to the server, and from the server back to the client",
response = String.class),
- @ResponseHeader(name = "X-PatchVersion",
+ @ResponseHeader(name = "X-PatchVersion",
description = "Used only to communicate a PATCH version in a response for"
+ " troubleshooting purposes only, and will not be provided by"
+ " the client on request",
response = String.class),
- @ResponseHeader(name = "X-LatestVersion",
+ @ResponseHeader(name = "X-LatestVersion",
description = "Used only to communicate an API's latest version", response = String.class),
- @ResponseHeader(name = "X-ONAP-RequestID",
+ @ResponseHeader(name = "X-ONAP-RequestID",
description = "Used to track REST transactions for logging purpose",
response = UUID.class)},
authorizations = @Authorization(value = "basicAuth"), tags = {"HealthCheck", },
- extensions = {@Extension(name = "interface info",
- properties = {@ExtensionProperty(name = "pdpx-version", value = "1.0.0"),
- @ExtensionProperty(name = "last-mod-release", value = "Dublin")})})
- @ApiResponses(value = {@ApiResponse(code = 401, message = "Authentication Error"),
- @ApiResponse(code = 403, message = "Authorization Error"),
- @ApiResponse(code = 500, message = "Internal Server Error")})
+ extensions = {
+ @Extension(name = "interface info",
+ properties = {
+ @ExtensionProperty(name = "pdpx-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
+ @ApiResponse(code = 401, message = "Authentication Error"),
+ @ApiResponse(code = 403, message = "Authorization Error"),
+ @ApiResponse(code = 500, message = "Internal Server Error")})
public Response healthcheck(
@HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
@@ -114,27 +125,32 @@ public class XacmlPdpRestController {
@ApiOperation(value = "Fetch current statistics",
notes = "Provides current statistics of the Policy Xacml PDP component", response = StatisticsReport.class,
responseHeaders = {
- @ResponseHeader(name = "X-MinorVersion",
+ @ResponseHeader(name = "X-MinorVersion",
description = "Used to request or communicate a MINOR version back from the client"
+ " to the server, and from the server back to the client",
response = String.class),
- @ResponseHeader(name = "X-PatchVersion",
+ @ResponseHeader(name = "X-PatchVersion",
description = "Used only to communicate a PATCH version in a response for"
+ " troubleshooting purposes only, and will not be provided by"
+ " the client on request",
response = String.class),
- @ResponseHeader(name = "X-LatestVersion",
+ @ResponseHeader(name = "X-LatestVersion",
description = "Used only to communicate an API's latest version", response = String.class),
- @ResponseHeader(name = "X-ONAP-RequestID",
+ @ResponseHeader(name = "X-ONAP-RequestID",
description = "Used to track REST transactions for logging purpose",
response = UUID.class)},
authorizations = @Authorization(value = "basicAuth"), tags = {"Statistics", },
- extensions = {@Extension(name = "interface info",
- properties = {@ExtensionProperty(name = "pdpx-version", value = "1.0.0"),
- @ExtensionProperty(name = "last-mod-release", value = "Dublin")})})
- @ApiResponses(value = {@ApiResponse(code = 401, message = "Authentication Error"),
- @ApiResponse(code = 403, message = "Authorization Error"),
- @ApiResponse(code = 500, message = "Internal Server Error")})
+ extensions = {
+ @Extension(name = "interface info",
+ properties = {
+ @ExtensionProperty(name = "pdpx-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
+ @ApiResponse(code = 401, message = "Authentication Error"),
+ @ApiResponse(code = 403, message = "Authorization Error"),
+ @ApiResponse(code = 500, message = "Internal Server Error")})
public Response statistics(
@HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
@@ -153,28 +169,33 @@ public class XacmlPdpRestController {
@ApiOperation(value = "Fetch the decision using specified decision parameters",
notes = "Returns the policy decision from Policy Xacml PDP", response = DecisionResponse.class,
responseHeaders = {
- @ResponseHeader(name = "X-MinorVersion",
+ @ResponseHeader(name = "X-MinorVersion",
description = "Used to request or communicate a MINOR version back from the client"
+ " to the server, and from the server back to the client",
response = String.class),
- @ResponseHeader(name = "X-PatchVersion",
+ @ResponseHeader(name = "X-PatchVersion",
description = "Used only to communicate a PATCH version in a response for"
+ " troubleshooting purposes only, and will not be provided by"
+ " the client on request",
response = String.class),
- @ResponseHeader(name = "X-LatestVersion",
+ @ResponseHeader(name = "X-LatestVersion",
description = "Used only to communicate an API's latest version", response = String.class),
- @ResponseHeader(name = "X-ONAP-RequestID",
+ @ResponseHeader(name = "X-ONAP-RequestID",
description = "Used to track REST transactions for logging purpose",
response = UUID.class)},
authorizations = @Authorization(value = "basicAuth"), tags = {"Decision", },
- extensions = {@Extension(name = "interface info",
- properties = {@ExtensionProperty(name = "pdpx-version", value = "1.0.0"),
- @ExtensionProperty(name = "last-mod-release", value = "Dublin")})})
- @ApiResponses(value = {@ApiResponse(code = 400, message = "Bad Request", response = ErrorResponse.class),
- @ApiResponse(code = 401, message = "Authentication Error"),
- @ApiResponse(code = 403, message = "Authorization Error"),
- @ApiResponse(code = 500, message = "Internal Server Error")})
+ extensions = {
+ @Extension(name = "interface info",
+ properties = {
+ @ExtensionProperty(name = "pdpx-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
+ @ApiResponse(code = 400, message = "Bad Request", response = ErrorResponse.class),
+ @ApiResponse(code = 401, message = "Authentication Error"),
+ @ApiResponse(code = 403, message = "Authorization Error"),
+ @ApiResponse(code = 500, message = "Internal Server Error")})
public Response decision(DecisionRequest body,
@HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId,
@Context HttpServletRequest request) {
@@ -205,28 +226,33 @@ public class XacmlPdpRestController {
notes = "Returns the policy decision from Policy Xacml PDP",
response = com.att.research.xacml.api.Response.class,
responseHeaders = {
- @ResponseHeader(name = "X-MinorVersion",
+ @ResponseHeader(name = "X-MinorVersion",
description = "Used to request or communicate a MINOR version back from the client"
+ " to the server, and from the server back to the client",
response = String.class),
- @ResponseHeader(name = "X-PatchVersion",
+ @ResponseHeader(name = "X-PatchVersion",
description = "Used only to communicate a PATCH version in a response for"
+ " troubleshooting purposes only, and will not be provided by"
+ " the client on request",
response = String.class),
- @ResponseHeader(name = "X-LatestVersion",
+ @ResponseHeader(name = "X-LatestVersion",
description = "Used only to communicate an API's latest version", response = String.class),
- @ResponseHeader(name = "X-ONAP-RequestID",
+ @ResponseHeader(name = "X-ONAP-RequestID",
description = "Used to track REST transactions for logging purpose",
response = UUID.class)},
authorizations = @Authorization(value = "basicAuth"), tags = {"Decision", },
- extensions = {@Extension(name = "interface info",
- properties = {@ExtensionProperty(name = "pdpx-version", value = "1.0.0"),
- @ExtensionProperty(name = "last-mod-release", value = "Frankfurt")})})
- @ApiResponses(value = {@ApiResponse(code = 400, message = "Bad Request", response = ErrorResponse.class),
- @ApiResponse(code = 401, message = "Authentication Error"),
- @ApiResponse(code = 403, message = "Authorization Error"),
- @ApiResponse(code = 500, message = "Internal Server Error")})
+ extensions = {
+ @Extension(name = "interface info",
+ properties = {
+ @ExtensionProperty(name = "pdpx-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Frankfurt")
+ })
+ })
+ @ApiResponses(value = {
+ @ApiResponse(code = 400, message = "Bad Request", response = ErrorResponse.class),
+ @ApiResponse(code = 401, message = "Authentication Error"),
+ @ApiResponse(code = 403, message = "Authorization Error"),
+ @ApiResponse(code = 500, message = "Internal Server Error")})
public Response xacml(Request body,
@HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
try {