This commit is contained in:
Alessandro Pieve 2016-11-15 10:21:51 +00:00
parent 4f90c54f62
commit ece86afce3
7 changed files with 197 additions and 73 deletions

View File

@ -5,27 +5,27 @@ import java.util.List;
* @author Alessandro Pieve (ISTI - CNR) alessandro.pieve@isti.cnr.it * @author Alessandro Pieve (ISTI - CNR) alessandro.pieve@isti.cnr.it
* *
*/ */
public class Filters { public class FiltersValue {
protected List<Filter> filters; protected List<Filter> filters;
protected Double d; protected Double d;
protected String orderingProperty; protected String orderingProperty;
public Filters(){} public FiltersValue(){}
public Filters(List<Filter> filters, Number n, String orderingProperty) { public FiltersValue(List<Filter> filters, Number n, String orderingProperty) {
super(); super();
this.filters=filters; this.filters=filters;
this.d = n.doubleValue(); this.d = n.doubleValue();
this.orderingProperty = orderingProperty; this.orderingProperty = orderingProperty;
} }
public List<Filter> getFilters() { public List<Filter> getFiltersValue() {
return filters; return filters;
} }
public void setFilters(List<Filter> filters) { public void setFiltersValue(List<Filter> filters) {
this.filters = filters; this.filters = filters;
} }
@ -65,7 +65,7 @@ public class Filters {
return false; return false;
if (getClass() != obj.getClass()) if (getClass() != obj.getClass())
return false; return false;
Filters other = (Filters) obj; FiltersValue other = (FiltersValue) obj;
if (d == null) { if (d == null) {
if (other.d != null) if (other.d != null)
return false; return false;
@ -86,8 +86,10 @@ public class Filters {
@Override @Override
public String toString() { public String toString() {
return "Filters [filters=" + filters + ", d=" + d return "FiltersValue [filters=" + filters + ", d=" + d
+ ", orderingProperty=" + orderingProperty + "]"; + ", orderingProperty=" + orderingProperty + "]";
} }
} }

View File

@ -13,16 +13,13 @@ import java.util.SortedSet;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.TreeSet; import java.util.TreeSet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* @author Luca Frosini (ISTI - CNR) * @author Luca Frosini (ISTI - CNR)
* *
*/ */
public class TemporalConstraint { public class TemporalConstraint {
private static final Logger logger = LoggerFactory.getLogger(TemporalConstraint.class);
private static final String UTC_TIME_ZONE = "UTC"; private static final String UTC_TIME_ZONE = "UTC";

View File

@ -0,0 +1,98 @@
package org.gcube.accounting.analytics;
import java.util.List;
import org.gcube.accounting.datamodel.AggregatedUsageRecord;
public class UsageServiceValue extends UsageValue {
protected Class<? extends AggregatedUsageRecord<?, ?>> clz;
protected TemporalConstraint temporalConstraint;
protected List<FiltersValue> filtersValue;
protected String identifier;
protected Double d;
protected String orderingProperty;
public String getIdentifier() {
return identifier;
}
public void setIdentifier(String identifier) {
this.identifier = identifier;
}
public Double getD() {
return d;
}
public void setD(Double d) {
this.d = d;
}
public TemporalConstraint getTemporalConstraint() {
if (temporalConstraint!=null)
return temporalConstraint;
else
return null;
}
public String getOrderingProperty() {
return orderingProperty;
}
public void setOrderingProperty(String orderingProperty) {
this.orderingProperty = orderingProperty;
}
public void setTemporalConstraint(TemporalConstraint temporalConstraint) {
this.temporalConstraint = temporalConstraint;
}
public Class<? extends AggregatedUsageRecord<?, ?>> getClz() {
return clz;
}
public void setClz(String context,Class<? extends AggregatedUsageRecord<?, ?>> clz) {
this.clz = clz;
}
public UsageServiceValue(){}
public UsageServiceValue(String context,String identifier,Class<? extends AggregatedUsageRecord<?, ?>> clz,TemporalConstraint temporalConstraint,List<FiltersValue> filtersValue){
super();
this.context=context;
this.filtersValue=filtersValue;
this.clz=clz;
this.temporalConstraint=temporalConstraint;
this.identifier=identifier;
}
public List<FiltersValue> getFiltersValue() {
return filtersValue;
}
public void setFiltersValue(List<FiltersValue> filtersValue) {
this.filtersValue = filtersValue;
}
@Override
public String getContext() {
return this.context;
}
@Override
public void setContext(String context) {
this.context=context;
}
@Override
public String toString() {
return "UsageServiceValue [clz=" + clz + ", temporalConstraint="
+ temporalConstraint + ", filtersValue=" + filtersValue
+ ", identifier=" + identifier + ", d=" + d
+ ", orderingProperty=" + orderingProperty + ", context="
+ context + "]";
}
}

View File

@ -1,28 +1,40 @@
package org.gcube.accounting.analytics; package org.gcube.accounting.analytics;
import java.util.List;
import org.gcube.accounting.datamodel.AggregatedUsageRecord; import org.gcube.accounting.datamodel.AggregatedUsageRecord;
/**
* Object for calculate quota
*
*
* @author pieve
*
*/
public class TotalFilters {
protected Class<? extends AggregatedUsageRecord<?, ?>> clz;
protected TemporalConstraint temporalConstraint;
protected List<Filters> totalFilters;
public class UsageStorageValue extends UsageValue {
protected Class<? extends AggregatedUsageRecord<?, ?>> clz;
protected TemporalConstraint temporalConstraint;
protected String identifier; protected String identifier;
protected Double d; protected Double d;
protected String orderingProperty; protected String orderingProperty;
public String getIdentifier() {
return identifier;
}
public void setIdentifier(String identifier) {
this.identifier = identifier;
}
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;
}
public TemporalConstraint getTemporalConstraint() { public TemporalConstraint getTemporalConstraint() {
return temporalConstraint; if (temporalConstraint!=null)
return temporalConstraint;
else
return null;
} }
public void setTemporalConstraint(TemporalConstraint temporalConstraint) { public void setTemporalConstraint(TemporalConstraint temporalConstraint) {
@ -37,58 +49,42 @@ public class TotalFilters {
this.clz = clz; this.clz = clz;
} }
public TotalFilters(){} public UsageStorageValue(){}
public TotalFilters(String identifier,Class<? extends AggregatedUsageRecord<?, ?>> clz,TemporalConstraint temporalConstraint,List<Filters> totalFilters){
public UsageStorageValue(String context,String identifier,Class<? extends AggregatedUsageRecord<?, ?>> clz){
super(); super();
this.totalFilters=totalFilters; this.context=context;
this.clz=clz; this.clz=clz;
this.temporalConstraint=temporalConstraint;
this.identifier=identifier; this.identifier=identifier;
} }
public List<Filters> getTotalFilters() { public UsageStorageValue(String context,String identifier,Class<? extends AggregatedUsageRecord<?, ?>> clz,TemporalConstraint temporalConstraint){
return totalFilters; super();
this.context=context;
this.identifier=identifier;
this.clz=clz;
this.temporalConstraint=temporalConstraint;
} }
@Override
public void setTotalFilters(List<Filters> totalFilters) { public String getContext() {
this.totalFilters = totalFilters; return this.context;
} }
@Override
public void setContext(String context) {
public String getIdentifier() { this.context=context;
return identifier;
} }
public void setIdentifier(String identifier) {
this.identifier = identifier;
}
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 @Override
public String toString() { public String toString() {
return "TotalFilters [clz=" + clz + ", temporalConstraint=" return "UsageStorageValue [clz=" + clz + ", temporalConstraint="
+ temporalConstraint + ", totalFilters=" + totalFilters + temporalConstraint + ", identifier=" + identifier + ", d="
+ ", identifier=" + identifier + ", d=" + d + d + ", orderingProperty=" + orderingProperty
+ ", orderingProperty=" + orderingProperty + "]"; + ", context=" + context
+ "]";
} }
} }

View File

@ -0,0 +1,33 @@
package org.gcube.accounting.analytics;
import org.gcube.accounting.datamodel.AggregatedUsageRecord;
/**
* Object for calculate quota
*
*
* @author pieve
*
*/
public abstract class UsageValue {
protected Class<? extends AggregatedUsageRecord<?, ?>> clz;
protected TemporalConstraint temporalConstraint;
//protected List<FiltersValue> filtersValue;
protected String identifier;
protected Double d;
protected String orderingProperty;
protected String context;
public UsageValue(){}
public abstract Class<? extends AggregatedUsageRecord<?, ?>> getClz();
public abstract String getIdentifier();
public abstract Double getD();
public abstract String getOrderingProperty();
public abstract TemporalConstraint getTemporalConstraint();
public abstract String getContext();
public abstract void setOrderingProperty(String orderingProperty);
public abstract void setD(Double d);
public abstract void setContext(String context);
}

View File

@ -9,11 +9,10 @@ import java.util.SortedMap;
import java.util.SortedSet; import java.util.SortedSet;
import org.gcube.accounting.analytics.Filter; import org.gcube.accounting.analytics.Filter;
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.UsageValue;
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;
@ -235,8 +234,8 @@ public interface AccountingPersistenceBackendQuery {
* @return * @return
* @throws Exception * @throws Exception
*/ */
public List<TotalFilters> getUsageValueQuotaTotal( public List<UsageValue> getUsageValueQuotaTotal(
List<TotalFilters> listUsage) List<UsageValue> listUsage)
throws Exception; throws Exception;

View File

@ -15,11 +15,10 @@ import java.util.TreeMap;
import javax.activity.InvalidActivityException; import javax.activity.InvalidActivityException;
import org.gcube.accounting.analytics.Filter; import org.gcube.accounting.analytics.Filter;
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.UsageValue;
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;
@ -288,7 +287,7 @@ public class AccountingPersistenceQuery implements AccountingPersistenceBackendQ
@Override @Override
public List<TotalFilters> getUsageValueQuotaTotal( List<TotalFilters> listUsage) public List<UsageValue> getUsageValueQuotaTotal( List<UsageValue> listUsage)
throws Exception { throws Exception {
return AccountingPersistenceBackendQueryFactory.getInstance() return AccountingPersistenceBackendQueryFactory.getInstance()