Merge "Add datetime format to audit api's"
authorAjith Sreekumar <ajith.sreekumar@bell.ca>
Thu, 29 Jul 2021 13:38:31 +0000 (13:38 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 29 Jul 2021 13:38:31 +0000 (13:38 +0000)
main/src/main/java/org/onap/policy/pap/main/rest/StatisticsRestControllerV1.java
main/src/main/java/org/onap/policy/pap/main/rest/StatisticsRestProvider.java

index b19e91a..b08964b 100644 (file)
@@ -38,6 +38,7 @@ import javax.ws.rs.PathParam;
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.Response;
 import org.onap.policy.models.base.PfModelException;
+import org.onap.policy.models.pdp.persistence.provider.PdpFilterParameters;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -112,7 +113,8 @@ public class StatisticsRestControllerV1 extends PapRestControllerV1 {
             @ApiParam(value = "Record Count", required = false) @QueryParam("recordCount") final int recordCount) {
         try {
             return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
-                    .entity(new StatisticsRestProvider().fetchDatabaseStatistics(null, null, null, recordCount))
+                    .entity(new StatisticsRestProvider().fetchDatabaseStatistics(
+                                    PdpFilterParameters.builder().recordNum(recordCount).build()))
                     .build();
         } catch (final PfModelException exp) {
             LOGGER.info(GET_STATISTICS_ERR_MSG, exp);
@@ -161,7 +163,8 @@ public class StatisticsRestControllerV1 extends PapRestControllerV1 {
             @ApiParam(value = "Record Count", required = false) @QueryParam("recordCount") final int recordCount) {
         try {
             return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
-                    .entity(new StatisticsRestProvider().fetchDatabaseStatistics(groupName, null, null, recordCount))
+                    .entity(new StatisticsRestProvider().fetchDatabaseStatistics(PdpFilterParameters.builder()
+                                    .group(groupName).recordNum(recordCount).build()))
                     .build();
         } catch (final PfModelException exp) {
             LOGGER.info(GET_STATISTICS_ERR_MSG, exp);
@@ -212,8 +215,8 @@ public class StatisticsRestControllerV1 extends PapRestControllerV1 {
             @ApiParam(value = "Record Count", required = false) @QueryParam("recordCount") final int recordCount) {
         try {
             return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
-                    .entity(new StatisticsRestProvider().fetchDatabaseStatistics(groupName, subType, null,
-                                    recordCount))
+                    .entity(new StatisticsRestProvider().fetchDatabaseStatistics(PdpFilterParameters.builder()
+                                    .group(groupName).subGroup(subType).recordNum(recordCount).build()))
                     .build();
         } catch (final PfModelException exp) {
             LOGGER.info(GET_STATISTICS_ERR_MSG, exp);
@@ -268,8 +271,9 @@ public class StatisticsRestControllerV1 extends PapRestControllerV1 {
             @ApiParam(value = "Record Count", required = false) @QueryParam("recordCount") final int recordCount) {
         try {
             return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
-                    .entity(new StatisticsRestProvider().fetchDatabaseStatistics(groupName, subType, pdpName,
-                            recordCount))
+                    .entity(new StatisticsRestProvider().fetchDatabaseStatistics(
+                                    PdpFilterParameters.builder().group(groupName).subGroup(subType)
+                                                    .name(pdpName).recordNum(recordCount).build()))
                     .build();
         } catch (final PfModelException exp) {
             LOGGER.info(GET_STATISTICS_ERR_MSG, exp);
index 3859401..d2771d6 100644 (file)
@@ -21,7 +21,6 @@
 
 package org.onap.policy.pap.main.rest;
 
-import java.time.Instant;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -36,8 +35,6 @@ import org.onap.policy.models.provider.PolicyModelsProvider;
 import org.onap.policy.pap.main.PapConstants;
 import org.onap.policy.pap.main.PolicyModelsProviderFactoryWrapper;
 import org.onap.policy.pap.main.startstop.PapActivator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * Class to fetch statistics of pap component.
@@ -45,11 +42,7 @@ import org.slf4j.LoggerFactory;
  * @author Ram Krishna Verma (ram.krishna.verma@est.tech)
  */
 public class StatisticsRestProvider {
-    private static final Logger LOGGER = LoggerFactory.getLogger(StatisticsRestProvider.class);
-    private static final String GET_STATISTICS_ERR_MSG = "fetch database failed";
-    private static final String DEFAULT_GROUP = "defaultGroup";
-    private static final int MIN_RECORD_COUNT = 1;
-    private static final int MAX_RECORD_COUNT = 100;
+    private static final String GET_STATISTICS_ERR_MSG = "database query failed";
 
     /**
      * Returns the current statistics of pap component.
@@ -76,39 +69,19 @@ public class StatisticsRestProvider {
     /**
      * Returns statistics of pdp component from database.
      *
-     * @param groupName name of the PDP group
-     * @param subType type of the sub PDP group
-     * @param pdpName the name of the PDP
-     * @param recordCount the count to query from database
+     * @param filter record filter
      * @return Report containing statistics of pdp component
      * @throws PfModelException when database can not found
      */
-    public Map<String, Map<String, List<PdpStatistics>>> fetchDatabaseStatistics(String groupName, String subType,
-            String pdpName, int recordCount) throws PfModelException {
+    public Map<String, Map<String, List<PdpStatistics>>> fetchDatabaseStatistics(PdpFilterParameters filter)
+                    throws PfModelException {
         final PolicyModelsProviderFactoryWrapper modelProviderWrapper =
-                Registry.get(PapConstants.REG_PAP_DAO_FACTORY, PolicyModelsProviderFactoryWrapper.class);
+                        Registry.get(PapConstants.REG_PAP_DAO_FACTORY, PolicyModelsProviderFactoryWrapper.class);
         try (PolicyModelsProvider databaseProvider = modelProviderWrapper.create()) {
-            Instant startTime = null;
-            Instant endTime = null;
-
-            /*
-             * getFilteredPdpStatistics() will throw an NPE if a group name is not specified, so we
-             * provide a default value
-             */
-            String grpnm = (groupName != null ? groupName : DEFAULT_GROUP);
-
-            int nrecords = Math.min(MAX_RECORD_COUNT, Math.max(MIN_RECORD_COUNT, recordCount));
-
-            return generatePdpStatistics(databaseProvider.getFilteredPdpStatistics(
-                            PdpFilterParameters.builder().name(pdpName).group(grpnm)
-                            .subGroup(subType).startTime(startTime).endTime(endTime)
-                            .recordNum(nrecords).build()));
+            return generatePdpStatistics(databaseProvider.getFilteredPdpStatistics(filter));
 
         } catch (final PfModelException exp) {
-            String errorMessage = GET_STATISTICS_ERR_MSG + "groupName:" + groupName + "subType:" + subType + "pdpName:"
-                    + pdpName + exp.getMessage();
-            LOGGER.debug(errorMessage, exp);
-            throw new PfModelRuntimeException(Response.Status.BAD_REQUEST, errorMessage);
+            throw new PfModelRuntimeException(Response.Status.INTERNAL_SERVER_ERROR, GET_STATISTICS_ERR_MSG);
         }
     }
 
@@ -129,5 +102,3 @@ public class StatisticsRestProvider {
         return groupMap;
     }
 }
-
-