git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/accounting/accounting-analytics@133189 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
477110f05b
commit
c0ca3f0b63
|
@ -0,0 +1,48 @@
|
||||||
|
package org.gcube.accounting.analytics;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class TotalFilters {
|
||||||
|
protected List<Filters> totalFilters;
|
||||||
|
protected Double d;
|
||||||
|
protected String orderingProperty;
|
||||||
|
public TotalFilters(){}
|
||||||
|
|
||||||
|
public TotalFilters(List<Filters> totalFilters, Number n, String orderingProperty) {
|
||||||
|
super();
|
||||||
|
this.totalFilters=totalFilters;
|
||||||
|
this.d = n.doubleValue();
|
||||||
|
this.orderingProperty = orderingProperty;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public List<Filters> getTotalFilters() {
|
||||||
|
return totalFilters;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTotalFilters(List<Filters> totalFilters) {
|
||||||
|
this.totalFilters = totalFilters;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getD() {
|
||||||
|
return d;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setD(Double d) {
|
||||||
|
this.d = d;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOrderingProperty() {
|
||||||
|
return orderingProperty;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrderingProperty(String orderingProperty) {
|
||||||
|
this.orderingProperty = orderingProperty;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "TotalFilters [totalFilters=" + totalFilters + ", d=" + d
|
||||||
|
+ ", orderingProperty=" + orderingProperty + "]";
|
||||||
|
}
|
||||||
|
}
|
|
@ -3,7 +3,6 @@
|
||||||
*/
|
*/
|
||||||
package org.gcube.accounting.analytics.persistence;
|
package org.gcube.accounting.analytics.persistence;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.SortedMap;
|
import java.util.SortedMap;
|
||||||
|
@ -14,6 +13,7 @@ import org.gcube.accounting.analytics.Filters;
|
||||||
import org.gcube.accounting.analytics.Info;
|
import org.gcube.accounting.analytics.Info;
|
||||||
import org.gcube.accounting.analytics.NumberedFilter;
|
import org.gcube.accounting.analytics.NumberedFilter;
|
||||||
import org.gcube.accounting.analytics.TemporalConstraint;
|
import org.gcube.accounting.analytics.TemporalConstraint;
|
||||||
|
import org.gcube.accounting.analytics.TotalFilters;
|
||||||
import org.gcube.accounting.analytics.exception.DuplicatedKeyFilterException;
|
import org.gcube.accounting.analytics.exception.DuplicatedKeyFilterException;
|
||||||
import org.gcube.accounting.analytics.exception.KeyException;
|
import org.gcube.accounting.analytics.exception.KeyException;
|
||||||
import org.gcube.accounting.analytics.exception.ValueException;
|
import org.gcube.accounting.analytics.exception.ValueException;
|
||||||
|
@ -168,10 +168,8 @@ public interface AccountingPersistenceBackendQuery {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a JsonObject with value
|
* in:[{ "consumerId" : "alessandro.pieve" }, { "serviceClass" : "DataAccess" }, { "serviceName" : "CkanConnector" }], d=null, orderingProperty=null]
|
||||||
* e.g.for StorageUsageRecord {Storage:["dataVolume":1860328,"operationCount":4115]}
|
* out:[{ "consumerId" : "alessandro.pieve" }, { "serviceClass" : "DataAccess" }, { "serviceName" : "CkanConnector" }], d=88.0, orderingProperty=operationCount]
|
||||||
* e.g. for ServiceUsageRcord {NameService1:["operationCount":1651624],NameService2:["operationCount":1651624],}
|
|
||||||
* e.g. for TaskUsageRcord {NameTask1:["operationCount":1651624],NameTask1:["operationCount":1651624],}
|
|
||||||
* @param clz
|
* @param clz
|
||||||
* the Usage Record Class of interest
|
* the Usage Record Class of interest
|
||||||
* @param temporalConstraint
|
* @param temporalConstraint
|
||||||
|
@ -188,6 +186,20 @@ public interface AccountingPersistenceBackendQuery {
|
||||||
List<Filters> filterPackageQuota) throws Exception;
|
List<Filters> filterPackageQuota) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param clz
|
||||||
|
* @param temporalConstraint
|
||||||
|
* @param listUsage
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public List<TotalFilters> getUsageValueQuotaTotal(
|
||||||
|
Class<? extends AggregatedRecord<?, ?>> clz,
|
||||||
|
TemporalConstraint temporalConstraint, List<TotalFilters> listUsage)
|
||||||
|
throws Exception;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ import org.gcube.accounting.analytics.Filters;
|
||||||
import org.gcube.accounting.analytics.Info;
|
import org.gcube.accounting.analytics.Info;
|
||||||
import org.gcube.accounting.analytics.NumberedFilter;
|
import org.gcube.accounting.analytics.NumberedFilter;
|
||||||
import org.gcube.accounting.analytics.TemporalConstraint;
|
import org.gcube.accounting.analytics.TemporalConstraint;
|
||||||
|
import org.gcube.accounting.analytics.TotalFilters;
|
||||||
import org.gcube.accounting.analytics.exception.DuplicatedKeyFilterException;
|
import org.gcube.accounting.analytics.exception.DuplicatedKeyFilterException;
|
||||||
import org.gcube.accounting.analytics.exception.KeyException;
|
import org.gcube.accounting.analytics.exception.KeyException;
|
||||||
import org.gcube.accounting.analytics.exception.ValueException;
|
import org.gcube.accounting.analytics.exception.ValueException;
|
||||||
|
@ -291,10 +292,18 @@ public class AccountingPersistenceQuery implements AccountingPersistenceBackendQ
|
||||||
TemporalConstraint temporalConstraint, List<Filters> listUsage)
|
TemporalConstraint temporalConstraint, List<Filters> listUsage)
|
||||||
throws Exception {
|
throws Exception {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return AccountingPersistenceBackendQueryFactory.getInstance()
|
||||||
|
.getUsageValueQuota(clz, temporalConstraint, listUsage);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<TotalFilters> getUsageValueQuotaTotal(Class<? extends AggregatedRecord<?, ?>> clz,
|
||||||
|
TemporalConstraint temporalConstraint, List<TotalFilters> listUsage)
|
||||||
|
throws Exception {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return AccountingPersistenceBackendQueryFactory.getInstance()
|
||||||
|
.getUsageValueQuotaTotal(clz, temporalConstraint, listUsage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue