Using base class

This commit is contained in:
Luca Frosini 2021-03-18 16:36:22 +01:00
parent f04987da10
commit bf5e518232
1 changed files with 2 additions and 32 deletions

View File

@ -1,6 +1,5 @@
package org.gcube.accounting.analytics.persistence.postgresql; package org.gcube.accounting.analytics.persistence.postgresql;
import java.io.Serializable;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
@ -14,20 +13,19 @@ import org.gcube.accounting.analytics.TemporalConstraint.AggregationMode;
import org.gcube.accounting.analytics.TemporalConstraint.CalendarEnum; import org.gcube.accounting.analytics.TemporalConstraint.CalendarEnum;
import org.gcube.accounting.datamodel.UsageRecord; import org.gcube.accounting.datamodel.UsageRecord;
import org.gcube.accounting.datamodel.aggregation.AggregatedServiceUsageRecord; import org.gcube.accounting.datamodel.aggregation.AggregatedServiceUsageRecord;
import org.gcube.accounting.utility.postgresql.PostgreSQLQuery;
import org.gcube.accounting.utility.postgresql.RecordToDBFields; import org.gcube.accounting.utility.postgresql.RecordToDBFields;
import org.gcube.accounting.utility.postgresql.RecordToDBMapping; import org.gcube.accounting.utility.postgresql.RecordToDBMapping;
import org.gcube.documentstore.records.AggregatedRecord; import org.gcube.documentstore.records.AggregatedRecord;
public class Query { public class Query extends PostgreSQLQuery {
public static final String DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss.SSS Z";
public static final String DATE_OF_TIMESERIES_AS_FIELD = AggregatedRecord.START_TIME; public static final String DATE_OF_TIMESERIES_AS_FIELD = AggregatedRecord.START_TIME;
private Class<? extends AggregatedRecord<?, ?>> clz; private Class<? extends AggregatedRecord<?, ?>> clz;
private final RecordToDBFields recordToDBMapper; private final RecordToDBFields recordToDBMapper;
private List<String> requestedTableField; private List<String> requestedTableField;
private StringBuffer stringBuffer;
protected TemporalConstraint temporalConstraint; protected TemporalConstraint temporalConstraint;
protected List<Filter> filters; protected List<Filter> filters;
@ -66,12 +64,6 @@ public class Query {
return recordToDBMapper; return recordToDBMapper;
} }
private void appendString(String string) {
stringBuffer.append("'");
stringBuffer.append(string);
stringBuffer.append("'");
}
protected String getTableField(String fieldName) { protected String getTableField(String fieldName) {
return recordToDBMapper.getTableField(fieldName); return recordToDBMapper.getTableField(fieldName);
} }
@ -86,28 +78,6 @@ public class Query {
return date; return date;
} }
protected void appendValue(Serializable serializable) {
if(serializable instanceof Number) {
stringBuffer.append(serializable.toString());
return;
}
if(serializable instanceof Calendar) {
Calendar calendar = (Calendar) serializable;
appendString(getFormattedDate(calendar));
return;
}
if(serializable instanceof Enum) {
Enum<?> e = (Enum<?>) serializable;
appendString(e.name());
return;
}
// String, URI etc
appendString(serializable.toString());
}
protected void addFilters() { protected void addFilters() {
if(filters!=null && filters.size()>0) { if(filters!=null && filters.size()>0) {
// The first filter if the time_bucket // The first filter if the time_bucket