public static void normaliseDateRange(Map<RegularTimePeriod, List<Long>> dateMap, int days, Class period, TimeZone timeZone) { // find earliest date, then move it forwards until we hit now Calendar cal = Calendar.getInstance(timeZone); cal.add(Calendar.DAY_OF_MONTH, - days); Date earliest = cal.getTime(); RegularTimePeriod cursor = RegularTimePeriod.createInstance(period, earliest, timeZone); RegularTimePeriod end = RegularTimePeriod.createInstance(period, new Date(), timeZone); //fix for JRA-11686. Prevents the loop from looping infinitely. while (cursor != null && cursor.compareTo(end) <= 0) { if (!dateMap.containsKey(cursor)) { dateMap.put(cursor, Lists.newArrayList((long) 0)); } cursor = cursor.next(); cursor.peg(cal); } }
public static void normaliseDateRangeCount(Map<RegularTimePeriod, Number> dateMap, int days, Class period, TimeZone timeZone) { // find earliest date, then move it forwards until we hit now Calendar cal = Calendar.getInstance(timeZone); cal.add(Calendar.DAY_OF_MONTH, - days); Date earliest = cal.getTime(); RegularTimePeriod cursor = RegularTimePeriod.createInstance(period, earliest, timeZone); RegularTimePeriod end = RegularTimePeriod.createInstance(period, new Date(), timeZone); //fix for JRA-11686. Prevents the loop from looping infinitely. while (cursor != null && cursor.compareTo(end) <= 0) { if (!dateMap.containsKey(cursor)) { dateMap.put(cursor, 0); } cursor = cursor.next(); cursor.peg(cal); } }
/** * Returns an integer indicating the order of this data pair object * relative to another object. * <P> * For the order we consider only the timing: * negative == before, zero == same, positive == after. * * @param o1 The object being compared to. * * @return An integer indicating the order of the data item object * relative to another object. */ @Override public int compareTo(Object o1) { int result; // CASE 1 : Comparing to another TimeSeriesDataItem object // ------------------------------------------------------- if (o1 instanceof TimeSeriesDataItem) { TimeSeriesDataItem datapair = (TimeSeriesDataItem) o1; result = getPeriod().compareTo(datapair.getPeriod()); } // CASE 2 : Comparing to a general object // --------------------------------------------- else { // consider time periods to be ordered after general objects result = 1; } return result; }
/** * Returns an integer indicating the order of this data pair object * relative to another object. * <P> * For the order we consider only the timing: * negative == before, zero == same, positive == after. * * @param o1 The object being compared to. * * @return An integer indicating the order of the data item object * relative to another object. */ public int compareTo(Object o1) { int result; // CASE 1 : Comparing to another TimeSeriesDataItem object // ------------------------------------------------------- if (o1 instanceof TimeSeriesDataItem) { TimeSeriesDataItem datapair = (TimeSeriesDataItem) o1; result = getPeriod().compareTo(datapair.getPeriod()); } // CASE 2 : Comparing to a general object // --------------------------------------------- else { // consider time periods to be ordered after general objects result = 1; } return result; }
final RegularTimePeriod end = RegularTimePeriod.createInstance(timePeriodClass, new Date(currentTime), timeZone); while (cursor != null && cursor.compareTo(end) <= 0)
throw new IllegalArgumentException("Null 'end' argument."); if (start.compareTo(end) > 0) { throw new IllegalArgumentException( "Requires start on or before end.");
if (item.getPeriod().compareTo(last) > 0) { this.data.add(item); added = true;
if (item.getPeriod().compareTo(last) > 0) { this.data.add(item); added = true;
if (start.compareTo(end) > 0) { throw new IllegalArgumentException( "Requires start on or before end.");
public static void normaliseDateRange(TimeSeriesCollection collection, RegularTimePeriod[] range) { if (collection.getSeriesCount() == 0) return; // find earliest date, then move it forwards until we hit now RegularTimePeriod earliest = range[0]; RegularTimePeriod latest = range[1]; RegularTimePeriod cursor = earliest; for (int i = 0; i < collection.getSeriesCount(); i++) { TimeSeries series = collection.getSeries(i); while (cursor.compareTo(latest) != 1) { if (series.getValue(cursor) == null) series.add(cursor, Integer.valueOf(0)); cursor = cursor.next(); } cursor = earliest; } } }
RegularTimePeriod now = RegularTimePeriod.createInstance(timePeriodClass, new Date(), userTimeZone); while (cursor != null && cursor.compareTo(now) < 0)