Added the new versioning validation for policy and policy type
[policy/api.git] / main / src / main / java / org / onap / policy / api / main / rest / LegacyApiRestController.java
index 89ca042..67ea856 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP Policy API
  * ================================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,9 +31,11 @@ import io.swagger.annotations.Authorization;
 import io.swagger.annotations.Extension;
 import io.swagger.annotations.ExtensionProperty;
 import io.swagger.annotations.ResponseHeader;
+
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
+
 import javax.ws.rs.Consumes;
 import javax.ws.rs.DELETE;
 import javax.ws.rs.GET;
@@ -43,6 +45,7 @@ import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.core.Response;
+
 import org.apache.commons.lang3.tuple.Pair;
 import org.onap.policy.api.main.rest.provider.LegacyGuardPolicyProvider;
 import org.onap.policy.api.main.rest.provider.LegacyOperationalPolicyProvider;
@@ -64,8 +67,8 @@ import org.slf4j.LoggerFactory;
  */
 @Path("/policy/api/v1")
 @Api(value = "Legacy Policy Design API")
-@Produces("application/json")
-@Consumes("application/json")
+@Produces({"application/json", "application/yaml"})
+@Consumes({"application/json", "application/yaml"})
 public class LegacyApiRestController extends CommonRestController {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(LegacyApiRestController.class);
@@ -83,36 +86,27 @@ public class LegacyApiRestController extends CommonRestController {
             notes = "Returns the latest version of the specified guard policy",
             response = LegacyGuardPolicyOutput.class, responseContainer = "Map",
             responseHeaders = {
-                    @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",
-                                    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",
-                                    description = "Used only to communicate an API's latest version",
-                                    response = String.class),
-                    @ResponseHeader(name = "X-ONAP-RequestID",
-                                    description = "Used to track REST transactions for logging purpose",
-                                    response = UUID.class)
-            },
-            authorizations = @Authorization(value = "basicAuth"),
-            tags = { "Legacy Guard Policy", },
-            extensions = {
-                    @Extension(name = "interface info", properties = {
-                            @ExtensionProperty(name = "api-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 = 404, message = "Resource Not Found"),
-            @ApiResponse(code = 500, message = "Internal Server Error")
-        })
+                @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",
+                        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",
+                        description = "Used only to communicate an API's latest version", response = String.class),
+                @ResponseHeader(name = "X-ONAP-RequestID",
+                        description = "Used to track REST transactions for logging purpose", response = UUID.class)},
+            authorizations = @Authorization(value = "basicAuth"), tags = {"Legacy Guard Policy",},
+            extensions = {@Extension(name = "interface info",
+                    properties = {@ExtensionProperty(name = "api-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 = 404, message = "Resource Not Found"),
+        @ApiResponse(code = 500, message = "Internal Server Error")})
     public Response getLatestVersionOfGuardPolicy(
             @PathParam("policyId") @ApiParam(value = "ID of policy", required = true) String policyId,
             @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
@@ -121,8 +115,9 @@ public class LegacyApiRestController extends CommonRestController {
             Map<String, LegacyGuardPolicyOutput> policies = guardPolicyProvider.fetchGuardPolicy(policyId, null);
             return makeOkResponse(requestId, policies);
         } catch (PfModelException | PfModelRuntimeException pfme) {
-            LOGGER.error("GET /policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/{}"
-                + "/versions/latest", policyId, pfme);
+            LOGGER.debug(
+                    "GET /policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/{}" + "/versions/latest",
+                    policyId, pfme);
             return makeErrorResponse(requestId, pfme);
         }
     }
@@ -141,47 +136,38 @@ public class LegacyApiRestController extends CommonRestController {
             notes = "Returns a particular version of a specified guard policy",
             response = LegacyGuardPolicyOutput.class, responseContainer = "Map",
             responseHeaders = {
-                    @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",
-                                    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",
-                                    description = "Used only to communicate an API's latest version",
-                                    response = String.class),
-                    @ResponseHeader(name = "X-ONAP-RequestID",
-                                    description = "Used to track REST transactions for logging purpose",
-                                    response = UUID.class)
-            },
-            authorizations = @Authorization(value = "basicAuth"),
-            tags = { "Legacy Guard Policy", },
-            extensions = {
-                    @Extension(name = "interface info", properties = {
-                            @ExtensionProperty(name = "api-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 = 404, message = "Resource Not Found"),
-            @ApiResponse(code = 500, message = "Internal Server Error")
-        })
+                @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",
+                        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",
+                        description = "Used only to communicate an API's latest version", response = String.class),
+                @ResponseHeader(name = "X-ONAP-RequestID",
+                        description = "Used to track REST transactions for logging purpose", response = UUID.class)},
+            authorizations = @Authorization(value = "basicAuth"), tags = {"Legacy Guard Policy",},
+            extensions = {@Extension(name = "interface info",
+                    properties = {@ExtensionProperty(name = "api-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 = 404, message = "Resource Not Found"),
+        @ApiResponse(code = 500, message = "Internal Server Error")})
     public Response getSpecificVersionOfGuardPolicy(
             @PathParam("policyId") @ApiParam(value = "ID of policy", required = true) String policyId,
             @PathParam("policyVersion") @ApiParam(value = "Version of policy", required = true) String policyVersion,
             @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
 
         try (LegacyGuardPolicyProvider guardPolicyProvider = new LegacyGuardPolicyProvider()) {
-            Map<String, LegacyGuardPolicyOutput> policies = guardPolicyProvider
-                    .fetchGuardPolicy(policyId, policyVersion);
+            Map<String, LegacyGuardPolicyOutput> policies =
+                    guardPolicyProvider.fetchGuardPolicy(policyId, policyVersion);
             return makeOkResponse(requestId, policies);
         } catch (PfModelException | PfModelRuntimeException pfme) {
-            LOGGER.error("GET /policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/{}/versions/{}",
+            LOGGER.debug("GET /policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/{}/versions/{}",
                     policyId, policyVersion, pfme);
             return makeErrorResponse(requestId, pfme);
         }
@@ -195,42 +181,32 @@ public class LegacyApiRestController extends CommonRestController {
      * @return the Response object containing the results of the API operation
      */
     @GET
-    @Path("/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/"
-         + "policies/{policyId}/versions/deployed")
+    @Path("/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/" + "policies/{policyId}/versions/deployed")
     @ApiOperation(value = "Retrieve deployed versions of a particular guard policy in pdp groups",
             notes = "Returns deployed versions of a specified guard policy in pdp groups",
             response = LegacyGuardPolicyOutput.class, responseContainer = "Map",
             responseHeaders = {
-                    @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",
-                                    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",
-                                    description = "Used only to communicate an API's latest version",
-                                    response = String.class),
-                    @ResponseHeader(name = "X-ONAP-RequestID",
-                                    description = "Used to track REST transactions for logging purpose",
-                                    response = UUID.class)
-            },
-            authorizations = @Authorization(value = "basicAuth"),
-            tags = { "Legacy Guard Policy", },
-            extensions = {
-                    @Extension(name = "interface info", properties = {
-                            @ExtensionProperty(name = "api-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 = 404, message = "Resource Not Found"),
-            @ApiResponse(code = 500, message = "Internal Server Error")
-        })
+                @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",
+                        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",
+                        description = "Used only to communicate an API's latest version", response = String.class),
+                @ResponseHeader(name = "X-ONAP-RequestID",
+                        description = "Used to track REST transactions for logging purpose", response = UUID.class)},
+            authorizations = @Authorization(value = "basicAuth"), tags = {"Legacy Guard Policy",},
+            extensions = {@Extension(name = "interface info",
+                    properties = {@ExtensionProperty(name = "api-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 = 404, message = "Resource Not Found"),
+        @ApiResponse(code = 500, message = "Internal Server Error")})
     public Response getDeployedVersionsOfGuardPolicy(
             @PathParam("policyId") @ApiParam(value = "ID of policy", required = true) String policyId,
             @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
@@ -240,8 +216,8 @@ public class LegacyApiRestController extends CommonRestController {
                     guardPolicyProvider.fetchDeployedGuardPolicies(policyId);
             return makeOkResponse(requestId, deployedGuardPolicies);
         } catch (PfModelException | PfModelRuntimeException pfme) {
-            LOGGER.error("GET /policytypes/onap.policies.controlloop.Guard/versions/1.0.0/"
-                + "policies/{}/versions/deployed", policyId, pfme);
+            LOGGER.debug("GET /policytypes/onap.policies.controlloop.Guard/versions/1.0.0/"
+                    + "policies/{}/versions/deployed", policyId, pfme);
             return makeErrorResponse(requestId, pfme);
         }
     }
@@ -257,8 +233,7 @@ public class LegacyApiRestController extends CommonRestController {
     @Path("/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies")
     @ApiOperation(value = "Create a new guard policy",
             notes = "Client should provide entity body of the new guard policy",
-            authorizations = @Authorization(value = "basicAuth"),
-            tags = { "Legacy Guard Policy", },
+            authorizations = @Authorization(value = "basicAuth"), tags = {"Legacy Guard Policy",},
             response = LegacyGuardPolicyOutput.class, responseContainer = "Map",
             responseHeaders = {
                     @ResponseHeader(name = "X-MinorVersion",
@@ -287,6 +262,7 @@ public class LegacyApiRestController extends CommonRestController {
             @ApiResponse(code = 400, message = "Invalid Body"),
             @ApiResponse(code = 401, message = "Authentication Error"),
             @ApiResponse(code = 403, message = "Authorization Error"),
+            @ApiResponse(code = 406, message = "Not Acceptable Payload"),
             @ApiResponse(code = 500, message = "Internal Server Error")
         })
     public Response createGuardPolicy(
@@ -295,14 +271,14 @@ public class LegacyApiRestController extends CommonRestController {
 
         if (NetLoggerUtil.getNetworkLogger().isInfoEnabled()) {
             NetLoggerUtil.log(EventType.IN, CommInfrastructure.REST,
-                            "/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies", toJson(body));
+                    "/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies", toJson(body));
         }
 
         try (LegacyGuardPolicyProvider guardPolicyProvider = new LegacyGuardPolicyProvider()) {
             Map<String, LegacyGuardPolicyOutput> policy = guardPolicyProvider.createGuardPolicy(body);
             return makeOkResponse(requestId, policy);
         } catch (PfModelException | PfModelRuntimeException pfme) {
-            LOGGER.error("POST /policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies", pfme);
+            LOGGER.debug("POST /policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies", pfme);
             return makeErrorResponse(requestId, pfme);
         }
     }
@@ -319,50 +295,41 @@ public class LegacyApiRestController extends CommonRestController {
     @Path("/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/{policyId}/versions/{policyVersion}")
     @ApiOperation(value = "Delete a particular version of a guard policy",
             notes = "Rule: the version that has been deployed in PDP group(s) cannot be deleted",
-            authorizations = @Authorization(value = "basicAuth"),
-            tags = { "Legacy Guard Policy", },
+            authorizations = @Authorization(value = "basicAuth"), tags = {"Legacy Guard Policy",},
             response = LegacyGuardPolicyOutput.class, responseContainer = "Map",
             responseHeaders = {
-                    @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",
-                                    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",
-                                    description = "Used only to communicate an API's latest version",
-                                    response = String.class),
-                    @ResponseHeader(name = "X-ONAP-RequestID",
-                                    description = "Used to track REST transactions for logging purpose",
-                                    response = UUID.class)
-            },
-            extensions = {
-                    @Extension(name = "interface info", properties = {
-                            @ExtensionProperty(name = "api-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 = 404, message = "Resource Not Found"),
-            @ApiResponse(code = 409, message = "Delete Conflict, Rule Violation"),
-            @ApiResponse(code = 500, message = "Internal Server Error")
-        })
+                @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",
+                        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",
+                        description = "Used only to communicate an API's latest version", response = String.class),
+                @ResponseHeader(name = "X-ONAP-RequestID",
+                        description = "Used to track REST transactions for logging purpose", response = UUID.class)},
+            extensions = {@Extension(name = "interface info",
+                    properties = {@ExtensionProperty(name = "api-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 = 404, message = "Resource Not Found"),
+        @ApiResponse(code = 409, message = "Delete Conflict, Rule Violation"),
+        @ApiResponse(code = 500, message = "Internal Server Error")})
     public Response deleteSpecificVersionOfGuardPolicy(
             @PathParam("policyId") @ApiParam(value = "ID of policy", required = true) String policyId,
             @PathParam("policyVersion") @ApiParam(value = "Version of policy", required = true) String policyVersion,
             @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
 
         try (LegacyGuardPolicyProvider guardPolicyProvider = new LegacyGuardPolicyProvider()) {
-            Map<String, LegacyGuardPolicyOutput> policies = guardPolicyProvider
-                    .deleteGuardPolicy(policyId, policyVersion);
+            Map<String, LegacyGuardPolicyOutput> policies =
+                    guardPolicyProvider.deleteGuardPolicy(policyId, policyVersion);
             return makeOkResponse(requestId, policies);
         } catch (PfModelException | PfModelRuntimeException pfme) {
-            LOGGER.error("DELETE /policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/{}/versions/{}",
+            LOGGER.debug("DELETE /policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/{}/versions/{}",
                     policyId, policyVersion, pfme);
             return makeErrorResponse(requestId, pfme);
         }
@@ -381,36 +348,27 @@ public class LegacyApiRestController extends CommonRestController {
             notes = "Returns the latest version of the specified operational policy",
             response = LegacyOperationalPolicy.class,
             responseHeaders = {
-                    @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",
-                                    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",
-                                    description = "Used only to communicate an API's latest version",
-                                    response = String.class),
-                    @ResponseHeader(name = "X-ONAP-RequestID",
-                                    description = "Used to track REST transactions for logging purpose",
-                                    response = UUID.class)
-            },
-            authorizations = @Authorization(value = "basicAuth"),
-            tags = { "Legacy Operational Policy", },
-            extensions = {
-                    @Extension(name = "interface info", properties = {
-                            @ExtensionProperty(name = "api-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 = 404, message = "Resource Not Found"),
-            @ApiResponse(code = 500, message = "Internal Server Error")
-        })
+                @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",
+                        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",
+                        description = "Used only to communicate an API's latest version", response = String.class),
+                @ResponseHeader(name = "X-ONAP-RequestID",
+                        description = "Used to track REST transactions for logging purpose", response = UUID.class)},
+            authorizations = @Authorization(value = "basicAuth"), tags = {"Legacy Operational Policy",},
+            extensions = {@Extension(name = "interface info",
+                    properties = {@ExtensionProperty(name = "api-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 = 404, message = "Resource Not Found"),
+        @ApiResponse(code = 500, message = "Internal Server Error")})
     public Response getLatestVersionOfOperationalPolicy(
             @PathParam("policyId") @ApiParam(value = "ID of policy", required = true) String policyId,
             @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
@@ -419,8 +377,8 @@ public class LegacyApiRestController extends CommonRestController {
             LegacyOperationalPolicy policy = operationalPolicyProvider.fetchOperationalPolicy(policyId, null);
             return makeOkResponse(requestId, policy);
         } catch (PfModelException | PfModelRuntimeException pfme) {
-            LOGGER.error("GET /policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies/{}"
-                + "/versions/latest", policyId, pfme);
+            LOGGER.debug("GET /policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies/{}"
+                    + "/versions/latest", policyId, pfme);
             return makeErrorResponse(requestId, pfme);
         }
     }
@@ -435,41 +393,32 @@ public class LegacyApiRestController extends CommonRestController {
      */
     @GET
     @Path("/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/"
-         + "policies/{policyId}/versions/{policyVersion}")
+            + "policies/{policyId}/versions/{policyVersion}")
     @ApiOperation(value = "Retrieve one version of a particular operational policy",
             notes = "Returns a particular version of a specified operational policy",
             response = LegacyOperationalPolicy.class,
             responseHeaders = {
-                    @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",
-                                    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",
-                                    description = "Used only to communicate an API's latest version",
-                                    response = String.class),
-                    @ResponseHeader(name = "X-ONAP-RequestID",
-                                    description = "Used to track REST transactions for logging purpose",
-                                    response = UUID.class)
-            },
-            authorizations = @Authorization(value = "basicAuth"),
-            tags = { "Legacy Operational Policy", },
-            extensions = {
-                    @Extension(name = "interface info", properties = {
-                            @ExtensionProperty(name = "api-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 = 404, message = "Resource Not Found"),
-            @ApiResponse(code = 500, message = "Internal Server Error")
-        })
+                @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",
+                        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",
+                        description = "Used only to communicate an API's latest version", response = String.class),
+                @ResponseHeader(name = "X-ONAP-RequestID",
+                        description = "Used to track REST transactions for logging purpose", response = UUID.class)},
+            authorizations = @Authorization(value = "basicAuth"), tags = {"Legacy Operational Policy",},
+            extensions = {@Extension(name = "interface info",
+                    properties = {@ExtensionProperty(name = "api-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 = 404, message = "Resource Not Found"),
+        @ApiResponse(code = 500, message = "Internal Server Error")})
     public Response getSpecificVersionOfOperationalPolicy(
             @PathParam("policyId") @ApiParam(value = "ID of policy", required = true) String policyId,
             @PathParam("policyVersion") @ApiParam(value = "Version of policy", required = true) String policyVersion,
@@ -479,8 +428,8 @@ public class LegacyApiRestController extends CommonRestController {
             LegacyOperationalPolicy policy = operationalPolicyProvider.fetchOperationalPolicy(policyId, policyVersion);
             return makeOkResponse(requestId, policy);
         } catch (PfModelException | PfModelRuntimeException pfme) {
-            LOGGER.error("GET /policytypes/onap.policies.controlloop.Operational/versions/1.0.0/"
-                + "policies/{}/versions/{}", policyId, policyVersion, pfme);
+            LOGGER.debug("GET /policytypes/onap.policies.controlloop.Operational/versions/1.0.0/"
+                    + "policies/{}/versions/{}", policyId, policyVersion, pfme);
             return makeErrorResponse(requestId, pfme);
         }
     }
@@ -494,41 +443,32 @@ public class LegacyApiRestController extends CommonRestController {
      */
     @GET
     @Path("/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/"
-         + "policies/{policyId}/versions/deployed")
+            + "policies/{policyId}/versions/deployed")
     @ApiOperation(value = "Retrieve deployed versions of a particular operational policy in pdp groups",
             notes = "Returns deployed versions of a specified operational policy in pdp groups",
             response = LegacyOperationalPolicy.class, responseContainer = "List",
             responseHeaders = {
-                    @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",
-                                    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",
-                                    description = "Used only to communicate an API's latest version",
-                                    response = String.class),
-                    @ResponseHeader(name = "X-ONAP-RequestID",
-                                    description = "Used to track REST transactions for logging purpose",
-                                    response = UUID.class)
-            },
-            authorizations = @Authorization(value = "basicAuth"),
-            tags = { "Legacy Operational Policy", },
-            extensions = {
-                    @Extension(name = "interface info", properties = {
-                            @ExtensionProperty(name = "api-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 = 404, message = "Resource Not Found"),
-            @ApiResponse(code = 500, message = "Internal Server Error")
-        })
+                @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",
+                        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",
+                        description = "Used only to communicate an API's latest version", response = String.class),
+                @ResponseHeader(name = "X-ONAP-RequestID",
+                        description = "Used to track REST transactions for logging purpose", response = UUID.class)},
+            authorizations = @Authorization(value = "basicAuth"), tags = {"Legacy Operational Policy",},
+            extensions = {@Extension(name = "interface info",
+                    properties = {@ExtensionProperty(name = "api-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 = 404, message = "Resource Not Found"),
+        @ApiResponse(code = 500, message = "Internal Server Error")})
     public Response getDeployedVersionsOfOperationalPolicy(
             @PathParam("policyId") @ApiParam(value = "ID of policy", required = true) String policyId,
             @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
@@ -538,8 +478,8 @@ public class LegacyApiRestController extends CommonRestController {
                     operationalPolicyProvider.fetchDeployedOperationalPolicies(policyId);
             return makeOkResponse(requestId, deployedOperationalPolicies);
         } catch (PfModelException | PfModelRuntimeException pfme) {
-            LOGGER.error("GET /policytypes/onap.policies.controlloop.Operational/versions/1.0.0/"
-                + "policies/{}/versions/deployed", policyId, pfme);
+            LOGGER.debug("GET /policytypes/onap.policies.controlloop.Operational/versions/1.0.0/"
+                    + "policies/{}/versions/deployed", policyId, pfme);
             return makeErrorResponse(requestId, pfme);
         }
     }
@@ -555,8 +495,7 @@ public class LegacyApiRestController extends CommonRestController {
     @Path("/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies")
     @ApiOperation(value = "Create a new operational policy",
             notes = "Client should provide entity body of the new operational policy",
-            authorizations = @Authorization(value = "basicAuth"),
-            tags = { "Legacy Operational Policy", },
+            authorizations = @Authorization(value = "basicAuth"), tags = {"Legacy Operational Policy",},
             response = LegacyOperationalPolicy.class,
             responseHeaders = {
                     @ResponseHeader(name = "X-MinorVersion",
@@ -585,6 +524,7 @@ public class LegacyApiRestController extends CommonRestController {
             @ApiResponse(code = 400, message = "Invalid Body"),
             @ApiResponse(code = 401, message = "Authentication Error"),
             @ApiResponse(code = 403, message = "Authorization Error"),
+            @ApiResponse(code = 406, message = "Not Acceptable Payload"),
             @ApiResponse(code = 500, message = "Internal Server Error")
         })
     public Response createOperationalPolicy(
@@ -593,14 +533,14 @@ public class LegacyApiRestController extends CommonRestController {
 
         if (NetLoggerUtil.getNetworkLogger().isInfoEnabled()) {
             NetLoggerUtil.log(EventType.IN, CommInfrastructure.REST,
-                            "/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies", toJson(body));
+                    "/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies", toJson(body));
         }
 
         try (LegacyOperationalPolicyProvider operationalPolicyProvider = new LegacyOperationalPolicyProvider()) {
             LegacyOperationalPolicy policy = operationalPolicyProvider.createOperationalPolicy(body);
             return makeOkResponse(requestId, policy);
         } catch (PfModelException | PfModelRuntimeException pfme) {
-            LOGGER.error("POST /policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies", pfme);
+            LOGGER.debug("POST /policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies", pfme);
             return makeErrorResponse(requestId, pfme);
         }
     }
@@ -615,54 +555,44 @@ public class LegacyApiRestController extends CommonRestController {
      */
     @DELETE
     @Path("/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/"
-         + "policies/{policyId}/versions/{policyVersion}")
+            + "policies/{policyId}/versions/{policyVersion}")
     @ApiOperation(value = "Delete a particular version of a specified operational policy",
             notes = "Rule: the version that has been deployed in PDP group(s) cannot be deleted",
-            authorizations = @Authorization(value = "basicAuth"),
-            tags = { "Legacy Operational Policy", },
+            authorizations = @Authorization(value = "basicAuth"), tags = {"Legacy Operational Policy",},
             response = LegacyOperationalPolicy.class,
             responseHeaders = {
-                    @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",
-                                    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",
-                                    description = "Used only to communicate an API's latest version",
-                                    response = String.class),
-                    @ResponseHeader(name = "X-ONAP-RequestID",
-                                    description = "Used to track REST transactions for logging purpose",
-                                    response = UUID.class)
-            },
-            extensions = {
-                    @Extension(name = "interface info", properties = {
-                            @ExtensionProperty(name = "api-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 = 404, message = "Resource Not Found"),
-            @ApiResponse(code = 409, message = "Delete Conflict, Rule Violation"),
-            @ApiResponse(code = 500, message = "Internal Server Error")
-        })
+                @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",
+                        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",
+                        description = "Used only to communicate an API's latest version", response = String.class),
+                @ResponseHeader(name = "X-ONAP-RequestID",
+                        description = "Used to track REST transactions for logging purpose", response = UUID.class)},
+            extensions = {@Extension(name = "interface info",
+                    properties = {@ExtensionProperty(name = "api-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 = 404, message = "Resource Not Found"),
+        @ApiResponse(code = 409, message = "Delete Conflict, Rule Violation"),
+        @ApiResponse(code = 500, message = "Internal Server Error")})
     public Response deleteSpecificVersionOfOperationalPolicy(
             @PathParam("policyId") @ApiParam(value = "ID of policy", required = true) String policyId,
             @PathParam("policyVersion") @ApiParam(value = "Version of policy", required = true) String policyVersion,
             @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
 
         try (LegacyOperationalPolicyProvider operationalPolicyProvider = new LegacyOperationalPolicyProvider()) {
-            LegacyOperationalPolicy policy = operationalPolicyProvider
-                    .deleteOperationalPolicy(policyId, policyVersion);
+            LegacyOperationalPolicy policy = operationalPolicyProvider.deleteOperationalPolicy(policyId, policyVersion);
             return makeOkResponse(requestId, policy);
         } catch (PfModelException | PfModelRuntimeException pfme) {
-            LOGGER.error("DELETE /policytypes/onap.policies.controlloop.Operational/versions/1.0.0/"
-                + "policies/{}/versions/{}", policyId, policyVersion, pfme);
+            LOGGER.debug("DELETE /policytypes/onap.policies.controlloop.Operational/versions/1.0.0/"
+                    + "policies/{}/versions/{}", policyId, policyVersion, pfme);
             return makeErrorResponse(requestId, pfme);
         }
     }