Class AccountingPersistenceQueryPostgreSQL
java.lang.Object
org.gcube.accounting.analytics.persistence.postgresql.AccountingPersistenceQueryPostgreSQL
- All Implemented Interfaces:
org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery
public class AccountingPersistenceQueryPostgreSQL
extends Object
implements org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery
- Author:
- Luca Frosini (ISTI - CNR)
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> protected org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryConfigurationstatic final intprotected Collection<org.gcube.accounting.analytics.Filter>protected static final org.slf4j.Loggerprotected org.gcube.com.fasterxml.jackson.databind.ObjectMapperprotected org.gcube.accounting.utility.postgresql.RecordToDBMappingprotected org.gcube.accounting.analytics.TemporalConstraintstatic final StringFields inherited from interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery
KEY_VALUES_LIMIT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddProperty(org.gcube.com.fasterxml.jackson.databind.node.ObjectNode objectNode, String key, Object value) voidclose()protected CalendargetCalendar(OffsetDateTime offsetDateTime) protected ConnectiongetConnection(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?, ?>> clz) SortedMap<org.gcube.accounting.analytics.Filter,SortedMap<Calendar, org.gcube.accounting.analytics.Info>> SortedSet<org.gcube.accounting.analytics.NumberedFilter>getFilterValues(String key) SortedSet<org.gcube.accounting.analytics.NumberedFilter>getFilterValues(String key, Integer limit) protected SortedSet<org.gcube.accounting.analytics.NumberedFilter>getNumberedValues(String key, String orderingProperty, Integer limit) org.gcube.documentstore.records.Recordorg.gcube.accounting.utility.postgresql.RecordToDBMappingSortedMap<org.gcube.accounting.analytics.Filter,SortedMap<Calendar, org.gcube.accounting.analytics.Info>> getSpaceTimeSeries(Set<String> dataTypes) getTimeSeries(Set<String> contexts) SortedMap<org.gcube.accounting.analytics.NumberedFilter,SortedMap<Calendar, org.gcube.accounting.analytics.Info>> getTopValues(String topKey, String orderingProperty, Integer limit) List<org.gcube.accounting.analytics.UsageValue>getUsageValueQuotaTotal(List<org.gcube.accounting.analytics.UsageValue> listUsage) booleanvoidprepareConnection(org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryConfiguration configuration) voidsetContexts(Set<String> contexts) voidsetFilters(Collection<? extends org.gcube.accounting.analytics.Filter> filters) voidsetRequestedRecords(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?, ?>> clz) voidsetTemporalConstraint(org.gcube.accounting.analytics.TemporalConstraint temporalConstraint)
-
Field Details
-
logger
protected static final org.slf4j.Logger logger -
URL_PROPERTY_KEY
- See Also:
-
DEFAULT_TOP_LIMIT
public static final int DEFAULT_TOP_LIMIT- See Also:
-
configuration
protected org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryConfiguration configuration -
objectMapper
protected org.gcube.com.fasterxml.jackson.databind.ObjectMapper objectMapper -
clz
-
temporalConstraint
protected org.gcube.accounting.analytics.TemporalConstraint temporalConstraint -
contexts
-
filters
-
recordToDBMapping
protected org.gcube.accounting.utility.postgresql.RecordToDBMapping recordToDBMapping
-
-
Constructor Details
-
AccountingPersistenceQueryPostgreSQL
public AccountingPersistenceQueryPostgreSQL()
-
-
Method Details
-
prepareConnection
public void prepareConnection(org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryConfiguration configuration) throws Exception - Specified by:
prepareConnectionin interfaceorg.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery- Throws:
Exception
-
getConnection
protected Connection getConnection(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?, ?>> clz) throws Exception- Throws:
Exception
-
setRequestedRecords
public void setRequestedRecords(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?, ?>> clz) - Specified by:
setRequestedRecordsin interfaceorg.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery
-
setTemporalConstraint
public void setTemporalConstraint(org.gcube.accounting.analytics.TemporalConstraint temporalConstraint) - Specified by:
setTemporalConstraintin interfaceorg.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery
-
setContexts
- Specified by:
setContextsin interfaceorg.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery
-
setFilters
- Specified by:
setFiltersin interfaceorg.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery
-
getRecordToDBMapping
public org.gcube.accounting.utility.postgresql.RecordToDBMapping getRecordToDBMapping() -
addProperty
-
getTimeSeries
protected SortedMap<Calendar,org.gcube.accounting.analytics.Info> getTimeSeries(Set<String> contexts) throws Exception - Throws:
Exception
-
getTimeSeries
- Specified by:
getTimeSeriesin interfaceorg.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery- Throws:
Exception
-
getCalendar
-
getContextTimeSeries
public SortedMap<org.gcube.accounting.analytics.Filter,SortedMap<Calendar, getContextTimeSeries() throws Exceptionorg.gcube.accounting.analytics.Info>> - Specified by:
getContextTimeSeriesin interfaceorg.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery- Throws:
Exception
-
getNumberedValues
protected SortedSet<org.gcube.accounting.analytics.NumberedFilter> getNumberedValues(String key, String orderingProperty, Integer limit) throws Exception - Throws:
Exception
-
getFilterValues
public SortedSet<org.gcube.accounting.analytics.NumberedFilter> getFilterValues(String key) throws Exception - Specified by:
getFilterValuesin interfaceorg.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery- Throws:
Exception
-
getFilterValues
public SortedSet<org.gcube.accounting.analytics.NumberedFilter> getFilterValues(String key, Integer limit) throws Exception - Specified by:
getFilterValuesin interfaceorg.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery- Throws:
Exception
-
getTopValues
public SortedMap<org.gcube.accounting.analytics.NumberedFilter,SortedMap<Calendar, getTopValuesorg.gcube.accounting.analytics.Info>> (String topKey, String orderingProperty, Integer limit) throws Exception - Specified by:
getTopValuesin interfaceorg.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery- Throws:
Exception
-
getRecord
public org.gcube.documentstore.records.Record getRecord(String recordId, String type) throws Exception - Specified by:
getRecordin interfaceorg.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery- Throws:
Exception
-
getSpaceTimeSeries
public SortedMap<org.gcube.accounting.analytics.Filter,SortedMap<Calendar, getSpaceTimeSeriesorg.gcube.accounting.analytics.Info>> (Set<String> dataTypes) throws Exception - Specified by:
getSpaceTimeSeriesin interfaceorg.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery- Throws:
Exception
-
getUsageValueQuotaTotal
public List<org.gcube.accounting.analytics.UsageValue> getUsageValueQuotaTotal(List<org.gcube.accounting.analytics.UsageValue> listUsage) throws Exception - Specified by:
getUsageValueQuotaTotalin interfaceorg.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery- Throws:
Exception
-
close
- Specified by:
closein interfaceorg.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery- Throws:
Exception
-
isConnectionActive
- Specified by:
isConnectionActivein interfaceorg.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery- Throws:
Exception
-