public class AccountingPersistenceQueryCouchDB extends Object implements org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery
| Modifier and Type | Field and Description |
|---|---|
protected org.ektorp.CouchDbConnector |
couchDbConnector |
protected org.ektorp.CouchDbInstance |
couchDbInstance |
static String |
DB_NAME |
protected static org.gcube.accounting.analytics.Filter |
FAKE_FILTER |
protected static String |
FAKE_KEY |
protected static String |
FAKE_VALUE |
protected static String |
KEYS_SEPARATOR
Used in the name of map reduce to separate keys used as filter
|
protected static String |
MAP_REDUCE__DESIGN |
protected static String |
MAP_REDUCE_ALL |
static int |
MAX_COMBINATION_KEYS |
static String |
PASSWORD_PROPERTY_KEY |
static String |
URL_PROPERTY_KEY |
static String |
USERNAME_PROPERTY_KEY |
| Constructor and Description |
|---|
AccountingPersistenceQueryCouchDB() |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
protected Calendar |
getCalendarFromArray(org.json.JSONArray array) |
SortedMap<org.gcube.accounting.analytics.Filter,SortedMap<Calendar,org.gcube.accounting.analytics.Info>> |
getContextTimeSeries(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> clz,
org.gcube.accounting.analytics.TemporalConstraint temporalConstraint,
List<org.gcube.accounting.analytics.Filter> filters,
List<String> contexts) |
protected String |
getDesignDocId(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> recordClass) |
SortedSet<org.gcube.accounting.analytics.NumberedFilter> |
getFilterValues(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> clz,
org.gcube.accounting.analytics.TemporalConstraint temporalConstraint,
List<org.gcube.accounting.analytics.Filter> filters,
String key) |
SortedSet<org.gcube.accounting.analytics.NumberedFilter> |
getFilterValues(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> clz,
org.gcube.accounting.analytics.TemporalConstraint temporalConstraint,
List<org.gcube.accounting.analytics.Filter> filters,
String key,
Integer limit) |
static String |
getMapReduceFunctionName(Collection<String> collection) |
SortedSet<org.gcube.accounting.analytics.NumberedFilter> |
getNextPossibleValues(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> aggregatedRecordClass,
org.gcube.accounting.analytics.TemporalConstraint temporalConstraint,
List<org.gcube.accounting.analytics.Filter> filters,
String key,
String orderingProperty) |
SortedSet<org.gcube.accounting.analytics.NumberedFilter> |
getNextPossibleValuesWithMap(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> clz,
org.gcube.accounting.analytics.TemporalConstraint temporalConstraint,
List<org.gcube.accounting.analytics.Filter> filters,
String key,
String orderingProperty) |
SortedMap<Calendar,org.gcube.accounting.analytics.Info> |
getNoContextTimeSeries(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> clz,
org.gcube.accounting.analytics.TemporalConstraint temporalConstraint,
List<org.gcube.accounting.analytics.Filter> filters) |
protected org.json.JSONObject |
getObjectByID(String id) |
protected org.codehaus.jackson.node.ArrayNode |
getRangeKey(long time,
org.gcube.accounting.analytics.TemporalConstraint.AggregationMode aggregationMode,
boolean wildCard,
boolean endKey) |
String |
getRecord(String recordId,
String type) |
SortedSet<String> |
getSpaceProvidersIds() |
SortedMap<org.gcube.accounting.analytics.Filter,SortedMap<Calendar,Long>> |
getSpaceTimeSeries(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> clz,
org.gcube.accounting.analytics.TemporalConstraint temporalConstraint,
List<org.gcube.accounting.analytics.Filter> filters,
List<String> providersId) |
SortedMap<Calendar,org.gcube.accounting.analytics.Info> |
getTimeSeries(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> aggregatedRecordClass,
org.gcube.accounting.analytics.TemporalConstraint temporalConstraint,
List<org.gcube.accounting.analytics.Filter> filters) |
SortedMap<org.gcube.accounting.analytics.NumberedFilter,SortedMap<Calendar,org.gcube.accounting.analytics.Info>> |
getTopValues(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> aggregatedRecordClass,
org.gcube.accounting.analytics.TemporalConstraint temporalConstraint,
List<org.gcube.accounting.analytics.Filter> filters,
String topKey,
String orderingProperty) |
org.json.JSONObject |
getUsageValue(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> clz,
org.gcube.accounting.analytics.TemporalConstraint temporalConstraint,
org.gcube.accounting.analytics.Filter applicant) |
List<org.gcube.accounting.analytics.UsageValue> |
getUsageValueQuotaTotal(List<org.gcube.accounting.analytics.UsageValue> listUsage) |
protected org.ektorp.http.HttpClient |
initHttpClient(URL url,
String username,
String password) |
boolean |
isConnectionActive() |
void |
prepareConnection(org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryConfiguration configuration) |
protected Map<org.gcube.accounting.analytics.Filter,SortedMap<Calendar,org.gcube.accounting.analytics.Info>> |
query(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> clz,
org.gcube.accounting.analytics.TemporalConstraint temporalConstraint,
List<org.gcube.accounting.analytics.Filter> filters,
String topKey) |
protected org.ektorp.ViewResult |
query(org.ektorp.ViewQuery query) |
protected org.ektorp.CouchDbInstance couchDbInstance
protected org.ektorp.CouchDbConnector couchDbConnector
public static final String URL_PROPERTY_KEY
public static final String USERNAME_PROPERTY_KEY
public static final String PASSWORD_PROPERTY_KEY
public static final String DB_NAME
protected static final String MAP_REDUCE__DESIGN
protected static final String MAP_REDUCE_ALL
protected static final String KEYS_SEPARATOR
public static final int MAX_COMBINATION_KEYS
protected static final String FAKE_KEY
protected static final String FAKE_VALUE
protected static final org.gcube.accounting.analytics.Filter FAKE_FILTER
protected org.ektorp.http.HttpClient initHttpClient(URL url, String username, String password)
protected org.ektorp.ViewResult query(org.ektorp.ViewQuery query)
protected org.json.JSONObject getObjectByID(String id) throws Exception
Exceptionpublic void close()
throws Exception
close in interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryExceptionpublic void prepareConnection(org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryConfiguration configuration)
throws Exception
prepareConnection in interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryExceptionprotected Calendar getCalendarFromArray(org.json.JSONArray array) throws org.json.JSONException
org.json.JSONExceptionprotected org.codehaus.jackson.node.ArrayNode getRangeKey(long time,
org.gcube.accounting.analytics.TemporalConstraint.AggregationMode aggregationMode,
boolean wildCard,
boolean endKey)
throws org.json.JSONException
org.json.JSONExceptionprotected String getDesignDocId(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> recordClass) throws InstantiationException, IllegalAccessException
public static String getMapReduceFunctionName(Collection<String> collection)
protected Map<org.gcube.accounting.analytics.Filter,SortedMap<Calendar,org.gcube.accounting.analytics.Info>> query(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> clz, org.gcube.accounting.analytics.TemporalConstraint temporalConstraint, List<org.gcube.accounting.analytics.Filter> filters, String topKey) throws Exception
Exceptionpublic SortedMap<Calendar,org.gcube.accounting.analytics.Info> getTimeSeries(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> aggregatedRecordClass, org.gcube.accounting.analytics.TemporalConstraint temporalConstraint, List<org.gcube.accounting.analytics.Filter> filters) throws Exception
getTimeSeries in interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryExceptionpublic SortedMap<org.gcube.accounting.analytics.NumberedFilter,SortedMap<Calendar,org.gcube.accounting.analytics.Info>> getTopValues(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> aggregatedRecordClass, org.gcube.accounting.analytics.TemporalConstraint temporalConstraint, List<org.gcube.accounting.analytics.Filter> filters, String topKey, String orderingProperty) throws Exception
getTopValues in interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryExceptionpublic SortedSet<org.gcube.accounting.analytics.NumberedFilter> getNextPossibleValues(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> aggregatedRecordClass, org.gcube.accounting.analytics.TemporalConstraint temporalConstraint, List<org.gcube.accounting.analytics.Filter> filters, String key, String orderingProperty) throws Exception
getNextPossibleValues in interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryExceptionpublic SortedMap<Calendar,org.gcube.accounting.analytics.Info> getNoContextTimeSeries(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> clz, org.gcube.accounting.analytics.TemporalConstraint temporalConstraint, List<org.gcube.accounting.analytics.Filter> filters) throws org.gcube.accounting.analytics.exception.DuplicatedKeyFilterException, org.gcube.accounting.analytics.exception.KeyException, org.gcube.accounting.analytics.exception.ValueException, Exception
getNoContextTimeSeries in interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryorg.gcube.accounting.analytics.exception.DuplicatedKeyFilterExceptionorg.gcube.accounting.analytics.exception.KeyExceptionorg.gcube.accounting.analytics.exception.ValueExceptionExceptionpublic SortedSet<org.gcube.accounting.analytics.NumberedFilter> getNextPossibleValuesWithMap(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> clz, org.gcube.accounting.analytics.TemporalConstraint temporalConstraint, List<org.gcube.accounting.analytics.Filter> filters, String key, String orderingProperty) throws Exception
getNextPossibleValuesWithMap in interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryExceptionpublic SortedSet<org.gcube.accounting.analytics.NumberedFilter> getFilterValues(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> clz, org.gcube.accounting.analytics.TemporalConstraint temporalConstraint, List<org.gcube.accounting.analytics.Filter> filters, String key) throws Exception
getFilterValues in interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryExceptionpublic org.json.JSONObject getUsageValue(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> clz, org.gcube.accounting.analytics.TemporalConstraint temporalConstraint, org.gcube.accounting.analytics.Filter applicant) throws Exception
getUsageValue in interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryExceptionpublic List<org.gcube.accounting.analytics.UsageValue> getUsageValueQuotaTotal(List<org.gcube.accounting.analytics.UsageValue> listUsage) throws Exception
getUsageValueQuotaTotal in interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryExceptionpublic SortedMap<org.gcube.accounting.analytics.Filter,SortedMap<Calendar,org.gcube.accounting.analytics.Info>> getContextTimeSeries(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> clz, org.gcube.accounting.analytics.TemporalConstraint temporalConstraint, List<org.gcube.accounting.analytics.Filter> filters, List<String> contexts) throws Exception
getContextTimeSeries in interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryExceptionpublic String getRecord(String recordId, String type) throws Exception
getRecord in interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryExceptionpublic SortedSet<String> getSpaceProvidersIds() throws Exception
getSpaceProvidersIds in interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryExceptionpublic SortedMap<org.gcube.accounting.analytics.Filter,SortedMap<Calendar,Long>> getSpaceTimeSeries(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> clz, org.gcube.accounting.analytics.TemporalConstraint temporalConstraint, List<org.gcube.accounting.analytics.Filter> filters, List<String> providersId) throws Exception
getSpaceTimeSeries in interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryExceptionpublic boolean isConnectionActive()
throws Exception
isConnectionActive in interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryExceptionpublic SortedSet<org.gcube.accounting.analytics.NumberedFilter> getFilterValues(Class<? extends org.gcube.documentstore.records.AggregatedRecord<?,?>> clz, org.gcube.accounting.analytics.TemporalConstraint temporalConstraint, List<org.gcube.accounting.analytics.Filter> filters, String key, Integer limit) throws Exception
getFilterValues in interface org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryExceptionCopyright © 2019. All Rights Reserved.