diff options
author | Ram Krishna Verma <ram_krishna.verma@bell.ca> | 2021-07-27 16:22:27 -0400 |
---|---|---|
committer | Ram Krishna Verma <ram_krishna.verma@bell.ca> | 2021-07-28 17:13:49 -0400 |
commit | dbab93d362a3096af56ad947aa791e6b0456b76c (patch) | |
tree | 9d7c45a309c5ee0118007c134ba60d9afc130de2 /main/src/main/java | |
parent | 96de2b981fb063408a021ca6b3e01783077b651f (diff) |
Add datetime format to audit api's
Adding datetime format to audit api's
so that clients can send the request in one common format.
Changed the format to epoch timestamp.
Fixed review comments.
Issue-ID: POLICY-3340
Change-Id: I613ac02154a3e521ae97f7ac2e6129f642164b3f
Signed-off-by: Ram Krishna Verma <ram_krishna.verma@bell.ca>
Diffstat (limited to 'main/src/main/java')
-rw-r--r-- | main/src/main/java/org/onap/policy/pap/main/rest/PolicyAuditControllerV1.java | 86 |
1 files changed, 49 insertions, 37 deletions
diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/PolicyAuditControllerV1.java b/main/src/main/java/org/onap/policy/pap/main/rest/PolicyAuditControllerV1.java index e669594a..7848cf38 100644 --- a/main/src/main/java/org/onap/policy/pap/main/rest/PolicyAuditControllerV1.java +++ b/main/src/main/java/org/onap/policy/pap/main/rest/PolicyAuditControllerV1.java @@ -26,8 +26,8 @@ import io.swagger.annotations.Authorization; import io.swagger.annotations.Extension; import io.swagger.annotations.ExtensionProperty; import io.swagger.annotations.ResponseHeader; +import java.time.Instant; import java.util.Collection; -import java.util.Date; import java.util.UUID; import javax.ws.rs.GET; import javax.ws.rs.HeaderParam; @@ -47,9 +47,10 @@ import org.slf4j.LoggerFactory; * various operations on policies. */ public class PolicyAuditControllerV1 extends PapRestControllerV1 { - private static final String GET_AUDIT_RECORD_FAILED = "get audit records failed"; private static final Logger logger = LoggerFactory.getLogger(PolicyAuditControllerV1.class); + private static final String GET_AUDIT_RECORD_FAILED = "get audit records failed"; + public static final String NO_AUDIT_RECORD_FOUND = "No records found matching the input parameters"; private final PolicyAuditProvider provider = new PolicyAuditProvider(); @@ -58,8 +59,8 @@ public class PolicyAuditControllerV1 extends PapRestControllerV1 { * * @param requestId request ID used in ONAP logging * @param recordCount number of records to fetch - * @param fromDate the starting date for the query - * @param toDate the ending date for the query + * @param fromDate the starting date for the query in epoch timestamp + * @param toDate the ending date for the query in epoch timestamp * @return a response */ // @formatter:off @@ -96,16 +97,18 @@ public class PolicyAuditControllerV1 extends PapRestControllerV1 { public Response getAllAuditRecords( @HeaderParam(REQUEST_ID_NAME) @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) final UUID requestId, - @ApiParam(value = "Record Count", + @ApiParam(value = "Record count between 1-100", required = false) @QueryParam("recordCount") final int recordCount, - @ApiParam(value = "From Date", required = false) @QueryParam("fromDate") final Date fromDate, - @ApiParam(value = "To Date", required = false) @QueryParam("toDate") final Date toDate) { + @ApiParam(value = "From date in epoch timestamp", + required = false) @QueryParam("fromDate") final Long fromDate, + @ApiParam(value = "To date in epoch timestamp", + required = false) @QueryParam("toDate") final Long toDate) { try { return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId) .entity(provider.getAuditRecords(AuditFilter.builder().recordNum(recordCount) - .fromDate((fromDate == null ? null : fromDate.toInstant())) - .toDate((toDate == null ? null : toDate.toInstant())).build())) + .fromDate(convertEpochtoInstant(fromDate)) + .toDate(convertEpochtoInstant(toDate)).build())) .build(); } catch (PfModelException | PfModelRuntimeException exp) { @@ -121,8 +124,8 @@ public class PolicyAuditControllerV1 extends PapRestControllerV1 { * * @param requestId request ID used in ONAP logging * @param recordCount number of records to fetch - * @param fromDate the starting date for the query - * @param toDate the ending date for the query + * @param fromDate the starting date for the query in epoch timestamp + * @param toDate the ending date for the query in epoch timestamp * @param pdpGroupName the pdp group name for the query * @return a response */ @@ -160,17 +163,20 @@ public class PolicyAuditControllerV1 extends PapRestControllerV1 { public Response getAuditRecordsByGroup( @HeaderParam(REQUEST_ID_NAME) @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) final UUID requestId, - @ApiParam(value = "Record Count", + @ApiParam(value = "Record count between 1-100", required = false) @QueryParam("recordCount") final int recordCount, - @ApiParam(value = "From Date", required = false) @QueryParam("fromDate") final Date fromDate, - @ApiParam(value = "To Date", required = false) @QueryParam("toDate") final Date toDate, + @ApiParam(value = "From date in epoch timestamp", + required = false) @QueryParam("fromDate") final Long fromDate, + @ApiParam(value = "To date in epoch timestamp", + required = false) @QueryParam("toDate") final Long toDate, @ApiParam(value = "PDP Group Name", required = true) @PathParam("pdpGroupName") String pdpGroupName) { try { - return makeOkOrNotFoundResponse(requestId, provider.getAuditRecords(AuditFilter.builder() - .recordNum(recordCount).fromDate((fromDate == null ? null : fromDate.toInstant())) - .toDate((toDate == null ? null : toDate.toInstant())).pdpGroup(pdpGroupName).build())); + return makeOkOrNotFoundResponse(requestId, + provider.getAuditRecords(AuditFilter.builder().recordNum(recordCount) + .fromDate((convertEpochtoInstant(fromDate))) + .toDate(convertEpochtoInstant(toDate)).pdpGroup(pdpGroupName).build())); } catch (PfModelException | PfModelRuntimeException exp) { logger.warn(GET_AUDIT_RECORD_FAILED, exp); @@ -185,8 +191,8 @@ public class PolicyAuditControllerV1 extends PapRestControllerV1 { * * @param requestId request ID used in ONAP logging * @param recordCount number of records to fetch - * @param fromDate the starting date for the query - * @param toDate the ending date for the query + * @param fromDate the starting date for the query in epoch timestamp + * @param toDate the ending date for the query in epoch timestamp * @param pdpGroupName the pdp group name for the query * @param policyName name of the Policy * @param policyVersion version of the Policy @@ -226,20 +232,22 @@ public class PolicyAuditControllerV1 extends PapRestControllerV1 { public Response getAuditRecordsOfPolicy( @HeaderParam(REQUEST_ID_NAME) @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) final UUID requestId, - @ApiParam(value = "Record Count", + @ApiParam(value = "Record count between 1-100", required = false) @QueryParam("recordCount") final int recordCount, - @ApiParam(value = "From Date", required = false) @QueryParam("fromDate") final Date fromDate, - @ApiParam(value = "To Date", required = false) @QueryParam("toDate") final Date toDate, + @ApiParam(value = "From date in epoch timestamp", + required = false) @QueryParam("fromDate") final Long fromDate, + @ApiParam(value = "To date in epoch timestamp", + required = false) @QueryParam("toDate") final Long toDate, @ApiParam(value = "PDP Group Name", required = true) @PathParam("pdpGroupName") String pdpGroupName, - @ApiParam(value = "Policy Id", required = true) @PathParam("policyName") String policyName, + @ApiParam(value = "Policy Name", required = true) @PathParam("policyName") String policyName, @ApiParam(value = "Policy Version", required = true) @PathParam("policyVersion") String policyVersion) { try { return makeOkOrNotFoundResponse(requestId, provider.getAuditRecords(AuditFilter.builder().recordNum(recordCount) - .fromDate((fromDate == null ? null : fromDate.toInstant())) - .toDate((toDate == null ? null : toDate.toInstant())).pdpGroup(pdpGroupName) + .fromDate(convertEpochtoInstant(fromDate)) + .toDate(convertEpochtoInstant(toDate)).pdpGroup(pdpGroupName) .name(policyName).version(policyVersion).build())); } catch (PfModelException | PfModelRuntimeException exp) { @@ -255,8 +263,8 @@ public class PolicyAuditControllerV1 extends PapRestControllerV1 { * * @param requestId request ID used in ONAP logging * @param recordCount number of records to fetch - * @param fromDate the starting date for the query - * @param toDate the ending date for the query + * @param fromDate the starting date for the query in epoch timestamp + * @param toDate the ending date for the query in epoch timestamp * @param policyName name of the Policy * @param policyVersion version of the Policy * @return a response @@ -295,20 +303,20 @@ public class PolicyAuditControllerV1 extends PapRestControllerV1 { public Response getAuditRecordsOfPolicy( @HeaderParam(REQUEST_ID_NAME) @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) final UUID requestId, - @ApiParam(value = "Record Count", + @ApiParam(value = "Record count between 1-100", required = false) @QueryParam("recordCount") final int recordCount, - @ApiParam(value = "From Date", required = false) @QueryParam("fromDate") final Date fromDate, - @ApiParam(value = "To Date", required = false) @QueryParam("toDate") final Date toDate, - @ApiParam(value = "Policy Id", required = true) @PathParam("policyName") String policyName, + @ApiParam(value = "From date in epoch timestamp", + required = false) @QueryParam("fromDate") final Long fromDate, + @ApiParam(value = "To date in epoch timestamp", + required = false) @QueryParam("toDate") final Long toDate, + @ApiParam(value = "Policy Name", required = true) @PathParam("policyName") String policyName, @ApiParam(value = "Policy Version", required = true) @PathParam("policyVersion") String policyVersion) { try { - return makeOkOrNotFoundResponse(requestId, - provider.getAuditRecords(AuditFilter.builder().recordNum(recordCount) - .fromDate((fromDate == null ? null : fromDate.toInstant())) - .toDate((toDate == null ? null : toDate.toInstant())).name(policyName) - .version(policyVersion).build())); + return makeOkOrNotFoundResponse(requestId, provider.getAuditRecords(AuditFilter.builder() + .recordNum(recordCount).fromDate(convertEpochtoInstant(fromDate)) + .toDate(convertEpochtoInstant(toDate)).name(policyName).version(policyVersion).build())); } catch (PfModelException | PfModelRuntimeException exp) { logger.warn(GET_AUDIT_RECORD_FAILED, exp); @@ -321,10 +329,14 @@ public class PolicyAuditControllerV1 extends PapRestControllerV1 { private Response makeOkOrNotFoundResponse(UUID requestId, Collection<PolicyAudit> result) { if (result.isEmpty()) { return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.NOT_FOUND)), requestId) - .build(); + .entity(NO_AUDIT_RECORD_FOUND).build(); } else { return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId) .entity(result).build(); } } + + private Instant convertEpochtoInstant(Long epochSecond) { + return (epochSecond == null ? null : Instant.ofEpochSecond(epochSecond)); + } } |