public boolean equals(Object obj) { try { ColumnGroup other = (ColumnGroup) obj; if (sourceId != null && !sourceId.equals(other.sourceId)) return false; if (columnId != null && !columnId.equals(other.columnId)) return false; if (strategy != null && !strategy.equals(other.strategy)) return false; if (intervalSize != null && !intervalSize.equals(other.intervalSize)) return false; if (emptyIntervals != other.emptyIntervals) return false; if (maxIntervals != other.maxIntervals) return false; return true; } catch (ClassCastException e) { return false; } }
public static GroupStrategy getByName(String strategy) { try { return valueOf(strategy.toUpperCase()); } catch (Exception e) { return null; } } }
public String getGroupKey(ColumnGroup columnGroup) { return columnGroup.getSourceId() + "_" + columnGroup.getStrategy().toString() + "_" + columnGroup.getIntervalSize() + "_" + columnGroup.getMaxIntervals() + "_" + columnGroup.areEmptyIntervalsAllowed() + "_" + columnGroup.isAscendingOrder() + (columnGroup.getFirstMonthOfYear() != null ? "_" + columnGroup.getFirstMonthOfYear() : "") + (columnGroup.getFirstDayOfWeek() != null ? "_" + columnGroup.getFirstDayOfWeek() : ""); }
public ColumnGroup parseColumnGroup( JsonObject columnGroupJson ) { if (columnGroupJson == null) { return null; } ColumnGroup columnGroup = new ColumnGroup(); columnGroup.setSourceId(columnGroupJson.getString(keySet(SOURCE))); columnGroup.setColumnId(columnGroupJson.getString(keySet(COLUMN))); columnGroup.setStrategy(GroupStrategy.getByName(columnGroupJson.getString(GROUPSTRATEGY))); columnGroup.setMaxIntervals(columnGroupJson.getNumber(MAXINTERVALS, -1).intValue()); columnGroup.setIntervalSize(columnGroupJson.getString(INTERVALSIZE)); columnGroup.setEmptyIntervalsAllowed(columnGroupJson.getBoolean(EMPTYINTERVALS)); columnGroup.setAscendingOrder(columnGroupJson.getBoolean(ASCENDING)); columnGroup.setFirstMonthOfYear(Month.getByName(columnGroupJson.getString(FIRSTMONTHOFYEAR))); columnGroup.setFirstDayOfWeek(DayOfWeek.getByName(columnGroupJson.getString(FIRSTDAYOFWEEK))); return columnGroup; }
public JsonObject formatColumnGroup(ColumnGroup columnGroup) throws JsonException { if (columnGroup == null) { return null; } JsonObject columnGroupJson = Json.createObject(); columnGroupJson.put(SOURCE, columnGroup.getSourceId() != null ? columnGroup.getSourceId() : null); columnGroupJson.put(COLUMN, columnGroup.getColumnId() != null ? columnGroup.getColumnId() : null); columnGroupJson.put(GROUPSTRATEGY, columnGroup.getStrategy() != null ? columnGroup.getStrategy().toString() : null); columnGroupJson.put(MAXINTERVALS, Integer.toString( columnGroup.getMaxIntervals())); columnGroupJson.put(INTERVALSIZE, columnGroup.getIntervalSize() != null ? columnGroup.getIntervalSize() : null); columnGroupJson.put(EMPTYINTERVALS, columnGroup.areEmptyIntervalsAllowed() ? "true" : "false" ); columnGroupJson.put(ASCENDING, columnGroup.isAscendingOrder() ? "true" : "false"); columnGroupJson.put(FIRSTMONTHOFYEAR, columnGroup.getFirstMonthOfYear() != null ? columnGroup.getFirstMonthOfYear().toString() : null); columnGroupJson.put(FIRSTDAYOFWEEK, columnGroup.getFirstDayOfWeek() != null ? columnGroup.getFirstDayOfWeek().toString() : null); return columnGroupJson; }
public ColumnGroup parseColumnGroup( JsonObject columnGroupJson ) { if (columnGroupJson == null) { return null; } ColumnGroup columnGroup = new ColumnGroup(); columnGroup.setSourceId(columnGroupJson.getString(keySet(SOURCE))); columnGroup.setColumnId(columnGroupJson.getString(keySet(COLUMN))); columnGroup.setStrategy(GroupStrategy.getByName(columnGroupJson.getString(GROUPSTRATEGY))); columnGroup.setMaxIntervals(columnGroupJson.getNumber(MAXINTERVALS, -1).intValue()); columnGroup.setIntervalSize(columnGroupJson.getString(INTERVALSIZE)); columnGroup.setEmptyIntervalsAllowed(columnGroupJson.getBoolean(EMPTYINTERVALS)); columnGroup.setAscendingOrder(columnGroupJson.getBoolean(ASCENDING)); columnGroup.setFirstMonthOfYear(Month.getByName(columnGroupJson.getString(FIRSTMONTHOFYEAR))); columnGroup.setFirstDayOfWeek(DayOfWeek.getByName(columnGroupJson.getString(FIRSTDAYOFWEEK))); return columnGroup; }
public boolean equals(Object obj) { try { ColumnGroup other = (ColumnGroup) obj; if (sourceId != null && !sourceId.equals(other.sourceId)) return false; if (columnId != null && !columnId.equals(other.columnId)) return false; if (strategy != null && !strategy.equals(other.strategy)) return false; if (intervalSize != null && !intervalSize.equals(other.intervalSize)) return false; if (emptyIntervals != other.emptyIntervals) return false; if (maxIntervals != other.maxIntervals) return false; return true; } catch (ClassCastException e) { return false; } }
public JsonObject formatColumnGroup(ColumnGroup columnGroup) throws JsonException { if (columnGroup == null) { return null; } JsonObject columnGroupJson = Json.createObject(); columnGroupJson.put(SOURCE, columnGroup.getSourceId() != null ? columnGroup.getSourceId() : null); columnGroupJson.put(COLUMN, columnGroup.getColumnId() != null ? columnGroup.getColumnId() : null); columnGroupJson.put(GROUPSTRATEGY, columnGroup.getStrategy() != null ? columnGroup.getStrategy().toString() : null); columnGroupJson.put(MAXINTERVALS, Integer.toString( columnGroup.getMaxIntervals())); columnGroupJson.put(INTERVALSIZE, columnGroup.getIntervalSize() != null ? columnGroup.getIntervalSize() : null); columnGroupJson.put(EMPTYINTERVALS, columnGroup.areEmptyIntervalsAllowed() ? "true" : "false" ); columnGroupJson.put(ASCENDING, columnGroup.isAscendingOrder() ? "true" : "false"); columnGroupJson.put(FIRSTMONTHOFYEAR, columnGroup.getFirstMonthOfYear() != null ? columnGroup.getFirstMonthOfYear().toString() : null); columnGroupJson.put(FIRSTDAYOFWEEK, columnGroup.getFirstDayOfWeek() != null ? columnGroup.getFirstDayOfWeek().toString() : null); return columnGroupJson; }
public static GroupStrategy getByName(String strategy) { try { return valueOf(strategy.toUpperCase()); } catch (Exception e) { return null; } } }
public boolean isFixedStrategy() { return GroupStrategy.FIXED.equals(columnGroup.getStrategy()); }
public boolean isFixedStrategy() { return GroupStrategy.FIXED.equals(columnGroup.getStrategy()); }
public IntervalBuilder lookup(ColumnType columnType, GroupStrategy strategy) { if (ColumnType.LABEL.equals(columnType)) { if (GroupStrategy.FIXED.equals(strategy)) return intervalBuilderDynamicLabel; if (GroupStrategy.DYNAMIC.equals(strategy)) return intervalBuilderDynamicLabel; } if (ColumnType.DATE.equals(columnType)) { if (GroupStrategy.FIXED.equals(strategy)) return intervalBuilderFixedDate; if (GroupStrategy.DYNAMIC.equals(strategy)) return intervalBuilderDynamicDate; return intervalBuilderDynamicDate; } if (ColumnType.NUMBER.equals(columnType)) { return intervalBuilderDynamicLabel; } if (ColumnType.TEXT.equals(columnType)) { throw new IllegalArgumentException("TEXT columns do not support grouping."); } return null; }
public IntervalBuilder lookup(ColumnType columnType, GroupStrategy strategy) { if (ColumnType.LABEL.equals(columnType)) { if (GroupStrategy.FIXED.equals(strategy)) return intervalBuilderDynamicLabel; if (GroupStrategy.DYNAMIC.equals(strategy)) return intervalBuilderDynamicLabel; } if (ColumnType.DATE.equals(columnType)) { if (GroupStrategy.FIXED.equals(strategy)) return intervalBuilderFixedDate; if (GroupStrategy.DYNAMIC.equals(strategy)) return intervalBuilderDynamicDate; return intervalBuilderDynamicDate; } if (ColumnType.NUMBER.equals(columnType)) { return intervalBuilderDynamicLabel; } if (ColumnType.TEXT.equals(columnType)) { throw new IllegalArgumentException( CommonConstants.INSTANCE.exc_text_columns_no_grouping()); } return null; }
public IntervalBuilder lookup(ColumnType columnType, GroupStrategy strategy) { if (ColumnType.LABEL.equals(columnType)) { if (GroupStrategy.FIXED.equals(strategy)) return intervalBuilderDynamicLabel; if (GroupStrategy.DYNAMIC.equals(strategy)) return intervalBuilderDynamicLabel; } if (ColumnType.DATE.equals(columnType)) { if (GroupStrategy.FIXED.equals(strategy)) return intervalBuilderFixedDate; if (GroupStrategy.DYNAMIC.equals(strategy)) return intervalBuilderDynamicDate; return intervalBuilderDynamicDate; } if (ColumnType.NUMBER.equals(columnType)) { return intervalBuilderDynamicLabel; } if (ColumnType.TEXT.equals(columnType)) { throw new IllegalArgumentException( CommonConstants.INSTANCE.exc_text_columns_no_grouping()); } return null; }
public static Column column(String name, GroupStrategy strategy, DateIntervalType type) { if (GroupStrategy.FIXED.equals(strategy)) { return new FixedDateColumn(name, type); } else { return new DynamicDateColumn(name, type); } }
public static Column column(String name, GroupStrategy strategy, DateIntervalType type) { if (GroupStrategy.FIXED.equals(strategy)) { return new FixedDateColumn(name, type); } else { return new DynamicDateColumn(name, type); } }
if (GroupStrategy.FIXED.equals(strategy)) { Calendar c = GregorianCalendar.getInstance();
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 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; }