X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=main%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fapi%2Fmain%2Frest%2FLegacyApiRestController.java;h=6a4e39d3987649746e1984d26ae5b6d3b24c6c57;hb=20390c6ed94e2082cb688d76aacabe5366d908fe;hp=38736e85ab9cc6f720a8d202a0a0c3a0472ab154;hpb=e156fb8bf79ee361793af0aef4db5228c4c16f20;p=policy%2Fapi.git diff --git a/main/src/main/java/org/onap/policy/api/main/rest/LegacyApiRestController.java b/main/src/main/java/org/onap/policy/api/main/rest/LegacyApiRestController.java index 38736e85..6a4e39d3 100644 --- a/main/src/main/java/org/onap/policy/api/main/rest/LegacyApiRestController.java +++ b/main/src/main/java/org/onap/policy/api/main/rest/LegacyApiRestController.java @@ -31,6 +31,7 @@ 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; @@ -42,14 +43,19 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.Response; -import javax.ws.rs.core.Response.ResponseBuilder; +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; +import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure; +import org.onap.policy.common.endpoints.utils.NetLoggerUtil; +import org.onap.policy.common.endpoints.utils.NetLoggerUtil.EventType; import org.onap.policy.models.base.PfModelException; import org.onap.policy.models.base.PfModelRuntimeException; import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput; import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyOutput; import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Class to provide legacy REST API services. @@ -58,20 +64,23 @@ import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy; */ @Path("/policy/api/v1") @Api(value = "Legacy Policy Design API") -@Produces({"application/json; vnd.onap.guard", "application/json; vnd.onap.operational"}) -@Consumes({"application/json; vnd.onap.guard", "application/json; vnd.onap.operational"}) -public class LegacyApiRestController { +@Produces({"application/json", "application/yaml"}) +@Consumes({"application/json", "application/yaml"}) +public class LegacyApiRestController extends CommonRestController { + + private static final Logger LOGGER = LoggerFactory.getLogger(LegacyApiRestController.class); /** - * Retrieves all versions of guard policies. + * Retrieves the latest version of a particular guard policy. + * + * @param policyId the ID of specified guard policy * * @return the Response object containing the results of the API operation */ @GET - @Path("/policytypes/onap.policy.controlloop.guard/versions/1.0.0/policies") - @Produces("application/json; vnd.onap.guard") - @ApiOperation(value = "Retrieve all versions of guard policies", - notes = "Returns a list of all versions of guard policies", + @Path("/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/{policyId}/versions/latest") + @ApiOperation(value = "Retrieve the latest version of a particular guard policy", + notes = "Returns the latest version of the specified guard policy", response = LegacyGuardPolicyOutput.class, responseContainer = "Map", responseHeaders = { @ResponseHeader(name = "X-MinorVersion", @@ -101,35 +110,35 @@ public class LegacyApiRestController { @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 getAllGuardPolicies( + 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) { - try { - Map policies = new LegacyGuardPolicyProvider() - .fetchGuardPolicies(null, null); - return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId) - .entity(policies).build(); + try (LegacyGuardPolicyProvider guardPolicyProvider = new LegacyGuardPolicyProvider()) { + Map policies = guardPolicyProvider.fetchGuardPolicy(policyId, null); + return makeOkResponse(requestId, policies); } catch (PfModelException | PfModelRuntimeException pfme) { - return addLoggingHeaders(addVersionControlHeaders( - Response.status(pfme.getErrorResponse().getResponseCode())), requestId) - .entity(pfme.getErrorResponse()).build(); + LOGGER.error("GET /policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/{}" + + "/versions/latest", policyId, pfme); + return makeErrorResponse(requestId, pfme); } } /** - * Retrieves all versions of a particular guard policy. + * Retrieves the specified version of a particular guard policy. * - * @param policyId the ID of specified guard policy + * @param policyId the ID of specified policy + * @param policyVersion the version of specified policy * * @return the Response object containing the results of the API operation */ @GET - @Path("/policytypes/onap.policy.controlloop.guard/versions/1.0.0/policies/{policyId}") - @Produces("application/json; vnd.onap.guard") - @ApiOperation(value = "Retrieve all versions of a particular guard policy", - notes = "Returns a list of all versions of the specified guard policy", + @Path("/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/{policyId}/versions/{policyVersion}") + @ApiOperation(value = "Retrieve one version of a particular guard policy", + notes = "Returns a particular version of a specified guard policy", response = LegacyGuardPolicyOutput.class, responseContainer = "Map", responseHeaders = { @ResponseHeader(name = "X-MinorVersion", @@ -162,35 +171,34 @@ public class LegacyApiRestController { @ApiResponse(code = 404, message = "Resource Not Found"), @ApiResponse(code = 500, message = "Internal Server Error") }) - public Response getAllVersionsOfGuardPolicy( + 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 { - Map policies = new LegacyGuardPolicyProvider() - .fetchGuardPolicies(policyId, null); - return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId) - .entity(policies).build(); + try (LegacyGuardPolicyProvider guardPolicyProvider = new LegacyGuardPolicyProvider()) { + Map policies = guardPolicyProvider + .fetchGuardPolicy(policyId, policyVersion); + return makeOkResponse(requestId, policies); } catch (PfModelException | PfModelRuntimeException pfme) { - return addLoggingHeaders(addVersionControlHeaders( - Response.status(pfme.getErrorResponse().getResponseCode())), requestId) - .entity(pfme.getErrorResponse()).build(); + LOGGER.error("GET /policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/{}/versions/{}", + policyId, policyVersion, pfme); + return makeErrorResponse(requestId, pfme); } } /** - * Retrieves the specified version of a particular guard policy. + * Retrieves deployed versions of a particular guard policy in PDP groups. * * @param policyId the ID of specified policy - * @param policyVersion the version of specified policy * * @return the Response object containing the results of the API operation */ @GET - @Path("/policytypes/onap.policy.controlloop.guard/versions/1.0.0/policies/{policyId}/versions/{policyVersion}") - @Produces("application/json; vnd.onap.guard") - @ApiOperation(value = "Retrieve one version of a particular guard policy", - notes = "Returns a particular version of a specified guard policy", + @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", @@ -223,20 +231,18 @@ public class LegacyApiRestController { @ApiResponse(code = 404, message = "Resource Not Found"), @ApiResponse(code = 500, message = "Internal Server Error") }) - public Response getSpecificVersionOfGuardPolicy( + public Response getDeployedVersionsOfGuardPolicy( @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 { - Map policies = new LegacyGuardPolicyProvider() - .fetchGuardPolicies(policyId, policyVersion); - return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId) - .entity(policies).build(); + try (LegacyGuardPolicyProvider guardPolicyProvider = new LegacyGuardPolicyProvider()) { + Map, Map> deployedGuardPolicies = + guardPolicyProvider.fetchDeployedGuardPolicies(policyId); + return makeOkResponse(requestId, deployedGuardPolicies); } catch (PfModelException | PfModelRuntimeException pfme) { - return addLoggingHeaders(addVersionControlHeaders( - Response.status(pfme.getErrorResponse().getResponseCode())), requestId) - .entity(pfme.getErrorResponse()).build(); + LOGGER.error("GET /policytypes/onap.policies.controlloop.Guard/versions/1.0.0/" + + "policies/{}/versions/deployed", policyId, pfme); + return makeErrorResponse(requestId, pfme); } } @@ -248,9 +254,7 @@ public class LegacyApiRestController { * @return the Response object containing the results of the API operation */ @POST - @Path("/policytypes/onap.policy.controlloop.guard/versions/1.0.0/policies") - @Consumes("application/json; vnd.onap.guard") - @Produces("application/json; vnd.onap.guard") + @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"), @@ -289,14 +293,17 @@ public class LegacyApiRestController { @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId, @ApiParam(value = "Entity body of policy", required = true) LegacyGuardPolicyInput body) { - try { - Map policy = new LegacyGuardPolicyProvider().createGuardPolicy(body); - return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId) - .entity(policy).build(); + if (NetLoggerUtil.getNetworkLogger().isInfoEnabled()) { + NetLoggerUtil.log(EventType.IN, CommInfrastructure.REST, + "/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies", toJson(body)); + } + + try (LegacyGuardPolicyProvider guardPolicyProvider = new LegacyGuardPolicyProvider()) { + Map policy = guardPolicyProvider.createGuardPolicy(body); + return makeOkResponse(requestId, policy); } catch (PfModelException | PfModelRuntimeException pfme) { - return addLoggingHeaders(addVersionControlHeaders( - Response.status(pfme.getErrorResponse().getResponseCode())), requestId) - .entity(pfme.getErrorResponse()).build(); + LOGGER.error("POST /policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies", pfme); + return makeErrorResponse(requestId, pfme); } } @@ -309,8 +316,7 @@ public class LegacyApiRestController { * @return the Response object containing the results of the API operation */ @DELETE - @Path("/policytypes/onap.policy.controlloop.guard/versions/1.0.0/policies/{policyId}/versions/{policyVersion}") - @Produces("application/json; vnd.onap.guard") + @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"), @@ -351,28 +357,28 @@ public class LegacyApiRestController { @PathParam("policyVersion") @ApiParam(value = "Version of policy", required = true) String policyVersion, @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) { - try { - Map policies = new LegacyGuardPolicyProvider() - .deleteGuardPolicies(policyId, policyVersion); - return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId) - .entity(policies).build(); + try (LegacyGuardPolicyProvider guardPolicyProvider = new LegacyGuardPolicyProvider()) { + Map policies = guardPolicyProvider + .deleteGuardPolicy(policyId, policyVersion); + return makeOkResponse(requestId, policies); } catch (PfModelException | PfModelRuntimeException pfme) { - return addLoggingHeaders(addVersionControlHeaders( - Response.status(pfme.getErrorResponse().getResponseCode())), requestId) - .entity(pfme.getErrorResponse()).build(); + LOGGER.error("DELETE /policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/{}/versions/{}", + policyId, policyVersion, pfme); + return makeErrorResponse(requestId, pfme); } } /** - * Retrieves all versions of operational policies. + * Retrieves the latest version of a particular operational policy. + * + * @param policyId the ID of specified operational policy * * @return the Response object containing the results of the API operation */ @GET - @Path("/policytypes/onap.policy.controlloop.operational/versions/1.0.0/policies") - @Produces("application/json; vnd.onap.operational") - @ApiOperation(value = "Retrieve all versions of operational policies", - notes = "Returns a list of all versions of operational policies", + @Path("/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies/{policyId}/versions/latest") + @ApiOperation(value = "Retrieve the latest version of a particular operational policy", + notes = "Returns the latest version of the specified operational policy", response = LegacyOperationalPolicy.class, responseHeaders = { @ResponseHeader(name = "X-MinorVersion", @@ -402,35 +408,36 @@ public class LegacyApiRestController { @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 getAllOperationalPolicies( + 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) { - try { - LegacyOperationalPolicy policy = new LegacyOperationalPolicyProvider() - .fetchOperationalPolicies(null, null); - return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId) - .entity(policy).build(); + try (LegacyOperationalPolicyProvider operationalPolicyProvider = new LegacyOperationalPolicyProvider()) { + LegacyOperationalPolicy policy = operationalPolicyProvider.fetchOperationalPolicy(policyId, null); + return makeOkResponse(requestId, policy); } catch (PfModelException | PfModelRuntimeException pfme) { - return addLoggingHeaders(addVersionControlHeaders( - Response.status(pfme.getErrorResponse().getResponseCode())), requestId) - .entity(pfme.getErrorResponse()).build(); + LOGGER.error("GET /policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies/{}" + + "/versions/latest", policyId, pfme); + return makeErrorResponse(requestId, pfme); } } /** - * Retrieves all versions of a particular operational policy. + * Retrieves the specified version of a particular operational policy. * - * @param policyId the ID of specified operational policy + * @param policyId the ID of specified policy + * @param policyVersion the version of specified policy * * @return the Response object containing the results of the API operation */ @GET - @Path("/policytypes/onap.policy.controlloop.operational/versions/1.0.0/policies/{policyId}") - @Produces("application/json; vnd.onap.operational") - @ApiOperation(value = "Retrieve all versions of a particular operational policy", - notes = "Returns a list of all versions of the specified operational policy", + @Path("/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/" + + "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", @@ -463,37 +470,34 @@ public class LegacyApiRestController { @ApiResponse(code = 404, message = "Resource Not Found"), @ApiResponse(code = 500, message = "Internal Server Error") }) - public Response getAllVersionsOfOperationalPolicy( + 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, @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) { - try { - LegacyOperationalPolicy policy = new LegacyOperationalPolicyProvider() - .fetchOperationalPolicies(policyId, null); - return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId) - .entity(policy).build(); + try (LegacyOperationalPolicyProvider operationalPolicyProvider = new LegacyOperationalPolicyProvider()) { + LegacyOperationalPolicy policy = operationalPolicyProvider.fetchOperationalPolicy(policyId, policyVersion); + return makeOkResponse(requestId, policy); } catch (PfModelException | PfModelRuntimeException pfme) { - return addLoggingHeaders(addVersionControlHeaders( - Response.status(pfme.getErrorResponse().getResponseCode())), requestId) - .entity(pfme.getErrorResponse()).build(); + LOGGER.error("GET /policytypes/onap.policies.controlloop.Operational/versions/1.0.0/" + + "policies/{}/versions/{}", policyId, policyVersion, pfme); + return makeErrorResponse(requestId, pfme); } } /** - * Retrieves the specified version of a particular operational policy. + * Retrieves deployed versions of a particular operational policy in PDP groups. * * @param policyId the ID of specified policy - * @param policyVersion the version of specified policy * * @return the Response object containing the results of the API operation */ @GET - @Path("/policytypes/onap.policy.controlloop.operational/versions/1.0.0/" - + "policies/{policyId}/versions/{policyVersion}") - @Produces("application/json; vnd.onap.operational") - @ApiOperation(value = "Retrieve one version of a particular operational policy", - notes = "Returns a particular version of a specified operational policy", - response = LegacyOperationalPolicy.class, + @Path("/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/" + + "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" @@ -525,20 +529,18 @@ public class LegacyApiRestController { @ApiResponse(code = 404, message = "Resource Not Found"), @ApiResponse(code = 500, message = "Internal Server Error") }) - public Response getSpecificVersionOfOperationalPolicy( + public Response getDeployedVersionsOfOperationalPolicy( @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 { - LegacyOperationalPolicy policy = new LegacyOperationalPolicyProvider() - .fetchOperationalPolicies(policyId, policyVersion); - return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId) - .entity(policy).build(); + try (LegacyOperationalPolicyProvider operationalPolicyProvider = new LegacyOperationalPolicyProvider()) { + Map, List> deployedOperationalPolicies = + operationalPolicyProvider.fetchDeployedOperationalPolicies(policyId); + return makeOkResponse(requestId, deployedOperationalPolicies); } catch (PfModelException | PfModelRuntimeException pfme) { - return addLoggingHeaders(addVersionControlHeaders( - Response.status(pfme.getErrorResponse().getResponseCode())), requestId) - .entity(pfme.getErrorResponse()).build(); + LOGGER.error("GET /policytypes/onap.policies.controlloop.Operational/versions/1.0.0/" + + "policies/{}/versions/deployed", policyId, pfme); + return makeErrorResponse(requestId, pfme); } } @@ -550,9 +552,7 @@ public class LegacyApiRestController { * @return the Response object containing the results of the API operation */ @POST - @Path("/policytypes/onap.policy.controlloop.operational/versions/1.0.0/policies") - @Consumes("application/json; vnd.onap.operational") - @Produces("application/json; vnd.onap.operational") + @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"), @@ -591,15 +591,17 @@ public class LegacyApiRestController { @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId, @ApiParam(value = "Entity body of policy", required = true) LegacyOperationalPolicy body) { - try { - LegacyOperationalPolicy policy = new LegacyOperationalPolicyProvider() - .createOperationalPolicy(body); - return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId) - .entity(policy).build(); + if (NetLoggerUtil.getNetworkLogger().isInfoEnabled()) { + NetLoggerUtil.log(EventType.IN, CommInfrastructure.REST, + "/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) { - return addLoggingHeaders(addVersionControlHeaders( - Response.status(pfme.getErrorResponse().getResponseCode())), requestId) - .entity(pfme.getErrorResponse()).build(); + LOGGER.error("POST /policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies", pfme); + return makeErrorResponse(requestId, pfme); } } @@ -612,9 +614,8 @@ public class LegacyApiRestController { * @return the Response object containing the results of the API operation */ @DELETE - @Path("/policytypes/onap.policy.controlloop.operational/versions/1.0.0/" + @Path("/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/" + "policies/{policyId}/versions/{policyVersion}") - @Produces("application/json; vnd.onap.operational") @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"), @@ -655,27 +656,14 @@ public class LegacyApiRestController { @PathParam("policyVersion") @ApiParam(value = "Version of policy", required = true) String policyVersion, @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) { - try { - LegacyOperationalPolicy policy = new LegacyOperationalPolicyProvider() - .deleteOperationalPolicies(policyId, policyVersion); - return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId) - .entity(policy).build(); + try (LegacyOperationalPolicyProvider operationalPolicyProvider = new LegacyOperationalPolicyProvider()) { + LegacyOperationalPolicy policy = operationalPolicyProvider + .deleteOperationalPolicy(policyId, policyVersion); + return makeOkResponse(requestId, policy); } catch (PfModelException | PfModelRuntimeException pfme) { - return addLoggingHeaders(addVersionControlHeaders( - Response.status(pfme.getErrorResponse().getResponseCode())), requestId) - .entity(pfme.getErrorResponse()).build(); - } - } - - private ResponseBuilder addVersionControlHeaders(ResponseBuilder rb) { - return rb.header("X-MinorVersion", "0").header("X-PatchVersion", "0").header("X-LatestVersion", "1.0.0"); - } - - private ResponseBuilder addLoggingHeaders(ResponseBuilder rb, UUID requestId) { - if (requestId == null) { - // Generate a random uuid if client does not embed requestId in rest request - return rb.header("X-ONAP-RequestID", UUID.randomUUID()); + LOGGER.error("DELETE /policytypes/onap.policies.controlloop.Operational/versions/1.0.0/" + + "policies/{}/versions/{}", policyId, policyVersion, pfme); + return makeErrorResponse(requestId, pfme); } - return rb.header("X-ONAP-RequestID", requestId); } } \ No newline at end of file