diff --git a/pom.xml b/pom.xml
index 2b39087..cc80ac0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -94,18 +94,7 @@
[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)
test
-
- org.gcube.common
- authorization-client
- [2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)
- provided
-
-
- org.gcube.common
- common-authorization
- [2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)
- provided
-
+
diff --git a/src/main/java/org/gcube/accounting/analytics/persistence/couchbase/AccountingPersistenceQueryCouchBase.java b/src/main/java/org/gcube/accounting/analytics/persistence/couchbase/AccountingPersistenceQueryCouchBase.java
index 5dfa1d5..a4023d1 100644
--- a/src/main/java/org/gcube/accounting/analytics/persistence/couchbase/AccountingPersistenceQueryCouchBase.java
+++ b/src/main/java/org/gcube/accounting/analytics/persistence/couchbase/AccountingPersistenceQueryCouchBase.java
@@ -603,8 +603,17 @@ AccountingPersistenceBackendQuery {
Collection selectExpressions = new ArrayList<>();
//add select expression
+ /*
selectExpressions.add(x("SUM(" + getSpecializedProperty(clz,orderingProperty) + ")").
as(orderingProperty));
+ */
+ //add select expression and check if exist
+
+ selectExpressions.add(x("SUM(CASE WHEN " + getSpecializedProperty(clz,orderingProperty) +
+ " IS NOT NULL THEN "+getSpecializedProperty(clz,orderingProperty)+" ELSE 1 END )").
+ as(orderingProperty));
+
+
selectExpressions.add(x(getSpecializedProperty(clz,key)).as(key));
//add where expression
@@ -696,7 +705,7 @@ AccountingPersistenceBackendQuery {
try {
JsonObject jsonObject = row.value();
//logger.trace("JsonObject : {}", row.value()+" key"+key);
-
+ logger.warn("pre"+jsonObject.toString()+" key :"+key);
//verify for a not null value
String value = jsonObject.getString(key);
Number n = jsonObject.getDouble(orderingProperty);
diff --git a/src/test/java/org/gcube/accounting/analytics/persistence/couchbase/AccountingPersistenceQueryCouchBaseTest.java b/src/test/java/org/gcube/accounting/analytics/persistence/couchbase/AccountingPersistenceQueryCouchBaseTest.java
index 9c11353..ba5458e 100644
--- a/src/test/java/org/gcube/accounting/analytics/persistence/couchbase/AccountingPersistenceQueryCouchBaseTest.java
+++ b/src/test/java/org/gcube/accounting/analytics/persistence/couchbase/AccountingPersistenceQueryCouchBaseTest.java
@@ -9,6 +9,7 @@ import java.util.Calendar;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.SortedMap;
import java.util.SortedSet;
@@ -18,7 +19,10 @@ import org.gcube.accounting.analytics.NumberedFilter;
import org.gcube.accounting.analytics.TemporalConstraint;
import org.gcube.accounting.analytics.TemporalConstraint.AggregationMode;
import org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryConfiguration;
+import org.gcube.accounting.analytics.persistence.AccountingPersistenceQuery;
+import org.gcube.accounting.datamodel.aggregation.AggregatedJobUsageRecord;
import org.gcube.accounting.datamodel.aggregation.AggregatedServiceUsageRecord;
+import org.gcube.accounting.datamodel.usagerecords.JobUsageRecord;
import org.gcube.common.scope.api.ScopeProvider;
import org.json.JSONException;
import org.json.JSONObject;
@@ -74,7 +78,7 @@ public class AccountingPersistenceQueryCouchBaseTest {
@Before
public void before() throws Exception{
- ScopeProvider.instance.set("/gcube/devNext");
+ ScopeProvider.instance.set("/gcube/devNext/NextNext");
AccountingPersistenceBackendQueryConfiguration configuration = new
AccountingPersistenceBackendQueryConfiguration(AccountingPersistenceQueryCouchBase.class);
@@ -96,11 +100,47 @@ public class AccountingPersistenceQueryCouchBaseTest {
}
@Test
- public void test() throws Exception {
+ public void testTopJob() throws Exception {
Calendar startTime = Calendar.getInstance();
- startTime.set(2016, Calendar.AUGUST, 29);
+ startTime.set(2015, Calendar.AUGUST, 20);
Calendar endTime = Calendar.getInstance();
- endTime.set(2016, Calendar.AUGUST, 29,23,59);
+ endTime.set(2016, Calendar.SEPTEMBER, 29,23,59);
+
+
+ List filters = new ArrayList();
+
+ TemporalConstraint temporalConstraint =
+ new TemporalConstraint(startTime.getTimeInMillis(),
+ endTime.getTimeInMillis(), AggregationMode.DAILY);
+
+ Class clz =
+ AggregatedJobUsageRecord.class;
+
+ SortedMap> set =
+ accountingPersistenceQueryCouchBase.getTopValues(
+ clz, temporalConstraint, filters,
+ AggregatedJobUsageRecord.CONSUMER_ID, null);
+
+
+ JobUsageRecord record =new JobUsageRecord();
+ Set result=record.getRequiredFields();
+ logger.debug("result"+result.toString());
+ logger.debug("Result final{}", set);
+ }
+
+ @Test
+ public void getQuerableKey() throws Exception{
+ SortedSet keys = AccountingPersistenceQuery.getQuerableKeys(AggregatedJobUsageRecord.class);
+ logger.debug("keys:"+keys);
+
+ }
+
+ @Test
+ public void testTopService() throws Exception {
+ Calendar startTime = Calendar.getInstance();
+ startTime.set(2016, Calendar.AUGUST, 25);
+ Calendar endTime = Calendar.getInstance();
+ endTime.set(2016, Calendar.AUGUST, 28,23,59);
List filters = new ArrayList();
@@ -115,11 +155,13 @@ public class AccountingPersistenceQueryCouchBaseTest {
SortedMap> set =
accountingPersistenceQueryCouchBase.getTopValues(
clz, temporalConstraint, filters,
- AggregatedServiceUsageRecord.CALLED_METHOD, null);
+ AggregatedServiceUsageRecord.HOST, null);
logger.debug("Result final{}", set);
}
+
+
public static SortedMap padMap(
SortedMap unpaddedData,
TemporalConstraint temporalConstraint) throws Exception {