diff --git a/src/main/java/org/gcube/accounting/analytics/persistence/postgresql/AccountingPersistenceQueryPostgreSQL.java b/src/main/java/org/gcube/accounting/analytics/persistence/postgresql/AccountingPersistenceQueryPostgreSQL.java index b24fcdf..879050b 100644 --- a/src/main/java/org/gcube/accounting/analytics/persistence/postgresql/AccountingPersistenceQueryPostgreSQL.java +++ b/src/main/java/org/gcube/accounting/analytics/persistence/postgresql/AccountingPersistenceQueryPostgreSQL.java @@ -109,7 +109,8 @@ public class AccountingPersistenceQueryPostgreSQL implements AccountingPersisten ResultSet resultSet = statement.executeQuery(sql); while (resultSet.next()) { - OffsetDateTime offsetDateTime = resultSet.getObject(Query.DATE_OF_TIMESERIES_AS_FIELD, OffsetDateTime.class); + String tableFieldName = recordToDBMapper.getTableField(Query.DATE_OF_TIMESERIES_AS_FIELD); + OffsetDateTime offsetDateTime = resultSet.getObject(tableFieldName, OffsetDateTime.class); Calendar calendar = getCalendar(offsetDateTime); JSONObject jsonObject = new JSONObject(); @@ -208,10 +209,13 @@ public class AccountingPersistenceQueryPostgreSQL implements AccountingPersisten ResultSet resultSet = statement.executeQuery(sql); + String tableFieldORderingProperty = recordToDBMapper.getTableField(orderingProperty); + while (resultSet.next()) { String tableFieldKey = recordToDBMapper.getTableField(key); Object value = resultSet.getObject(tableFieldKey); - Object numberObject = resultSet.getObject(orderingProperty); + + Object numberObject = resultSet.getObject(tableFieldORderingProperty); NumberedFilter numberedFilter = new NumberedFilter(key, value.toString(), (Number) numberObject, orderingProperty); result.add(numberedFilter); } @@ -266,7 +270,7 @@ public class AccountingPersistenceQueryPostgreSQL implements AccountingPersisten Statement statement = connection.createStatement(); Query query = new Query(aggregatedRecordClass); - query.setRecordId("fa573711-ceb6-44ba-9c83-bd47e0915b80"); + query.setRecordId(recordId); String sql = query.getRecordQuery(); RecordToDBFields recordToDBMapper = query.getRecordToDBMapper(); diff --git a/src/main/java/org/gcube/accounting/analytics/persistence/postgresql/Query.java b/src/main/java/org/gcube/accounting/analytics/persistence/postgresql/Query.java index 7b2d45a..cfe82a1 100644 --- a/src/main/java/org/gcube/accounting/analytics/persistence/postgresql/Query.java +++ b/src/main/java/org/gcube/accounting/analytics/persistence/postgresql/Query.java @@ -226,13 +226,13 @@ public class Query extends PostgreSQLQuery { } protected void addRequestedDate() { + String calendarInterval = getTimeBucketCalendarInterval(temporalConstraint.getAggregationMode()); + String tableField = getTableField(DATE_OF_TIMESERIES_AS_FIELD); stringBuffer.append("date_trunc('"); - String calendarInterval = getTimeBucketCalendarInterval(temporalConstraint.getAggregationMode()); stringBuffer.append(calendarInterval); stringBuffer.append("', "); - appendTableField(AggregatedRecord.START_TIME); + stringBuffer.append(tableField); stringBuffer.append(") "); - String tableField = getTableField(DATE_OF_TIMESERIES_AS_FIELD); stringBuffer.append(tableField); requestedTableField.add(tableField); } @@ -257,7 +257,7 @@ public class Query extends PostgreSQLQuery { appendValue(temporalConstraint.getAlignedEndTime()); } - protected void addDateGropuBy() { + protected void addDateGroupBy() { stringBuffer.append(" GROUP BY "); appendTableField(DATE_OF_TIMESERIES_AS_FIELD); } @@ -314,7 +314,7 @@ public class Query extends PostgreSQLQuery { addFilters(); addContextFilter(); - addDateGropuBy(); + addDateGroupBy(); addDateOrderBy(); return stringBuffer.toString(); diff --git a/src/test/java/org/gcube/accounting/analytics/persistence/postgresql/AccountingPersistenceQueryPostgreSQLTest.java b/src/test/java/org/gcube/accounting/analytics/persistence/postgresql/AccountingPersistenceQueryPostgreSQLTest.java index ffbea03..b37f945 100644 --- a/src/test/java/org/gcube/accounting/analytics/persistence/postgresql/AccountingPersistenceQueryPostgreSQLTest.java +++ b/src/test/java/org/gcube/accounting/analytics/persistence/postgresql/AccountingPersistenceQueryPostgreSQLTest.java @@ -222,7 +222,7 @@ public class AccountingPersistenceQueryPostgreSQLTest extends ContextTest { @Test public void testGetRecord() throws Exception { String type = RecordToDBMapping.getRecordTypeByClass(AggregatedServiceUsageRecord.class); - Record record = accountingPersistenceQueryPostgreSQL.getRecord("fa573711-ceb6-44ba-9c83-bd47e0915b80", type); + Record record = accountingPersistenceQueryPostgreSQL.getRecord("7c3fcb31-6909-451d-bae0-633b3bec0c21", type); logger.debug("{}", record); }