From 9f3397483b731c0efa3d0c7769f3f5e316827b44 Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Wed, 23 Mar 2016 10:09:27 +0000 Subject: [PATCH] Fixing limit git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/accounting/accounting-analytics@126085 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../persistence/AccountingPersistenceQuery.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) 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); } } }