/** * Returns periods for the last 6 months based on the given period types. * * @param periodTypes a set of period type represented as names. * @return a list of periods. */ public List<Period> getLast12Months( Set<String> periodTypes ) { List<Period> periods = new ArrayList<>(); Date date = new Date(); periods.addAll( periodTypes.contains( DailyPeriodType.NAME ) ? new DailyPeriodType().generateRollingPeriods( date ) : NO ); periods.addAll( periodTypes.contains( WeeklyPeriodType.NAME ) ? new WeeklyPeriodType().generateRollingPeriods( date ) : NO ); periods.addAll( periodTypes.contains( BiWeeklyPeriodType.NAME ) ? new BiWeeklyPeriodType().generateRollingPeriods( date ) : NO); periods.addAll( periodTypes.contains( MonthlyPeriodType.NAME ) ? new MonthlyPeriodType().generateRollingPeriods( date ) : NO ); periods.addAll( periodTypes.contains( BiMonthlyPeriodType.NAME ) ? new BiMonthlyPeriodType().generateRollingPeriods( date ) : NO ); periods.addAll( periodTypes.contains( QuarterlyPeriodType.NAME ) ? new QuarterlyPeriodType().generateRollingPeriods( date ) : NO ); periods.addAll( periodTypes.contains( SixMonthlyPeriodType.NAME ) ? new SixMonthlyPeriodType().generateRollingPeriods( date ) : NO ); periods.addAll( periodTypes.contains( YearlyPeriodType.NAME ) ? new YearlyPeriodType().generateRollingPeriods( date ).subList( 4, 5 ) : NO ); periods.addAll( periodTypes.contains( FinancialOctoberPeriodType.NAME ) ? new FinancialOctoberPeriodType().generateRollingPeriods( date ).subList( 4, 5 ) : NO ); return periods; }
periods.add( getRelativePeriod( new BiWeeklyPeriodType(), LAST_BIWEEK, date, dynamicNames, format ) ); periods.add( getRelativePeriod( new BiWeeklyPeriodType(), LAST_BIWEEK, new DateTime( date ).minusWeeks( 2 ).toDate(), dynamicNames, format ) ); periods.addAll( getRollingRelativePeriodList( new BiWeeklyPeriodType(), BIWEEKS_LAST_26, new DateTime( date ).minusWeeks( 2 ).toDate(), dynamicNames, format ).subList( 22, 26 ) );
add( new WeeklySaturdayPeriodType() ); add( new WeeklySundayPeriodType() ); add( new BiWeeklyPeriodType() ); add( new MonthlyPeriodType() ); add( new BiMonthlyPeriodType() );