Add new method for NoContext Menu
Change Usage Value with List filter git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/accounting/accounting-analytics@142145 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
2e637013b6
commit
073e303b4c
|
@ -9,7 +9,11 @@ public class UsageServiceValue extends UsageValue {
|
||||||
|
|
||||||
protected Class<? extends AggregatedUsageRecord<?, ?>> clz;
|
protected Class<? extends AggregatedUsageRecord<?, ?>> clz;
|
||||||
protected TemporalConstraint temporalConstraint;
|
protected TemporalConstraint temporalConstraint;
|
||||||
protected List<FiltersValue> filtersValue;
|
|
||||||
|
//USED for a list service for each identifier (package service )
|
||||||
|
//protected List<FiltersValue> filtersValue;
|
||||||
|
|
||||||
|
protected List<Filter> filters;
|
||||||
protected String identifier;
|
protected String identifier;
|
||||||
protected Double d;
|
protected Double d;
|
||||||
protected String orderingProperty;
|
protected String orderingProperty;
|
||||||
|
@ -57,22 +61,21 @@ public class UsageServiceValue extends UsageValue {
|
||||||
|
|
||||||
public UsageServiceValue(){}
|
public UsageServiceValue(){}
|
||||||
|
|
||||||
public UsageServiceValue(String context,String identifier,Class<? extends AggregatedUsageRecord<?, ?>> clz,TemporalConstraint temporalConstraint,List<FiltersValue> filtersValue){
|
public UsageServiceValue(String context,String identifier,Class<? extends AggregatedUsageRecord<?, ?>> clz,TemporalConstraint temporalConstraint,List<Filter> filters){
|
||||||
super();
|
super();
|
||||||
this.context=context;
|
this.context=context;
|
||||||
this.filtersValue=filtersValue;
|
this.filters=filters;
|
||||||
this.clz=clz;
|
this.clz=clz;
|
||||||
this.temporalConstraint=temporalConstraint;
|
this.temporalConstraint=temporalConstraint;
|
||||||
this.identifier=identifier;
|
this.identifier=identifier;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<FiltersValue> getFiltersValue() {
|
public List<Filter> getFilters() {
|
||||||
return filtersValue;
|
return filters;
|
||||||
}
|
}
|
||||||
|
public void setFilters(List<Filter> filters) {
|
||||||
public void setFiltersValue(List<FiltersValue> filtersValue) {
|
this.filters = filters;
|
||||||
this.filtersValue = filtersValue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -87,12 +90,11 @@ public class UsageServiceValue extends UsageValue {
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "UsageServiceValue [clz=" + clz + ", temporalConstraint="
|
return "UsageServiceValue [clz=" + clz + ", temporalConstraint="
|
||||||
+ temporalConstraint + ", filtersValue=" + filtersValue
|
+ temporalConstraint + ", filters=" + filters + ", identifier="
|
||||||
+ ", identifier=" + identifier + ", d=" + d
|
+ identifier + ", d=" + d + ", orderingProperty="
|
||||||
+ ", orderingProperty=" + orderingProperty + ", context="
|
+ orderingProperty + "]";
|
||||||
+ context + "]";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,6 +61,35 @@ public interface AccountingPersistenceBackendQuery {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Query the persistence obtaining a Map where the date is the key and the
|
||||||
|
* #Info is the value. The result is relative to an Usage Record Type,
|
||||||
|
* respect a TemporalConstraint and can be applied one or more filters.
|
||||||
|
* Used for no context call
|
||||||
|
*
|
||||||
|
* @param clz
|
||||||
|
* the Record Class of interest
|
||||||
|
* @param temporalConstraint
|
||||||
|
* the TemporalConstraint (interval and aggregation)
|
||||||
|
* @param filters
|
||||||
|
* list of filter to obtain the time series. If null or empty
|
||||||
|
* list get all data for the interested Record Class with the
|
||||||
|
* applying temporal constraint. All Filter must have not null
|
||||||
|
* and not empty key and value. The filters are must be related
|
||||||
|
* to different keys and are in AND. If the list contains more
|
||||||
|
* than one filter with the same key an Exception is thrown.
|
||||||
|
* @return the Map containing for each date in the required interval the
|
||||||
|
* requested data
|
||||||
|
* @throws DuplicatedKeyFilterException
|
||||||
|
* @throws KeyException
|
||||||
|
* @throws ValueException
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public SortedMap<Calendar, Info> getNoContextTimeSeries(
|
||||||
|
Class<? extends AggregatedRecord<?, ?>> clz,
|
||||||
|
TemporalConstraint temporalConstraint, List<Filter> filters)
|
||||||
|
throws DuplicatedKeyFilterException, KeyException, ValueException,
|
||||||
|
Exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a SortedMap containing the TimeSeries for top values for a certain
|
* Return a SortedMap containing the TimeSeries for top values for a certain
|
||||||
|
@ -270,5 +299,5 @@ public interface AccountingPersistenceBackendQuery {
|
||||||
throws Exception;
|
throws Exception;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,6 +149,42 @@ public class AccountingPersistenceQuery implements AccountingPersistenceBackendQ
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public SortedMap<Calendar, Info> getNoContextTimeSeries(
|
||||||
|
Class<? extends AggregatedRecord<?,?>> clz,
|
||||||
|
TemporalConstraint temporalConstraint, List<Filter> filters)
|
||||||
|
throws DuplicatedKeyFilterException, KeyException, ValueException,
|
||||||
|
Exception {
|
||||||
|
|
||||||
|
return this.getNoContextTimeSeries(clz, temporalConstraint, filters, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public SortedMap<Calendar, Info> getNoContextTimeSeries(
|
||||||
|
Class<? extends AggregatedRecord<?,?>> clz,
|
||||||
|
TemporalConstraint temporalConstraint, List<Filter> filters,
|
||||||
|
boolean pad) throws DuplicatedKeyFilterException, KeyException,
|
||||||
|
ValueException, Exception {
|
||||||
|
SortedMap<Calendar, Info> ret =
|
||||||
|
AccountingPersistenceBackendQueryFactory.getInstance()
|
||||||
|
.getNoContextTimeSeries(clz, temporalConstraint,
|
||||||
|
filters);
|
||||||
|
|
||||||
|
if(ret==null){
|
||||||
|
ret = new TreeMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(pad){
|
||||||
|
ret = padMap(ret, temporalConstraint);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public SortedMap<NumberedFilter, SortedMap<Calendar, Info>> getTopValues(
|
public SortedMap<NumberedFilter, SortedMap<Calendar, Info>> getTopValues(
|
||||||
Class<? extends AggregatedRecord<?, ?>> clz,
|
Class<? extends AggregatedRecord<?, ?>> clz,
|
||||||
|
@ -348,6 +384,8 @@ public class AccountingPersistenceQuery implements AccountingPersistenceBackendQ
|
||||||
}
|
}
|
||||||
return got;
|
return got;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue