diff --git a/pom.xml b/pom.xml
index 961258f..bc1a2f3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
org.gcube.accounting
accounting-lib
- 1.1.0-SNAPSHOT
+ 1.1.1-SNAPSHOT
Accounting Library
Accounting Library
jar
diff --git a/src/main/java/org/gcube/accounting/aggregation/AggregatedJobUsageRecord.java b/src/main/java/org/gcube/accounting/aggregation/AggregatedJobUsageRecord.java
index 1defe1c..3497508 100644
--- a/src/main/java/org/gcube/accounting/aggregation/AggregatedJobUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/aggregation/AggregatedJobUsageRecord.java
@@ -31,7 +31,7 @@ public class AggregatedJobUsageRecord extends AbstractJobUsageRecord implements
init();
}
- public AggregatedJobUsageRecord(Map properties) throws InvalidValueException{
+ public AggregatedJobUsageRecord(Map> properties) throws InvalidValueException{
super(properties);
init();
}
diff --git a/src/main/java/org/gcube/accounting/aggregation/AggregatedPortletUsageRecord.java b/src/main/java/org/gcube/accounting/aggregation/AggregatedPortletUsageRecord.java
index 0656705..8f5c903 100644
--- a/src/main/java/org/gcube/accounting/aggregation/AggregatedPortletUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/aggregation/AggregatedPortletUsageRecord.java
@@ -32,7 +32,7 @@ public class AggregatedPortletUsageRecord extends AbstractPortletUsageRecord imp
init();
}
- public AggregatedPortletUsageRecord(Map properties) throws InvalidValueException{
+ public AggregatedPortletUsageRecord(Map> properties) throws InvalidValueException{
super(properties);
init();
}
diff --git a/src/main/java/org/gcube/accounting/aggregation/AggregatedServiceUsageRecord.java b/src/main/java/org/gcube/accounting/aggregation/AggregatedServiceUsageRecord.java
index dde19a5..101acba 100644
--- a/src/main/java/org/gcube/accounting/aggregation/AggregatedServiceUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/aggregation/AggregatedServiceUsageRecord.java
@@ -44,7 +44,7 @@ public class AggregatedServiceUsageRecord extends AbstractServiceUsageRecord imp
init();
}
- public AggregatedServiceUsageRecord(Map properties) throws InvalidValueException{
+ public AggregatedServiceUsageRecord(Map> properties) throws InvalidValueException{
super(properties);
init();
}
diff --git a/src/main/java/org/gcube/accounting/aggregation/AggregatedStorageUsageRecord.java b/src/main/java/org/gcube/accounting/aggregation/AggregatedStorageUsageRecord.java
index 746fe28..fffa230 100644
--- a/src/main/java/org/gcube/accounting/aggregation/AggregatedStorageUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/aggregation/AggregatedStorageUsageRecord.java
@@ -39,7 +39,7 @@ public class AggregatedStorageUsageRecord extends AbstractStorageUsageRecord imp
init();
}
- public AggregatedStorageUsageRecord(Map properties) throws InvalidValueException{
+ public AggregatedStorageUsageRecord(Map> properties) throws InvalidValueException{
super(properties);
init();
}
diff --git a/src/main/java/org/gcube/accounting/aggregation/AggregatedTaskUsageRecord.java b/src/main/java/org/gcube/accounting/aggregation/AggregatedTaskUsageRecord.java
index 2081398..fc71c55 100644
--- a/src/main/java/org/gcube/accounting/aggregation/AggregatedTaskUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/aggregation/AggregatedTaskUsageRecord.java
@@ -32,7 +32,7 @@ public class AggregatedTaskUsageRecord extends AbstractTaskUsageRecord implement
init();
}
- public AggregatedTaskUsageRecord(Map properties) throws InvalidValueException{
+ public AggregatedTaskUsageRecord(Map> properties) throws InvalidValueException{
super(properties);
init();
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/AggregationStrategy.java b/src/main/java/org/gcube/accounting/datamodel/AggregationStrategy.java
index b51e407..1137e08 100644
--- a/src/main/java/org/gcube/accounting/datamodel/AggregationStrategy.java
+++ b/src/main/java/org/gcube/accounting/datamodel/AggregationStrategy.java
@@ -70,8 +70,8 @@ public abstract class AggregationStrategy,
protected boolean isAggregable(UsageRecord record) {
for(String field : aggregationField){
- Serializable recordValue = record.getResourceProperty(field);
- Serializable thisValue = ((BasicUsageRecord) t).getResourceProperty(field);
+ Comparable extends Serializable> recordValue = record.getResourceProperty(field);
+ Comparable extends Serializable> thisValue = ((BasicUsageRecord) t).getResourceProperty(field);
if(!recordValue.equals(thisValue)){
return false;
diff --git a/src/main/java/org/gcube/accounting/datamodel/BasicUsageRecord.java b/src/main/java/org/gcube/accounting/datamodel/BasicUsageRecord.java
index c201aa1..8496557 100644
--- a/src/main/java/org/gcube/accounting/datamodel/BasicUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/datamodel/BasicUsageRecord.java
@@ -89,7 +89,7 @@ public abstract class BasicUsageRecord implements UsageRecord, Serializable {
/** resource-specific properties */
- protected Map resourceProperties;
+ protected Map> resourceProperties;
protected Map> validation;
protected Set requiredFields;
@@ -194,7 +194,7 @@ public abstract class BasicUsageRecord implements UsageRecord, Serializable {
this.requiredFields = new HashSet();
this.aggregatedFields = new HashSet();
this.computedFields = new HashSet();
- this.resourceProperties = new HashMap();
+ this.resourceProperties = new HashMap>();
initializeValidation();
try {
this.setScope(ScopeProvider.instance.get());
@@ -211,7 +211,7 @@ public abstract class BasicUsageRecord implements UsageRecord, Serializable {
this.resourceProperties.put(CREATION_TIME, calendar.getTimeInMillis());
}
- public BasicUsageRecord(Map properties) throws InvalidValueException {
+ public BasicUsageRecord(Map> properties) throws InvalidValueException {
init();
setResourceProperties(properties);
}
@@ -305,24 +305,24 @@ public abstract class BasicUsageRecord implements UsageRecord, Serializable {
* {@inheritDoc}
*/
@Override
- public Map getResourceProperties() {
- return new HashMap(this.resourceProperties);
+ public Map> getResourceProperties() {
+ return new HashMap>(this.resourceProperties);
}
/**
* {@inheritDoc}
*/
@Override
- public void setResourceProperties(Map properties) throws InvalidValueException {
- Map validated = validateProperties(properties);
- this.resourceProperties = new HashMap(validated);
+ public void setResourceProperties(Map> properties) throws InvalidValueException {
+ Map> validated = validateProperties(properties);
+ this.resourceProperties = new HashMap>(validated);
}
/**
* {@inheritDoc}
*/
@Override
- public Serializable getResourceProperty(String key) {
+ public Comparable extends Serializable> getResourceProperty(String key) {
return this.resourceProperties.get(key);
}
@@ -330,8 +330,8 @@ public abstract class BasicUsageRecord implements UsageRecord, Serializable {
* {@inheritDoc}
*/
@Override
- public void setResourceProperty(String key, Serializable value) throws InvalidValueException {
- Serializable checkedValue = validateField(key, value);
+ public void setResourceProperty(String key, Comparable extends Serializable> value) throws InvalidValueException {
+ Comparable extends Serializable> checkedValue = validateField(key, value);
if(checkedValue == null){
this.resourceProperties.remove(key);
}else{
@@ -405,11 +405,11 @@ public abstract class BasicUsageRecord implements UsageRecord, Serializable {
- protected Serializable validateField(String key, Serializable serializable) throws InvalidValueException {
+ protected Comparable extends Serializable> validateField(String key, Comparable extends Serializable> value) throws InvalidValueException {
if(key == null){
throw new InvalidValueException("The key of property to set cannot be null");
}
- Serializable checkedValue = serializable;
+ Comparable extends Serializable> checkedValue = value;
List fieldValidators = validation.get(key);
if(fieldValidators!=null){
for(FieldAction fieldValidator : fieldValidators){
@@ -430,11 +430,11 @@ public abstract class BasicUsageRecord implements UsageRecord, Serializable {
return checkedValue;
}
- protected Map validateProperties(Map properties) throws InvalidValueException{
- Map validated = new HashMap();
+ protected Map> validateProperties(Map> properties) throws InvalidValueException{
+ Map> validated = new HashMap>();
for(String key : properties.keySet()){
- Serializable serializable = properties.get(key);
- validated.put(key, validateField(key, serializable));
+ Comparable extends Serializable> value = properties.get(key);
+ validated.put(key, validateField(key, value));
}
return validated;
}
@@ -493,8 +493,8 @@ public abstract class BasicUsageRecord implements UsageRecord, Serializable {
*/
@Override
public int compareTo(UsageRecord usageRecord) {
- Set> thisSet = this.resourceProperties.entrySet();
- Set> usageRecordSet = usageRecord.getResourceProperties().entrySet();
+ Set>> thisSet = this.resourceProperties.entrySet();
+ Set>> usageRecordSet = usageRecord.getResourceProperties().entrySet();
if(thisSet.size() != usageRecordSet.size()){
return thisSet.size() - usageRecordSet.size();
}
@@ -537,7 +537,7 @@ public abstract class BasicUsageRecord implements UsageRecord, Serializable {
* @return the instance of the UsageRecord class.
* @throws Exception if fails
*/
- public static UsageRecord getUsageRecord(Map usageRecordMap) throws Exception {
+ public static UsageRecord getUsageRecord(Map> usageRecordMap) throws Exception {
String className = (String) usageRecordMap.get(USAGE_RECORD_TYPE);
boolean aggregated = false;
try {
@@ -579,7 +579,7 @@ public abstract class BasicUsageRecord implements UsageRecord, Serializable {
private final static String KEY_VALUE_PAIR_SEPARATOR = ",";
private final static String KEY_VALUE_LINKER = "=";
- protected static Map getMapFromString(String serializedMap){
+ protected static Map> getMapFromString(String serializedMap){
/* Checking line sanity */
if(!serializedMap.startsWith(LINE_FREFIX) && !serializedMap.endsWith(LINE_SUFFIX)){
return null;
@@ -589,7 +589,7 @@ public abstract class BasicUsageRecord implements UsageRecord, Serializable {
serializedMap = serializedMap.replace(LINE_FREFIX, "");
serializedMap = serializedMap.replace(LINE_SUFFIX, "");
- Map map = new HashMap();
+ Map> map = new HashMap>();
String[] pairs = serializedMap.split(KEY_VALUE_PAIR_SEPARATOR);
for (int i=0;i value = keyValue[1].trim();
map.put(key, value);
}
@@ -613,7 +613,7 @@ public abstract class BasicUsageRecord implements UsageRecord, Serializable {
* @throws Exception
*/
public static UsageRecord getUsageRecord(String serializedMap) throws Exception {
- Map map = getMapFromString(serializedMap);
+ Map> map = getMapFromString(serializedMap);
return getUsageRecord(map);
}
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/RawUsageRecord.java b/src/main/java/org/gcube/accounting/datamodel/RawUsageRecord.java
index a4e244b..b501a82 100644
--- a/src/main/java/org/gcube/accounting/datamodel/RawUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/datamodel/RawUsageRecord.java
@@ -105,7 +105,7 @@ public class RawUsageRecord extends BasicUsageRecord implements SingleUsageRecor
}
@Deprecated
- public RawUsageRecord(Map properties) throws InvalidValueException {
+ public RawUsageRecord(Map> properties) throws InvalidValueException {
super(properties);
}
@@ -320,7 +320,7 @@ public class RawUsageRecord extends BasicUsageRecord implements SingleUsageRecor
*/
@Deprecated
public void setResourceSpecificProperties(Map properties) throws InvalidValueException {
- Map map = new HashMap(properties);
+ Map> map = new HashMap>(properties);
setResourceProperties(map);
}
@@ -342,7 +342,7 @@ public class RawUsageRecord extends BasicUsageRecord implements SingleUsageRecor
* @param value the value of the given resource property
*/
@Deprecated
- public void setResourceSpecificProperty(String key, Serializable value) {
+ public void setResourceSpecificProperty(String key, Comparable extends Serializable> value) {
try {
setResourceProperty(key, value);
} catch (InvalidValueException e) {
diff --git a/src/main/java/org/gcube/accounting/datamodel/UsageRecord.java b/src/main/java/org/gcube/accounting/datamodel/UsageRecord.java
index 1fd373b..883bb1b 100644
--- a/src/main/java/org/gcube/accounting/datamodel/UsageRecord.java
+++ b/src/main/java/org/gcube/accounting/datamodel/UsageRecord.java
@@ -89,19 +89,19 @@ public interface UsageRecord extends Comparable {
* not affect the object
* @return a Map containing the properties
*/
- public Map getResourceProperties();
+ public Map> getResourceProperties();
/**
* Set all resource-specific properties, replacing existing ones
*/
- public void setResourceProperties(Map resourceSpecificProperties) throws InvalidValueException;
+ public void setResourceProperties(Map> resourceSpecificProperties) throws InvalidValueException;
/**
* Return the value of the given resource property.
* @param key the key of the requested property
* @return the value of the given resource property
*/
- public Serializable getResourceProperty(String key);
+ public Comparable extends Serializable> getResourceProperty(String key);
/**
* Set the value of the given resource property.
@@ -110,7 +110,7 @@ public interface UsageRecord extends Comparable {
* @param key the key of the requested property
* @param value the value of the given resource property
*/
- public void setResourceProperty(String key, Serializable value) throws InvalidValueException;
+ public void setResourceProperty(String key, Comparable extends Serializable> value) throws InvalidValueException;
/**
* @return the Operation Result of the accounted operation.
diff --git a/src/main/java/org/gcube/accounting/datamodel/backwardcompatibility/MoveToCreationTimeAction.java b/src/main/java/org/gcube/accounting/datamodel/backwardcompatibility/MoveToCreationTimeAction.java
index cdc8e52..36785d8 100644
--- a/src/main/java/org/gcube/accounting/datamodel/backwardcompatibility/MoveToCreationTimeAction.java
+++ b/src/main/java/org/gcube/accounting/datamodel/backwardcompatibility/MoveToCreationTimeAction.java
@@ -13,7 +13,7 @@ import org.gcube.accounting.exception.InvalidValueException;
public class MoveToCreationTimeAction implements FieldAction {
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
if(value instanceof Date){
Calendar calendar = Calendar.getInstance();
calendar.setTime((Date) value);
diff --git a/src/main/java/org/gcube/accounting/datamodel/backwardcompatibility/MoveToScopeAction.java b/src/main/java/org/gcube/accounting/datamodel/backwardcompatibility/MoveToScopeAction.java
index 6b7005d..b626f2d 100644
--- a/src/main/java/org/gcube/accounting/datamodel/backwardcompatibility/MoveToScopeAction.java
+++ b/src/main/java/org/gcube/accounting/datamodel/backwardcompatibility/MoveToScopeAction.java
@@ -11,7 +11,7 @@ import org.gcube.accounting.exception.InvalidValueException;
public class MoveToScopeAction implements FieldAction {
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
if(value instanceof String){
usageRecord.setScope((String) value);
}else{
diff --git a/src/main/java/org/gcube/accounting/datamodel/backwardcompatibility/MoveToUsageRecordTypeAction.java b/src/main/java/org/gcube/accounting/datamodel/backwardcompatibility/MoveToUsageRecordTypeAction.java
index b3479a4..beafb5b 100644
--- a/src/main/java/org/gcube/accounting/datamodel/backwardcompatibility/MoveToUsageRecordTypeAction.java
+++ b/src/main/java/org/gcube/accounting/datamodel/backwardcompatibility/MoveToUsageRecordTypeAction.java
@@ -14,7 +14,7 @@ import org.gcube.accounting.exception.InvalidValueException;
public class MoveToUsageRecordTypeAction implements FieldAction {
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
if(value instanceof String){
String newValue = RawUsageRecord.resourceTypeMapping.get(value);
if(newValue == null){
diff --git a/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractJobUsageRecord.java b/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractJobUsageRecord.java
index 38ba487..343565a 100644
--- a/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractJobUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractJobUsageRecord.java
@@ -55,7 +55,7 @@ public abstract class AbstractJobUsageRecord extends BasicUsageRecord {
super();
}
- public AbstractJobUsageRecord(Map properties) throws InvalidValueException{
+ public AbstractJobUsageRecord(Map> properties) throws InvalidValueException{
super(properties);
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractPortletUsageRecord.java b/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractPortletUsageRecord.java
index 8a3ffc8..655f893 100644
--- a/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractPortletUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractPortletUsageRecord.java
@@ -40,7 +40,7 @@ public abstract class AbstractPortletUsageRecord extends BasicUsageRecord {
protected @interface MoveToConsumerId { }
protected class MoveToConsumerIdAction implements FieldAction {
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
NotEmptyIfNotNullValidator neinnv = new NotEmptyIfNotNullValidator();
value = neinnv.validate(key, value, usageRecord);
usageRecord.setConsumerId((String) value);
@@ -59,7 +59,7 @@ public abstract class AbstractPortletUsageRecord extends BasicUsageRecord {
super();
}
- public AbstractPortletUsageRecord(Map properties) throws InvalidValueException {
+ public AbstractPortletUsageRecord(Map> properties) throws InvalidValueException {
super(properties);
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractServiceUsageRecord.java b/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractServiceUsageRecord.java
index 2ca6bfd..cb23145 100644
--- a/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractServiceUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractServiceUsageRecord.java
@@ -63,7 +63,7 @@ public abstract class AbstractServiceUsageRecord extends BasicUsageRecord {
super();
}
- public AbstractServiceUsageRecord(Map properties) throws InvalidValueException {
+ public AbstractServiceUsageRecord(Map> properties) throws InvalidValueException {
super(properties);
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractStorageUsageRecord.java b/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractStorageUsageRecord.java
index 05a1934..4bea791 100644
--- a/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractStorageUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractStorageUsageRecord.java
@@ -107,7 +107,7 @@ public abstract class AbstractStorageUsageRecord extends BasicUsageRecord {
super();
}
- public AbstractStorageUsageRecord(Map properties) throws InvalidValueException {
+ public AbstractStorageUsageRecord(Map> properties) throws InvalidValueException {
super(properties);
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractTaskUsageRecord.java b/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractTaskUsageRecord.java
index 53c8399..a63dd99 100644
--- a/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractTaskUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/datamodel/basetypes/AbstractTaskUsageRecord.java
@@ -70,7 +70,7 @@ public abstract class AbstractTaskUsageRecord extends BasicUsageRecord {
super();
}
- public AbstractTaskUsageRecord(Map properties) throws InvalidValueException {
+ public AbstractTaskUsageRecord(Map> properties) throws InvalidValueException {
super(properties);
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/basetypes/CalculateWallDurationAction.java b/src/main/java/org/gcube/accounting/datamodel/basetypes/CalculateWallDurationAction.java
index 8a06083..ac3060b 100644
--- a/src/main/java/org/gcube/accounting/datamodel/basetypes/CalculateWallDurationAction.java
+++ b/src/main/java/org/gcube/accounting/datamodel/basetypes/CalculateWallDurationAction.java
@@ -16,7 +16,7 @@ public class CalculateWallDurationAction implements FieldAction {
private static final Logger logger = LoggerFactory.getLogger(CalculateWallDurationAction.class);
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
try {
long wallDuration = ((AbstractJobUsageRecord) usageRecord).calculateWallDuration();
if(key.compareTo(AbstractJobUsageRecord.WALL_DURATION)==0){
diff --git a/src/main/java/org/gcube/accounting/datamodel/decorators/FieldAction.java b/src/main/java/org/gcube/accounting/datamodel/decorators/FieldAction.java
index bf0eb48..0f07796 100644
--- a/src/main/java/org/gcube/accounting/datamodel/decorators/FieldAction.java
+++ b/src/main/java/org/gcube/accounting/datamodel/decorators/FieldAction.java
@@ -24,6 +24,6 @@ public interface FieldAction {
* @throws InvalidValueException if the validation or the eventual
* conversion fails
*/
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException;
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException;
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/deprecationmanagement/validators/DeprecatedWarningAction.java b/src/main/java/org/gcube/accounting/datamodel/deprecationmanagement/validators/DeprecatedWarningAction.java
index b790238..81da24a 100644
--- a/src/main/java/org/gcube/accounting/datamodel/deprecationmanagement/validators/DeprecatedWarningAction.java
+++ b/src/main/java/org/gcube/accounting/datamodel/deprecationmanagement/validators/DeprecatedWarningAction.java
@@ -23,7 +23,7 @@ public class DeprecatedWarningAction implements FieldAction {
* {@inheritDoc}
*/
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
logger.trace("The field {} is deprecated for {}. Anyway the field will be included in the document",
key, usageRecord.getClass().getSimpleName());
return value;
diff --git a/src/main/java/org/gcube/accounting/datamodel/deprecationmanagement/validators/MoveToOperationResultAction.java b/src/main/java/org/gcube/accounting/datamodel/deprecationmanagement/validators/MoveToOperationResultAction.java
index 20085a5..6c87151 100644
--- a/src/main/java/org/gcube/accounting/datamodel/deprecationmanagement/validators/MoveToOperationResultAction.java
+++ b/src/main/java/org/gcube/accounting/datamodel/deprecationmanagement/validators/MoveToOperationResultAction.java
@@ -21,7 +21,7 @@ public class MoveToOperationResultAction implements FieldAction {
* {@inheritDoc}
*/
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
ValidOperationResultValidator vorv = new ValidOperationResultValidator();
value = vorv.validate(key, value, usageRecord);
usageRecord.setOperationResult((OperationResult) value);
diff --git a/src/main/java/org/gcube/accounting/datamodel/usagerecords/JobUsageRecord.java b/src/main/java/org/gcube/accounting/datamodel/usagerecords/JobUsageRecord.java
index d8c8875..7a4c1db 100644
--- a/src/main/java/org/gcube/accounting/datamodel/usagerecords/JobUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/datamodel/usagerecords/JobUsageRecord.java
@@ -18,7 +18,7 @@ public class JobUsageRecord extends AbstractJobUsageRecord implements SingleUsag
super();
}
- public JobUsageRecord(Map properties) throws InvalidValueException{
+ public JobUsageRecord(Map> properties) throws InvalidValueException{
super(properties);
}
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/usagerecords/PortletUsageRecord.java b/src/main/java/org/gcube/accounting/datamodel/usagerecords/PortletUsageRecord.java
index a999baf..308f0c4 100644
--- a/src/main/java/org/gcube/accounting/datamodel/usagerecords/PortletUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/datamodel/usagerecords/PortletUsageRecord.java
@@ -18,7 +18,7 @@ public class PortletUsageRecord extends AbstractPortletUsageRecord implements Si
super();
}
- public PortletUsageRecord(Map properties) throws InvalidValueException {
+ public PortletUsageRecord(Map> properties) throws InvalidValueException {
super(properties);
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/usagerecords/ServiceUsageRecord.java b/src/main/java/org/gcube/accounting/datamodel/usagerecords/ServiceUsageRecord.java
index bf310b8..59f3f24 100644
--- a/src/main/java/org/gcube/accounting/datamodel/usagerecords/ServiceUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/datamodel/usagerecords/ServiceUsageRecord.java
@@ -18,7 +18,7 @@ public class ServiceUsageRecord extends AbstractServiceUsageRecord implements Si
super();
}
- public ServiceUsageRecord(Map properties) throws InvalidValueException {
+ public ServiceUsageRecord(Map> properties) throws InvalidValueException {
super(properties);
}
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/usagerecords/StorageUsageRecord.java b/src/main/java/org/gcube/accounting/datamodel/usagerecords/StorageUsageRecord.java
index 79c23dc..483d799 100644
--- a/src/main/java/org/gcube/accounting/datamodel/usagerecords/StorageUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/datamodel/usagerecords/StorageUsageRecord.java
@@ -18,7 +18,7 @@ public class StorageUsageRecord extends AbstractStorageUsageRecord implements Si
super();
}
- public StorageUsageRecord(Map properties) throws InvalidValueException {
+ public StorageUsageRecord(Map> properties) throws InvalidValueException {
super(properties);
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/usagerecords/TaskUsageRecord.java b/src/main/java/org/gcube/accounting/datamodel/usagerecords/TaskUsageRecord.java
index f9822ae..d3192a9 100644
--- a/src/main/java/org/gcube/accounting/datamodel/usagerecords/TaskUsageRecord.java
+++ b/src/main/java/org/gcube/accounting/datamodel/usagerecords/TaskUsageRecord.java
@@ -18,7 +18,7 @@ public class TaskUsageRecord extends AbstractTaskUsageRecord implements SingleUs
super();
}
- public TaskUsageRecord(Map properties) throws InvalidValueException {
+ public TaskUsageRecord(Map> properties) throws InvalidValueException {
super(properties);
}
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/validations/validators/FixDataVolumeSignAction.java b/src/main/java/org/gcube/accounting/datamodel/validations/validators/FixDataVolumeSignAction.java
index c60e9ea..02d6f46 100644
--- a/src/main/java/org/gcube/accounting/datamodel/validations/validators/FixDataVolumeSignAction.java
+++ b/src/main/java/org/gcube/accounting/datamodel/validations/validators/FixDataVolumeSignAction.java
@@ -46,7 +46,7 @@ public class FixDataVolumeSignAction implements FieldAction {
* {@inheritDoc}
*/
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
try {
if(key.compareTo(AbstractStorageUsageRecord.DATA_VOLUME)==0){
diff --git a/src/main/java/org/gcube/accounting/datamodel/validations/validators/NotEmptyValidator.java b/src/main/java/org/gcube/accounting/datamodel/validations/validators/NotEmptyValidator.java
index 8412370..b4b1624 100644
--- a/src/main/java/org/gcube/accounting/datamodel/validations/validators/NotEmptyValidator.java
+++ b/src/main/java/org/gcube/accounting/datamodel/validations/validators/NotEmptyValidator.java
@@ -28,9 +28,9 @@ public class NotEmptyValidator implements FieldAction{
* {@inheritDoc}
*/
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
try{
- if(isValid(value)){
+ if(isValid((Serializable) value)){
return value;
}
}catch(Exception e){
diff --git a/src/main/java/org/gcube/accounting/datamodel/validations/validators/NotNullValidator.java b/src/main/java/org/gcube/accounting/datamodel/validations/validators/NotNullValidator.java
index 4cfef99..c769f6d 100644
--- a/src/main/java/org/gcube/accounting/datamodel/validations/validators/NotNullValidator.java
+++ b/src/main/java/org/gcube/accounting/datamodel/validations/validators/NotNullValidator.java
@@ -14,7 +14,7 @@ public class NotNullValidator implements FieldAction {
* {@inheritDoc}
*/
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
if(value!=null){
return value;
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidDataTypeValidator.java b/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidDataTypeValidator.java
index a92a4ea..27c5fff 100644
--- a/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidDataTypeValidator.java
+++ b/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidDataTypeValidator.java
@@ -16,7 +16,7 @@ public class ValidDataTypeValidator implements FieldAction {
*/
@SuppressWarnings("rawtypes")
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
if(value instanceof DataType){
return value;
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidIPValidator.java b/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidIPValidator.java
index 107ee6d..7b4fd96 100644
--- a/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidIPValidator.java
+++ b/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidIPValidator.java
@@ -47,7 +47,7 @@ public class ValidIPValidator implements FieldAction{
* {@inheritDoc}
*/
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
try {
if(isIpAddress((String) value)){
return (String) value;
diff --git a/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidIntegerValidator.java b/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidIntegerValidator.java
index db7b864..20095ed 100644
--- a/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidIntegerValidator.java
+++ b/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidIntegerValidator.java
@@ -15,7 +15,7 @@ public class ValidIntegerValidator implements FieldAction {
* {@inheritDoc}
*/
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
if(value instanceof Integer){
return value;
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidLongValidator.java b/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidLongValidator.java
index c1c689e..92de677 100644
--- a/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidLongValidator.java
+++ b/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidLongValidator.java
@@ -15,7 +15,7 @@ public class ValidLongValidator implements FieldAction {
* {@inheritDoc}
*/
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
if(value instanceof Long){
return value;
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidOperationResultValidator.java b/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidOperationResultValidator.java
index abbea80..ae8d351 100644
--- a/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidOperationResultValidator.java
+++ b/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidOperationResultValidator.java
@@ -16,7 +16,7 @@ public class ValidOperationResultValidator implements FieldAction {
*/
@SuppressWarnings("rawtypes")
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
if(value instanceof OperationResult){
return value;
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidOperationTypeValidator.java b/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidOperationTypeValidator.java
index d2df98f..202534a 100644
--- a/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidOperationTypeValidator.java
+++ b/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidOperationTypeValidator.java
@@ -17,7 +17,7 @@ public class ValidOperationTypeValidator implements FieldAction {
*/
@SuppressWarnings("rawtypes")
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
if(value instanceof OperationType){
return value;
}
diff --git a/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidURIValidator.java b/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidURIValidator.java
index bb90729..7bc7993 100644
--- a/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidURIValidator.java
+++ b/src/main/java/org/gcube/accounting/datamodel/validations/validators/ValidURIValidator.java
@@ -15,7 +15,7 @@ public class ValidURIValidator implements FieldAction {
* {@inheritDoc}
*/
@Override
- public Serializable validate(String key, Serializable value, UsageRecord usageRecord) throws InvalidValueException {
+ public Comparable extends Serializable> validate(String key, Comparable extends Serializable> value, UsageRecord usageRecord) throws InvalidValueException {
try {
if(value instanceof URI){
return value;
diff --git a/src/test/java/org/gcube/accounting/datamodel/validations/validators/NotEmptyIfNotNullValidatorTest.java b/src/test/java/org/gcube/accounting/datamodel/validations/validators/NotEmptyIfNotNullValidatorTest.java
index c19e8a0..d806a41 100644
--- a/src/test/java/org/gcube/accounting/datamodel/validations/validators/NotEmptyIfNotNullValidatorTest.java
+++ b/src/test/java/org/gcube/accounting/datamodel/validations/validators/NotEmptyIfNotNullValidatorTest.java
@@ -18,13 +18,13 @@ public class NotEmptyIfNotNullValidatorTest {
@Test
public void testBoolean() throws InvalidValueException{
NotEmptyIfNotNullValidator notEmptyIfNotNullValidator = new NotEmptyIfNotNullValidator();
- Serializable primitiveTrue = notEmptyIfNotNullValidator.validate(null, true, null);
+ Comparable extends Serializable> primitiveTrue = notEmptyIfNotNullValidator.validate(null, true, null);
Assert.assertTrue((Boolean) primitiveTrue);
- Serializable primitiveFalse = notEmptyIfNotNullValidator.validate(null, false, null);
+ Comparable extends Serializable> primitiveFalse = notEmptyIfNotNullValidator.validate(null, false, null);
Assert.assertFalse((Boolean) primitiveFalse);
- Serializable booleanClassTrue = notEmptyIfNotNullValidator.validate(null, Boolean.TRUE, null);
+ Comparable extends Serializable> booleanClassTrue = notEmptyIfNotNullValidator.validate(null, Boolean.TRUE, null);
Assert.assertTrue((Boolean) booleanClassTrue);
- Serializable booleanClassFalse = notEmptyIfNotNullValidator.validate(null, Boolean.FALSE, null);
+ Comparable extends Serializable> booleanClassFalse = notEmptyIfNotNullValidator.validate(null, Boolean.FALSE, null);
Assert.assertFalse((Boolean) booleanClassFalse);
}
}