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 ce388a8..76b9049 100644 --- a/src/main/java/org/gcube/accounting/analytics/persistence/AccountingPersistenceQuery.java +++ b/src/main/java/org/gcube/accounting/analytics/persistence/AccountingPersistenceQuery.java @@ -10,6 +10,7 @@ import java.util.List; import java.util.Map; import java.util.SortedMap; import java.util.SortedSet; +import java.util.TreeMap; import java.util.TreeSet; import org.gcube.accounting.analytics.Filter; @@ -139,22 +140,24 @@ public class AccountingPersistenceQuery { TemporalConstraint temporalConstraint, List filters, String orderingProperty, boolean pad, int limit) throws Exception { - SortedMap> ret; + SortedMap> got; if(orderingProperty==null){ orderingProperty = getDefaultOrderingProperties(clz); } - ret = AccountingPersistenceBackendQueryFactory.getInstance() + got = AccountingPersistenceBackendQueryFactory.getInstance() .getTopValues(clz, temporalConstraint, filters, orderingProperty); + SortedMap> ret = new TreeMap>(); if(pad){ - int count = ret.size() > limit ? limit : ret.size(); + int count = got.size() > limit ? limit : got.size(); while(--count >= 0){ - for(NumberedFilter nf : ret.keySet()){ - padMap(ret.get(nf), temporalConstraint); + for(NumberedFilter nf : got.keySet()){ + SortedMap m = padMap(got.get(nf), temporalConstraint); + ret.put(nf, m); } } }