@ -1,7 +1,6 @@
package org.gcube.accounting.aggregator.plugin ;
import java.text.DateFormat ;
import java.text.ParseException ;
import java.text.SimpleDateFormat ;
import java.util.Date ;
import java.util.Map ;
@ -72,15 +71,10 @@ public class AccountingAggregatorPlugin extends Plugin {
* /
public static final String ELABORATION_TYPE_INPUT_PARAMETER = "elaborationType" ;
/ * *
* Start Day Time in UTC when the plugin is allowed to write in buckets
* /
public static final String PERSIST_START_TIME_INPUT_PARAMETER = "persistStartTime" ;
public static final String PERSIST_END_TIME_INPUT_PARAMETER = "persistEndTime" ;
public static final String PERSIST_TIME_DATE_FORMAT_PATTERN = "HH:mm" ;
public static final DateFormat PERSIST_TIME_DATE_FORMAT ;
// public static final String PERSIST_START_TIME_INPUT_PARAMETER = "persistStartTime";
// public static final String PERSIST_END_TIME_INPUT_PARAMETER = "persistEndTime";
// public static final String PERSIST_TIME_DATE_FORMAT_PATTERN = "HH:mm";
// public static final DateFormat PERSIST_TIME_DATE_FORMAT;
public static final String LOCAL_TIME_DATE_FORMAT_PATTERN = "HH:mm Z" ;
public static final DateFormat LOCAL_TIME_DATE_FORMAT ;
@ -91,7 +85,7 @@ public class AccountingAggregatorPlugin extends Plugin {
AGGREGATION_START_DATE_DATE_FORMAT = Utility . getUTCDateFormat ( AGGREGATION_START_DATE_DATE_FORMAT_PATTERN ) ;
AGGREGATION_START_END_DATE_UTC_DATE_FORMAT = Utility . getUTCDateFormat ( AGGREGATION_START_END_DATE_UTC_DATE_FORMAT_PATTERN ) ;
PERSIST_TIME_DATE_FORMAT = new SimpleDateFormat ( PERSIST_TIME_DATE_FORMAT_PATTERN ) ;
// PERSIST_TIME_DATE_FORMAT = new SimpleDateFormat(PERSIST_TIME_DATE_FORMAT_PATTERN);
LOCAL_TIME_DATE_FORMAT = new SimpleDateFormat ( LOCAL_TIME_DATE_FORMAT_PATTERN ) ;
}
@ -101,19 +95,19 @@ public class AccountingAggregatorPlugin extends Plugin {
RegexRulesAggregator . getInstance ( ) ;
}
private Date getPersistTime ( Map < String , Object > inputs , String parameterName ) throws ParseException {
Date persistTime = null ;
if ( inputs . containsKey ( parameterName ) ) {
String persistTimeString = ( String ) inputs . get ( parameterName ) ;
persistTime = Utility . getPersistTimeDate ( persistTimeString ) ;
}
if ( persistTime = = null ) {
throw new IllegalArgumentException ( "Please set a valid '" + parameterName + "' by using " + PERSIST_TIME_DATE_FORMAT_PATTERN + " format." ) ;
}
return persistTime ;
}
// private Date getPersistTime(Map<String, Object> inputs, String parameterName) throws ParseException{
// Date persistTime = null;
// if (inputs.containsKey(parameterName)) {
// String persistTimeString = (String) inputs.get(parameterName);
// persistTime = Utility.getPersistTimeDate(persistTimeString);
// }
//
// if(persistTime==null){
// throw new IllegalArgumentException("Please set a valid '" + parameterName +"' by using " + PERSIST_TIME_DATE_FORMAT_PATTERN + " format.");
// }
//
// return persistTime;
// }
/** {@inheritDoc} */
@SuppressWarnings ( "unchecked" )
@ -127,9 +121,6 @@ public class AccountingAggregatorPlugin extends Plugin {
boolean restartFromLastAggregationDate = false ;
ElaborationType elaborationType = ElaborationType . AGGREGATE ;
Date persistStartTime = null ;
Date persistEndTime = null ;
String recordType = null ;
Class < ? extends UsageRecord > usageRecordClass = null ;
@ -145,9 +136,8 @@ public class AccountingAggregatorPlugin extends Plugin {
elaborationType = ElaborationType . valueOf ( ( String ) inputs . get ( ELABORATION_TYPE_INPUT_PARAMETER ) ) ;
}
persistStartTime = getPersistTime ( inputs , PERSIST_START_TIME_INPUT_PARAMETER ) ;
persistEndTime = getPersistTime ( inputs , PERSIST_END_TIME_INPUT_PARAMETER ) ;
// Date persistStartTime = getPersistTime(inputs, PERSIST_START_TIME_INPUT_PARAMETER);
// Date persistEndTime = getPersistTime(inputs, PERSIST_END_TIME_INPUT_PARAMETER);
if ( inputs . containsKey ( AGGREGATION_START_DATE_INPUT_PARAMETER ) ) {
String aggregationStartDateString = ( String ) inputs . get ( AGGREGATION_START_DATE_INPUT_PARAMETER ) ;
@ -201,12 +191,14 @@ public class AccountingAggregatorPlugin extends Plugin {
aggregatorManager . setForceEarlyAggregation ( forceEarlyAggregation ) ;
aggregatorManager . setForceRerun ( forceRerun ) ;
aggregatorManager . setForceRestart ( forceRestart ) ;
aggregatorManager . elaborate ( persistStartTime , persistEndTime , recordType ) ;
// aggregatorManager.elaborate(persistStartTime, persistEndTime, recordType);
aggregatorManager . elaborate ( recordType ) ;
break ;
case RECOVERY :
RecoveryManager recoveryManager = new RecoveryManager ( persistStartTime , persistEndTime , aggregationStartDate , aggregationEndDate ) ;
// RecoveryManager recoveryManager = new RecoveryManager(persistStartTime, persistEndTime, aggregationStartDate, aggregationEndDate);
RecoveryManager recoveryManager = new RecoveryManager ( aggregationStartDate , aggregationEndDate ) ;
recoveryManager . setForceRestart ( forceRestart ) ;
recoveryManager . setRecordType ( recordType ) ;
recoveryManager . setAggregationType ( aggregationType ) ;