summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2021-07-28 10:03:50 -0400
committerJim Hahn <jrh3@att.com>2021-07-28 10:07:47 -0400
commitc7cd3d20d784d367c677e530b7cd316f84df17c5 (patch)
tree1659f1cfd5b22616ffe4c609f7d95a43ff9b3104
parent96de2b981fb063408a021ca6b3e01783077b651f (diff)
Remove statistics record limits from PAP
policy/models statistics provider has now been enhanced to limit the record counts. Stripped the code from PAP, as it's no longer needed there. Also simplified the PAP statistics provider down to one query method, taking a filter. Issue-ID: POLICY-3511 Change-Id: I8a8797be191dc1f299b1c4084b0108a3ab89ff61 Signed-off-by: Jim Hahn <jrh3@att.com>
-rw-r--r--main/src/main/java/org/onap/policy/pap/main/rest/StatisticsRestControllerV1.java16
-rw-r--r--main/src/main/java/org/onap/policy/pap/main/rest/StatisticsRestProvider.java43
2 files changed, 17 insertions, 42 deletions
diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/StatisticsRestControllerV1.java b/main/src/main/java/org/onap/policy/pap/main/rest/StatisticsRestControllerV1.java
index b19e91a9..b08964bc 100644
--- a/main/src/main/java/org/onap/policy/pap/main/rest/StatisticsRestControllerV1.java
+++ b/main/src/main/java/org/onap/policy/pap/main/rest/StatisticsRestControllerV1.java
@@ -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);
diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/StatisticsRestProvider.java b/main/src/main/java/org/onap/policy/pap/main/rest/StatisticsRestProvider.java
index 3859401e..d2771d67 100644
--- a/main/src/main/java/org/onap/policy/pap/main/rest/StatisticsRestProvider.java
+++ b/main/src/main/java/org/onap/policy/pap/main/rest/StatisticsRestProvider.java
@@ -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;
}
}
-
-