aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupCreateOrUpdateControllerV1.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupCreateOrUpdateControllerV1.java')
-rw-r--r--main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupCreateOrUpdateControllerV1.java42
1 files changed, 25 insertions, 17 deletions
diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupCreateOrUpdateControllerV1.java b/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupCreateOrUpdateControllerV1.java
index 505f7fee..b588d08a 100644
--- a/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupCreateOrUpdateControllerV1.java
+++ b/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupCreateOrUpdateControllerV1.java
@@ -4,6 +4,7 @@
* ================================================================================
* Copyright (C) 2019,2021 Nordix Foundation.
* Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2021 Bell Canada. 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.
@@ -30,25 +31,30 @@ import io.swagger.annotations.Extension;
import io.swagger.annotations.ExtensionProperty;
import io.swagger.annotations.ResponseHeader;
import java.util.UUID;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import lombok.RequiredArgsConstructor;
import org.onap.policy.models.base.PfModelException;
import org.onap.policy.models.base.PfModelRuntimeException;
import org.onap.policy.models.pap.concepts.PdpGroupUpdateResponse;
import org.onap.policy.models.pdp.concepts.PdpGroups;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
/**
* Class to provide REST end points for PAP component to create or update PDP groups.
*/
+@RestController
+@RequestMapping(path = "/policy/pap/v1")
+@RequiredArgsConstructor
public class PdpGroupCreateOrUpdateControllerV1 extends PapRestControllerV1 {
private static final Logger logger = LoggerFactory.getLogger(PdpGroupCreateOrUpdateControllerV1.class);
- private final PdpGroupCreateOrUpdateProvider provider = new PdpGroupCreateOrUpdateProvider();
+ private final PdpGroupCreateOrUpdateProvider provider;
/**
* Creates or updates one or more PDP groups.
@@ -58,8 +64,7 @@ public class PdpGroupCreateOrUpdateControllerV1 extends PapRestControllerV1 {
* @return a response
*/
// @formatter:off
- @POST
- @Path("pdps/groups/batch")
+ @PostMapping("pdps/groups/batch")
@ApiOperation(value = "Create or update PDP Groups",
notes = "Create or update one or more PDP Groups, returning optional error details",
response = PdpGroupUpdateResponse.class,
@@ -88,9 +93,11 @@ public class PdpGroupCreateOrUpdateControllerV1 extends PapRestControllerV1 {
})
// @formatter:on
- public Response createOrUpdateGroups(
- @HeaderParam(REQUEST_ID_NAME) @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId,
- @ApiParam(value = "List of PDP Group Configuration", required = true) PdpGroups groups) {
+ public ResponseEntity<PdpGroupUpdateResponse> createOrUpdateGroups(
+ @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) @RequestHeader(
+ required = false,
+ value = REQUEST_ID_NAME) final UUID requestId,
+ @ApiParam(value = "List of PDP Group Configuration", required = true) @RequestBody PdpGroups groups) {
return doOperation(requestId, "create groups failed", () -> provider.createOrUpdateGroups(groups));
}
@@ -103,18 +110,19 @@ public class PdpGroupCreateOrUpdateControllerV1 extends PapRestControllerV1 {
* @param runnable operation to invoke
* @return a {@link PdpGroupUpdateResponse} response entity
*/
- private Response doOperation(UUID requestId, String errmsg, RunnableWithPfEx runnable) {
+ private ResponseEntity<PdpGroupUpdateResponse> doOperation(UUID requestId, String errmsg,
+ RunnableWithPfEx runnable) {
try {
runnable.run();
- return addLoggingHeaders(addVersionControlHeaders(Response.status(Status.OK)), requestId)
- .entity(new PdpGroupUpdateResponse()).build();
-
+ return addLoggingHeaders(addVersionControlHeaders(ResponseEntity.ok()), requestId)
+ .body(new PdpGroupUpdateResponse());
} catch (PfModelException | PfModelRuntimeException e) {
logger.warn(errmsg, e);
var resp = new PdpGroupUpdateResponse();
resp.setErrorDetails(e.getErrorResponse().getErrorMessage());
- return addLoggingHeaders(addVersionControlHeaders(Response.status(e.getErrorResponse().getResponseCode())),
- requestId).entity(resp).build();
+ return addLoggingHeaders(
+ addVersionControlHeaders(ResponseEntity.status(e.getErrorResponse().getResponseCode().getStatusCode())),
+ requestId).body(resp);
}
}
}