From 5bfc630489065d8f920623ed07836fd43f2ca046 Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Thu, 2 Jul 2015 09:53:53 +0000 Subject: [PATCH] refs #200: Create accouting-lib library https://support.d4science.org/issues/200 Fixing tests git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/accounting/accounting-lib@115777 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../StorageUsageRecordAggregationStrategy.java | 1 - .../accounting/datamodel/AggregationStrategy.java | 15 +++++++++------ .../accounting/datamodel/BasicUsageRecord.java | 1 - 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/gcube/accounting/aggregation/strategy/StorageUsageRecordAggregationStrategy.java b/src/main/java/org/gcube/accounting/aggregation/strategy/StorageUsageRecordAggregationStrategy.java index c11931a..6580e9c 100644 --- a/src/main/java/org/gcube/accounting/aggregation/strategy/StorageUsageRecordAggregationStrategy.java +++ b/src/main/java/org/gcube/accounting/aggregation/strategy/StorageUsageRecordAggregationStrategy.java @@ -24,7 +24,6 @@ public class StorageUsageRecordAggregationStrategy extends AggregationStrategy, protected Set aggregationField; protected void cleanExtraFields(){ - Set requiredFields = ((BasicUsageRecord) t).getRequiredFields(); + Set neededFields = ((BasicUsageRecord) t).requiredFields; + neededFields.addAll(((BasicUsageRecord) t).aggregatedFields); + Set keysToRemove = new HashSet(); - for(String propertyName : t.getResourceProperties().keySet()){ - if(!requiredFields.contains(propertyName)){ + Set propertyKeys = ((BasicUsageRecord) t).resourceProperties.keySet(); + for(String propertyName : propertyKeys){ + if(!neededFields.contains(propertyName)){ keysToRemove.add(propertyName); } } + for(String keyToRemove : keysToRemove){ - t.getResourceProperties().remove(keyToRemove); + ((BasicUsageRecord) t).resourceProperties.remove(keyToRemove); } } public AggregationStrategy(T t){ this.t = t; + cleanExtraFields(); this.aggregationField = new HashSet(); this.aggregationField.add(BasicUsageRecord.CONSUMER_ID); this.aggregationField.add(BasicUsageRecord.USAGE_RECORD_TYPE); @@ -102,8 +107,6 @@ public abstract class AggregationStrategy, ((BasicUsageRecord) t).setCreationTime(newCreationTime); - cleanExtraFields(); - return t; }catch(NotAggregatableRecordsExceptions e){ throw e; diff --git a/src/main/java/org/gcube/accounting/datamodel/BasicUsageRecord.java b/src/main/java/org/gcube/accounting/datamodel/BasicUsageRecord.java index f12fe4a..ad7c666 100644 --- a/src/main/java/org/gcube/accounting/datamodel/BasicUsageRecord.java +++ b/src/main/java/org/gcube/accounting/datamodel/BasicUsageRecord.java @@ -127,7 +127,6 @@ public abstract class BasicUsageRecord implements UsageRecord, Serializable { @AggregatedField @ValidInteger protected static final String OPERATION_COUNT = "operationCount"; - protected Set aggregatedFields; protected static Set getAllFields(Class type) {