/** * Returns a local period identifier for a specific period / calendar. * * @param period the list of periods. * @param calendar the calendar to use for generation of iso periods. * @return Period identifier based on given calendar */ public static String getLocalPeriodIdentifier( Period period, Calendar calendar ) { if ( calendar.isIso8601() ) { return period.getIsoDate(); } return period.getPeriodType().getIsoDate( calendar.fromIso( period.getStartDate() ) ); }
List<String> periodUids = calendar.isIso8601() ? getUids( params.getDimensionOrFilterItems( PERIOD_DIM_ID ) ) : getLocalPeriodIdentifiers( params.getDimensionOrFilterItems( PERIOD_DIM_ID ), calendar );
if ( !calendar.isIso8601() )
List<String> periodUids = calendar.isIso8601() ? getUids( params.getDimensionOrFilterItems( PERIOD_DIM_ID ) ) : getLocalPeriodIdentifiers( params.getDimensionOrFilterItems( PERIOD_DIM_ID ), calendar );
@Override public String getIsoDate( DateTimeUnit dateTimeUnit, Calendar calendar ) { int year; int week; if ( calendar.isIso8601() ) { LocalDate date = LocalDate.of( dateTimeUnit.getYear(), dateTimeUnit.getMonth(), dateTimeUnit.getDay() ); WeekFields weekFields = WeekFields.of( PeriodType.MAP_WEEK_TYPE.get( getName() ), 4 ); year = date.get( weekFields.weekBasedYear() ); week = date.get( weekFields.weekOfWeekBasedYear() ); } else { dateTimeUnit = adjustToStartOfWeek( dateTimeUnit, calendar ); week = calendar.week( dateTimeUnit ); if ( week == 1 && dateTimeUnit.getMonth() == calendar.monthsInYear() ) { dateTimeUnit.setYear( dateTimeUnit.getYear() + 1 ); } year = dateTimeUnit.getYear(); } return String.format( "%d%s%d", year, weekPrefix, week ); }
DateTimeUnit dateTimeUnit = new DateTimeUnit( year, month, day, calendar.isIso8601() ); dateTimeUnit.setDayOfWeek( calendar.weekday( dateTimeUnit ) ); DateTimeUnit start = new DateTimeUnit( year, month, 1, calendar.isIso8601() ); DateTimeUnit end = new DateTimeUnit( year, month, calendar.daysInMonth( start.getYear(), start.getMonth() ), calendar.isIso8601() ); DateTimeUnit start = new DateTimeUnit( year, (month * 2) - 1, 1, calendar.isIso8601() ); DateTimeUnit end = new DateTimeUnit( start ); end = calendar.plusMonths( end, 2 ); DateTimeUnit start = new DateTimeUnit( year, ((quarter - 1) * 3) + 1, 1, calendar.isIso8601() ); DateTimeUnit end = new DateTimeUnit( start ); end = calendar.plusMonths( end, 3 ); DateTimeUnit start = new DateTimeUnit( year, semester == 1 ? 1 : 7, 1, calendar.isIso8601() ); DateTimeUnit end = new DateTimeUnit( start ); end = calendar.plusMonths( end, 6 ); DateTimeUnit start = new DateTimeUnit( year, semester == 1 ? 4 : 10, 1, calendar.isIso8601() ); DateTimeUnit end = new DateTimeUnit( start ); end = calendar.plusMonths( end, 6 ); DateTimeUnit start = new DateTimeUnit( semester == 1 ? year - 1 : year, semester == 1 ? 11 : 5, 1, calendar.isIso8601() ); DateTimeUnit end = new DateTimeUnit( start ); end = calendar.plusMonths( end, 6 ); DateTimeUnit start = new DateTimeUnit( year, 1, 1, calendar.isIso8601() ); DateTimeUnit end = new DateTimeUnit( year, calendar.monthsInYear(),
@Override public String getIsoDate( DateTimeUnit dateTimeUnit, Calendar calendar ) { int year; int week; if ( calendar.isIso8601() ) { LocalDate date = LocalDate.of( dateTimeUnit.getYear(), dateTimeUnit.getMonth(), dateTimeUnit.getDay() ); WeekFields weekFields = WeekFields.of( DayOfWeek.MONDAY, 4 ); year = date.get( weekFields.weekBasedYear() ); week = date.get( weekFields.weekOfWeekBasedYear() ) / 2; } else { DateTimeUnit date = adjustToStartOfBiWeek( dateTimeUnit, calendar ); week = calendar.week( date ); if ( week == 1 && date.getMonth() == calendar.monthsInYear() ) { date.setYear( date.getYear() + 1 ); } year = date.getYear(); } return String.format( "%d%s%d", year, weekPrefix, week ); }
if ( DimensionType.PERIOD.equals( dimension.getDimensionType() ) && !calendar.isIso8601() )
if ( DimensionType.PERIOD == dimension.getDimensionType() && !calendar.isIso8601() )
.setImportOptions( importOptions ); boolean isIso8601 = calendarService.getSystemCalendar().isIso8601(); boolean skipLockExceptionCheck = !lockExceptionStore.anyExists();