diff --git a/pom.xml b/pom.xml index 0cbe63d..4d45b7d 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ org.gcube.accounting accounting-analytics - 2.3.0-SNAPSHOT + 2.4.0-SNAPSHOT accounting-analytics @@ -26,9 +26,10 @@ + org.gcube.distribution - maven-smartgears-bom + gcube-bom LATEST pom import diff --git a/src/main/java/org/gcube/accounting/analytics/TemporalConstraint.java b/src/main/java/org/gcube/accounting/analytics/TemporalConstraint.java index 52d3706..8252a4c 100644 --- a/src/main/java/org/gcube/accounting/analytics/TemporalConstraint.java +++ b/src/main/java/org/gcube/accounting/analytics/TemporalConstraint.java @@ -31,6 +31,7 @@ public class TemporalConstraint { */ public enum AggregationMode { YEARLY, MONTHLY, DAILY, HOURLY, MINUTELY, SECONDLY, MILLISECONDLY + } /** @@ -39,6 +40,7 @@ public class TemporalConstraint { * @author Luca Frosini (ISTI - CNR) */ public enum CalendarEnum { + YEAR(Calendar.YEAR), MONTH(Calendar.MONTH), DAY(Calendar.DAY_OF_MONTH), diff --git a/src/main/java/org/gcube/accounting/analytics/UsageValue.java b/src/main/java/org/gcube/accounting/analytics/UsageValue.java index 3c19ace..b38bc69 100644 --- a/src/main/java/org/gcube/accounting/analytics/UsageValue.java +++ b/src/main/java/org/gcube/accounting/analytics/UsageValue.java @@ -9,15 +9,16 @@ import org.gcube.accounting.datamodel.AggregatedUsageRecord; * */ public abstract class UsageValue { + + public UsageValue(){} + protected Class> clz; - protected TemporalConstraint temporalConstraint; - //protected List filtersValue; + protected TemporalConstraint temporalConstraint; protected String identifier; protected Double d; protected String orderingProperty; protected String context; - public UsageValue(){} public abstract Class> getClz(); public abstract String getIdentifier(); public abstract Double getD(); diff --git a/src/main/java/org/gcube/accounting/analytics/persistence/AccountingPersistenceBackendQuery.java b/src/main/java/org/gcube/accounting/analytics/persistence/AccountingPersistenceBackendQuery.java index 1714a3c..bcf7d94 100644 --- a/src/main/java/org/gcube/accounting/analytics/persistence/AccountingPersistenceBackendQuery.java +++ b/src/main/java/org/gcube/accounting/analytics/persistence/AccountingPersistenceBackendQuery.java @@ -115,6 +115,23 @@ public interface AccountingPersistenceBackendQuery { String key, String orderingProperty) throws DuplicatedKeyFilterException, KeyException, ValueException, Exception; + + + + /** + * Same method but use if possible a map-reduce + * @param clz + * @param temporalConstraint + * @param filters + * @param key + * @param orderingProperty + * @return + * @throws Exception + */ + public SortedSet getNextPossibleValuesWithMap( + Class> clz, + TemporalConstraint temporalConstraint, List filters, + String key, String orderingProperty) throws Exception; /** * Close the connection to persistence @@ -252,4 +269,6 @@ public interface AccountingPersistenceBackendQuery { TemporalConstraint temporalConstraint, List filters,List contexts) throws Exception; + + } diff --git a/src/main/java/org/gcube/accounting/analytics/persistence/AccountingPersistenceQuery.java b/src/main/java/org/gcube/accounting/analytics/persistence/AccountingPersistenceQuery.java index 76aa084..361068c 100644 --- a/src/main/java/org/gcube/accounting/analytics/persistence/AccountingPersistenceQuery.java +++ b/src/main/java/org/gcube/accounting/analytics/persistence/AccountingPersistenceQuery.java @@ -247,6 +247,17 @@ public class AccountingPersistenceQuery implements AccountingPersistenceBackendQ } + + @Override + public SortedSet getNextPossibleValuesWithMap( + Class> clz, + TemporalConstraint temporalConstraint, List filters, + String key, String orderingProperty) throws Exception { + return AccountingPersistenceBackendQueryFactory.getInstance() + .getNextPossibleValuesWithMap(clz, temporalConstraint, filters, + key, orderingProperty); + } + /** * {@inheritDoc} */ @@ -337,6 +348,8 @@ public class AccountingPersistenceQuery implements AccountingPersistenceBackendQ } return got; } + +