/** * Parses a time amount expression. For example: "10second", "-1year", ... * @return A TimeAmount instance. * @throws IllegalArgumentException If the expression is not valid */ public static TimeAmount parse(String timeAmount) { if (timeAmount == null || timeAmount.length() == 0) { throw new IllegalArgumentException("Empty time amount expression"); } String number = ""; String expr = timeAmount.trim(); boolean isNegative = expr.startsWith("-"); boolean isPositive = expr.startsWith("+"); int i = isNegative || isPositive ? 1 : 0; for (; i<expr.length(); i++) { char ch = expr.charAt(i); if (Character.isDigit(ch)) number += ch; else break; } String type = expr.substring(i).trim(); DateIntervalType intervalType = DateIntervalType.getByName(type); if (number.length() == 0) { throw new IllegalArgumentException("Missing quantity (ex '-10year'): "+ timeAmount); } if (intervalType == null) { throw new IllegalArgumentException("Invalid interval type (ex '-10year'): "+ timeAmount); } return new TimeAmount(Long.parseLong(number) * (isNegative ? -1 : 1), intervalType); } }
/** * Parses a time amount expression. For example: "10second", "-1year", ... * @return A TimeAmount instance. * @throws IllegalArgumentException If the expression is not valid */ public static TimeAmount parse(String timeAmount) { if (timeAmount == null || timeAmount.length() == 0) { throw new IllegalArgumentException("Empty time amount expression"); } String number = ""; String expr = timeAmount.trim(); boolean isNegative = expr.startsWith("-"); boolean isPositive = expr.startsWith("+"); int i = isNegative || isPositive ? 1 : 0; for (; i<expr.length(); i++) { char ch = expr.charAt(i); if (Character.isDigit(ch)) number += ch; else break; } String type = expr.substring(i).trim(); DateIntervalType intervalType = DateIntervalType.getByName(type); if (number.length() == 0) { throw new IllegalArgumentException("Missing quantity (ex '-10year'): "+ timeAmount); } if (intervalType == null) { throw new IllegalArgumentException("Invalid interval type (ex '-10year'): "+ timeAmount); } return new TimeAmount(Long.parseLong(number) * (isNegative ? -1 : 1), intervalType); } }
protected void initIntervalTypeSelector() { view.clearIntervalTypeSelector(); DateIntervalType current = DateIntervalType.getByName(columnGroup.getIntervalSize()); List<DateIntervalType> entries = getListOfIntervalTypes(); for (int i = 0; i < entries.size(); i++) { DateIntervalType entry = entries.get(i); view.addIntervalTypeItem(entry); if (current != null && current.equals(entry)) { view.setSelectedIntervalTypeIndex(i); } } }
protected void initIntervalTypeSelector() { view.clearIntervalTypeSelector(); DateIntervalType current = DateIntervalType.getByName(columnGroup.getIntervalSize()); List<DateIntervalType> entries = getListOfIntervalTypes(); for (int i = 0; i < entries.size(); i++) { DateIntervalType entry = entries.get(i); view.addIntervalTypeItem(entry); if (current != null && current.equals(entry)) { view.setSelectedIntervalTypeIndex(i); } } }
public static Date parseDate(DataColumn dateColumn, Object date) throws Exception { DateIntervalType type = DateIntervalType.getByName(dateColumn.getIntervalType()); GroupStrategy strategy = dateColumn.getColumnGroup().getStrategy(); return parseDate(type, strategy, date); }
public T firstMonth(Month month) { DataSetGroup gOp = (DataSetGroup) getCurrentOp(); if (gOp == null || gOp.getColumnGroup() == null) { throw new RuntimeException("group() must be called first."); } ColumnGroup columnGroup = gOp.getColumnGroup(); if (!GroupStrategy.FIXED.equals(columnGroup.getStrategy())) { throw new RuntimeException("A fixed group is required."); } if (!DateIntervalType.MONTH.equals(DateIntervalType.getByName(columnGroup.getIntervalSize()))) { throw new RuntimeException("A fixed MONTH date group is required."); } columnGroup.setFirstMonthOfYear(month); return (T) this; }
public T firstDay(DayOfWeek dayOfWeek) { DataSetGroup gOp = (DataSetGroup) getCurrentOp(); if (gOp == null || gOp.getColumnGroup() == null) { throw new RuntimeException("group() must be called first."); } ColumnGroup columnGroup = gOp.getColumnGroup(); if (!GroupStrategy.FIXED.equals(columnGroup.getStrategy())) { throw new RuntimeException("A fixed group is required."); } if (!DateIntervalType.DAY_OF_WEEK.equals(DateIntervalType.getByName(columnGroup.getIntervalSize()))) { throw new RuntimeException("A fixed DAY_OF_WEEK date group is required."); } columnGroup.setFirstDayOfWeek(dayOfWeek); return (T) this; }
public T firstMonth(Month month) { DataSetGroup gOp = (DataSetGroup) getCurrentOp(); if (gOp == null || gOp.getColumnGroup() == null) { throw new RuntimeException("group() must be called first."); } ColumnGroup columnGroup = gOp.getColumnGroup(); if (!GroupStrategy.FIXED.equals(columnGroup.getStrategy())) { throw new RuntimeException("A fixed group is required."); } if (!DateIntervalType.MONTH.equals(DateIntervalType.getByName(columnGroup.getIntervalSize()))) { throw new RuntimeException("A fixed MONTH date group is required."); } columnGroup.setFirstMonthOfYear(month); return (T) this; }
public T firstDay(DayOfWeek dayOfWeek) { DataSetGroup gOp = (DataSetGroup) getCurrentOp(); if (gOp == null || gOp.getColumnGroup() == null) { throw new RuntimeException("group() must be called first."); } ColumnGroup columnGroup = gOp.getColumnGroup(); if (!GroupStrategy.FIXED.equals(columnGroup.getStrategy())) { throw new RuntimeException("A fixed group is required."); } if (!DateIntervalType.DAY_OF_WEEK.equals(DateIntervalType.getByName(columnGroup.getIntervalSize()))) { throw new RuntimeException("A fixed DAY_OF_WEEK date group is required."); } columnGroup.setFirstDayOfWeek(dayOfWeek); return (T) this; }
public void gotoFixedMode() { resetCommon(); DateIntervalType current = DateIntervalType.getByName(columnGroup.getIntervalSize()); if (DateIntervalType.DAY_OF_WEEK.equals(current)) { initFirstDayListBox(); } else if (DateIntervalType.MONTH.equals(current)) { initFirstMonthListBox(); } }
protected DateIntervalType calculateDateInterval(ColumnGroup cg) { if (dateIntervalType != null) { return dateIntervalType; } if (GroupStrategy.DYNAMIC.equals(cg.getStrategy())) { Date[] limits = calculateDateLimits(cg.getSourceId()); if (limits != null) { dateIntervalType = intervalBuilderDynamicDate.calculateIntervalSize(limits[0], limits[1], cg); return dateIntervalType; } } dateIntervalType = DateIntervalType.getByName(cg.getIntervalSize()); return dateIntervalType; }
public void gotoFixedMode() { resetCommon(); DateIntervalType current = DateIntervalType.getByName(columnGroup.getIntervalSize()); if (DateIntervalType.DAY_OF_WEEK.equals(current)) { initFirstDayListBox(); } else if (DateIntervalType.MONTH.equals(current)) { initFirstMonthListBox(); } }
protected DateIntervalType calculateDateInterval(ColumnGroup cg) { if (dateIntervalType != null) { return dateIntervalType; } if (GroupStrategy.DYNAMIC.equals(cg.getStrategy())) { Date[] limits = calculateDateLimits(cg.getSourceId()); if (limits != null) { dateIntervalType = intervalBuilderDynamicDate.calculateIntervalSize(limits[0], limits[1], cg); return dateIntervalType; } } dateIntervalType = DateIntervalType.getByName(cg.getIntervalSize()); return dateIntervalType; }
return results; DateIntervalType intervalType = DateIntervalType.getByName(dataColumn.getIntervalType()); if (intervalType == null) { intervalType = DateIntervalType.YEAR;
void onIntervalTypeSelected() { DateIntervalType intervalType = DateIntervalType.getByIndex(view.getSelectedIntervalTypeIndex()); if (isFixedStrategy()) { intervalType = DateIntervalType.FIXED_INTERVALS_SUPPORTED.get(view.getSelectedIntervalTypeIndex()); } columnGroup.setIntervalSize(intervalType.name()); columnGroup.setFirstMonthOfYear(null); columnGroup.setFirstDayOfWeek(null); view.setFirstMonthVisibility(false); view.setFirstDayVisibility(false); if (GroupStrategy.FIXED.equals(columnGroup.getStrategy())) { if (DateIntervalType.MONTH.equals(DateIntervalType.getByName(columnGroup.getIntervalSize()))) { view.setFirstMonthVisibility(true); initFirstMonthListBox(); } else if (DateIntervalType.DAY_OF_WEEK.equals(DateIntervalType.getByName(columnGroup.getIntervalSize()))) { view.setFirstDayVisibility(true); initFirstDayListBox(); } } changeEvent.fire(new DataSetGroupDateChanged(columnGroup)); }
void onIntervalTypeSelected() { DateIntervalType intervalType = DateIntervalType.getByIndex(view.getSelectedIntervalTypeIndex()); if (isFixedStrategy()) { intervalType = DateIntervalType.FIXED_INTERVALS_SUPPORTED.get(view.getSelectedIntervalTypeIndex()); } columnGroup.setIntervalSize(intervalType.name()); columnGroup.setFirstMonthOfYear(null); columnGroup.setFirstDayOfWeek(null); view.setFirstMonthVisibility(false); view.setFirstDayVisibility(false); if (GroupStrategy.FIXED.equals(columnGroup.getStrategy())) { if (DateIntervalType.MONTH.equals(DateIntervalType.getByName(columnGroup.getIntervalSize()))) { view.setFirstMonthVisibility(true); initFirstMonthListBox(); } else if (DateIntervalType.DAY_OF_WEEK.equals(DateIntervalType.getByName(columnGroup.getIntervalSize()))) { view.setFirstDayVisibility(true); initFirstDayListBox(); } } changeEvent.fire(new DataSetGroupDateChanged(columnGroup)); }
return results; DateIntervalType intervalType = DateIntervalType.getByName(dataColumn.getIntervalType()); if (intervalType == null) { intervalType = DateIntervalType.YEAR;
public IntervalList createIntervalList(ColumnGroup columnGroup) { DateIntervalType type = DateIntervalType.getByName(columnGroup.getIntervalSize()); if (QUARTER.equals(type)) { return new IntervalListQuarter(columnGroup); } if (MONTH.equals(type)) { return new IntervalListMonth(columnGroup); } if (DAY_OF_WEEK.equals(type)) { return new IntervalListDayOfWeek(columnGroup); } if (HOUR.equals(type)) { return new IntervalListHour(columnGroup); } if (MINUTE.equals(type)) { return new IntervalListMinute(columnGroup); } if (SECOND.equals(type)) { return new IntervalListSecond(columnGroup); } throw new IllegalArgumentException("Interval size '" + columnGroup.getIntervalSize() + "' not supported for " + "fixed date intervals. The only supported sizes are: " + join(DateIntervalType.FIXED_INTERVALS_SUPPORTED, ",")); }
public String formatInterval(Interval interval, DataColumn column) { // Raw values if (column == null || column.getColumnGroup() == null) { return interval.getName(); } // Date interval String type = interval.getType(); if (StringUtils.isBlank(type)) type = column.getIntervalType(); if (StringUtils.isBlank(type)) type = column.getColumnGroup().getIntervalSize(); DateIntervalType intervalType = DateIntervalType.getByName(type); if (intervalType != null) { ColumnSettings columnSettings = displayerSettings.getColumnSettings(column.getId()); String pattern = columnSettings != null ? columnSettings.getValuePattern() : ColumnSettings.getDatePattern(intervalType); String expression = columnSettings != null ? columnSettings.getValueExpression() : null; if (pattern == null) { pattern = ColumnSettings.getDatePattern(intervalType); } if (expression == null && column.getColumnGroup().getStrategy().equals(GroupStrategy.FIXED)) { expression = ColumnSettings.getFixedExpression(intervalType); } return formatDate(intervalType, column.getColumnGroup().getStrategy(), interval.getName(), pattern, expression); } // Label interval ColumnSettings columnSettings = displayerSettings.getColumnSettings(column); String expression = columnSettings.getValueExpression(); if (StringUtils.isBlank(expression)) return interval.getName(); return getEvaluator().evalExpression(interval.getName(), expression); }
public String formatInterval(Interval interval, DataColumn column) { // Raw values if (column == null || column.getColumnGroup() == null) { return interval.getName(); } // Date interval String type = interval.getType(); if (StringUtils.isBlank(type)) type = column.getIntervalType(); if (StringUtils.isBlank(type)) type = column.getColumnGroup().getIntervalSize(); DateIntervalType intervalType = DateIntervalType.getByName(type); if (intervalType != null) { ColumnSettings columnSettings = displayerSettings.getColumnSettings(column.getId()); String pattern = columnSettings != null ? columnSettings.getValuePattern() : ColumnSettings.getDatePattern(intervalType); String expression = columnSettings != null ? columnSettings.getValueExpression() : null; if (pattern == null) { pattern = ColumnSettings.getDatePattern(intervalType); } if (expression == null && column.getColumnGroup().getStrategy().equals(GroupStrategy.FIXED)) { expression = ColumnSettings.getFixedExpression(intervalType); } return formatDate(intervalType, column.getColumnGroup().getStrategy(), interval.getName(), pattern, expression); } // Label interval ColumnSettings columnSettings = displayerSettings.getColumnSettings(column); String expression = columnSettings.getValueExpression(); if (StringUtils.isBlank(expression)) return interval.getName(); return getEvaluator().evalExpression(interval.getName(), expression); }