diff --git a/src/main/java/org/gcube/accounting/aggregator/elaboration/Elaborator.java b/src/main/java/org/gcube/accounting/aggregator/elaboration/Elaborator.java index 397eade..fa15a20 100644 --- a/src/main/java/org/gcube/accounting/aggregator/elaboration/Elaborator.java +++ b/src/main/java/org/gcube/accounting/aggregator/elaboration/Elaborator.java @@ -103,14 +103,16 @@ public class Elaborator { if(aggregationStatus.getAggregationState()==null){ aggregationStatus.setState(AggregationState.STARTED, startTime, true); - } - - if(aggregationStatus.getAggregationState()==AggregationState.COMPLETED){ - logger.info("{} is {}. Nothing to do :-). \n Details {}", - AggregationStatus.class.getSimpleName(), - aggregationStatus.getAggregationState(), - DSMapper.getObjectMapper().writeValueAsString(aggregationStatus)); - return; + }else{ + if(aggregationStatus.getAggregationState()==AggregationState.COMPLETED){ + logger.info("{} is {}. Nothing to do :-). \n Details {}", + AggregationStatus.class.getSimpleName(), + aggregationStatus.getAggregationState(), + DSMapper.getObjectMapper().writeValueAsString(aggregationStatus)); + return; + }else{ + aggregationStatus.updateLastUpdateTime(true); + } } String recordType = aggregationInfo.getRecordType(); diff --git a/src/main/java/org/gcube/accounting/aggregator/status/AggregationStatus.java b/src/main/java/org/gcube/accounting/aggregator/status/AggregationStatus.java index 71890a1..102f669 100644 --- a/src/main/java/org/gcube/accounting/aggregator/status/AggregationStatus.java +++ b/src/main/java/org/gcube/accounting/aggregator/status/AggregationStatus.java @@ -158,4 +158,11 @@ public class AggregationStatus { this.malformedRecordNumber = malformedRecordNumber; } + public void updateLastUpdateTime(boolean sync) throws Exception { + this.lastUpdateTime = Utility.getUTCCalendarInstance(); + if(sync){ + CouchBaseConnector.upsertAggregationStatus(this); + } + } + }