From 6a9c463ac9ce608cc70eca3e1d35a8470d221b53 Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Thu, 21 Sep 2017 08:03:56 +0000 Subject: [PATCH] Updating LastUpdateTime before starting to execute any kind of operation when the AggregationStatus were already created on db git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/accounting/accounting-aggregator-se-plugin@154349 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../aggregator/elaboration/Elaborator.java | 18 ++++++++++-------- .../aggregator/status/AggregationStatus.java | 7 +++++++ 2 files changed, 17 insertions(+), 8 deletions(-) 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); + } + } + }