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 a4023d1..871ce66 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 @@ -614,7 +614,9 @@ AccountingPersistenceBackendQuery { as(orderingProperty)); - selectExpressions.add(x(getSpecializedProperty(clz,key)).as(key)); + //selectExpressions.add(x(getSpecializedProperty(clz,key)).as(key)); + selectExpressions.add(x("(CASE WHEN " + getSpecializedProperty(clz,key) + + " IS NOT NULL THEN "+getSpecializedProperty(clz,key)+" ELSE 'UNKONW' END )").as(key)); //add where expression Expression whereExpression = 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 ba5458e..2abe452 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 @@ -22,6 +22,7 @@ import org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQu 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.aggregation.AggregatedStorageUsageRecord; import org.gcube.accounting.datamodel.usagerecords.JobUsageRecord; import org.gcube.common.scope.api.ScopeProvider; import org.json.JSONException; @@ -130,17 +131,25 @@ public class AccountingPersistenceQueryCouchBaseTest { @Test public void getQuerableKey() throws Exception{ - SortedSet keys = AccountingPersistenceQuery.getQuerableKeys(AggregatedJobUsageRecord.class); - logger.debug("keys:"+keys); + SortedSet keys; + + keys = AccountingPersistenceQuery.getQuerableKeys(AggregatedJobUsageRecord.class); + for (String key : keys) { + if (key != null && !key.isEmpty()) { + logger.debug("key:" +key); + } + } + logger.debug("List FilterKeys:" + keys.toString()); + } @Test public void testTopService() throws Exception { Calendar startTime = Calendar.getInstance(); - startTime.set(2016, Calendar.AUGUST, 25); + startTime.set(2015, Calendar.AUGUST, 25); Calendar endTime = Calendar.getInstance(); - endTime.set(2016, Calendar.AUGUST, 28,23,59); + endTime.set(2016, Calendar.SEPTEMBER, 28,23,59); List filters = new ArrayList(); @@ -155,7 +164,7 @@ public class AccountingPersistenceQueryCouchBaseTest { SortedMap> set = accountingPersistenceQueryCouchBase.getTopValues( clz, temporalConstraint, filters, - AggregatedServiceUsageRecord.HOST, null); + AggregatedServiceUsageRecord.CALLERQUALIFIER, null); logger.debug("Result final{}", set);