protected void _select(DataSetGroup op, List<Interval> intervalList) { GroupOpFilter groupOpFilter = new GroupOpFilter(op, true); op.setSelectedIntervalList(intervalList); String columnId = op.getColumnGroup().getColumnId(); if (!_groupOpsSelected.containsKey(columnId)) { _groupOpsSelected.put(columnId, new ArrayList<>()); } _groupOpsSelected.get(columnId).add(groupOpFilter); }
protected void _select(DataSetGroup op, List<Interval> intervalList) { GroupOpFilter groupOpFilter = new GroupOpFilter(op, true); op.setSelectedIntervalList(intervalList); String columnId = op.getColumnGroup().getColumnId(); if (!_groupOpsSelected.containsKey(columnId)) { _groupOpsSelected.put(columnId, new ArrayList<>()); } _groupOpsSelected.get(columnId).add(groupOpFilter); }
/** * Filter the values of the given column. * * @param columnId The name of the column to filter. * @param intervalList A list of interval selections to filter for. */ public void filterApply(String columnId, List<Interval> intervalList) { if (displayerSettings.isFilterEnabled()) { // For string column filters, init the group interval selection operation. DataSetGroup groupOp = dataSetHandler.getGroupOperation(columnId); groupOp.setSelectedIntervalList(intervalList); // Notify to those interested parties the selection event. if (displayerSettings.isFilterNotificationEnabled()) { for (DisplayerListener listener : listenerList) { listener.onFilterEnabled(this, groupOp); } } // Drill-down support if (displayerSettings.isFilterSelfApplyEnabled()) { dataSetHandler.drillDown(groupOp); redraw(); } } }
/** * Filter the values of the given column. * * @param columnId The name of the column to filter. * @param intervalList A list of interval selections to filter for. */ public void filterApply(String columnId, List<Interval> intervalList) { if (displayerSettings.isFilterEnabled()) { // For string column filters, init the group interval selection operation. DataSetGroup groupOp = dataSetHandler.getGroupOperation(columnId); groupOp.setSelectedIntervalList(intervalList); // Notify to those interested parties the selection event. if (displayerSettings.isFilterNotificationEnabled()) { for (DisplayerListener listener : listenerList) { listener.onFilterEnabled(this, groupOp); } } // Drill-down support if (displayerSettings.isFilterSelfApplyEnabled()) { dataSetHandler.drillDown(groupOp); redraw(); } } }
@Test public void appendEqualToIntervalSelectionTest() { String filterValue = "testValue"; DataSetGroup dataSetGroup = new DataSetGroup(); dataSetGroup.setColumnGroup(new ColumnGroup(COLUMN_TEST, COLUMN_TEST, GroupStrategy.DYNAMIC)); List<Interval> intervalList = new ArrayList<Interval>(); Interval interval = new Interval(filterValue); intervalList.add(interval); dataSetGroup.setSelectedIntervalList(intervalList); List<QueryParam> filterParams = new ArrayList<>(); kieServerDataSetProvider.appendIntervalSelection(dataSetGroup, filterParams); assertEquals(1, filterParams.size()); assertEquals(COLUMN_TEST, filterParams.get(0).getColumn()); assertEquals("EQUALS_TO", filterParams.get(0).getOperator()); assertEquals(filterValue, filterParams.get(0).getValue().get(0)); }
@Test public void appendBetweenIntervalSelectionTest() { String filterValue = "testValue"; Long minValue = Long.valueOf(0); Long maxValue = Long.valueOf(2); DataSetGroup dataSetGroup = new DataSetGroup(); dataSetGroup.setColumnGroup(new ColumnGroup(COLUMN_TEST, COLUMN_TEST, GroupStrategy.DYNAMIC)); List<Interval> intervalList = new ArrayList<Interval>(); Interval interval = new Interval(filterValue); interval.setMinValue(minValue); interval.setMaxValue(maxValue); intervalList.add(interval); dataSetGroup.setSelectedIntervalList(intervalList); List<QueryParam> filterParams = new ArrayList<>(); kieServerDataSetProvider.appendIntervalSelection(dataSetGroup, filterParams); assertEquals(1, filterParams.size()); assertEquals(COLUMN_TEST, filterParams.get(0).getColumn()); assertEquals("BETWEEN", filterParams.get(0).getOperator()); assertEquals(Double.valueOf(minValue), filterParams.get(0).getValue().get(0)); assertEquals(Double.valueOf(maxValue), filterParams.get(0).getValue().get(1)); }
@Test public void appendBetweenIntervalSelectionTest() { String filterValue = "testValue"; Long minValue = Long.valueOf(0); Long maxValue = Long.valueOf(2); DataSetGroup dataSetGroup = new DataSetGroup(); dataSetGroup.setColumnGroup(new ColumnGroup(COLUMN_TEST, COLUMN_TEST, GroupStrategy.DYNAMIC)); List<Interval> intervalList = new ArrayList<Interval>(); Interval interval = new Interval(filterValue); interval.setMinValue(minValue); interval.setMaxValue(maxValue); intervalList.add(interval); dataSetGroup.setSelectedIntervalList(intervalList); List<QueryParam> filterParams = new ArrayList<>(); kieServerDataSetProvider.appendIntervalSelection(dataSetGroup, filterParams); assertEquals(1, filterParams.size()); assertEquals(COLUMN_TEST, filterParams.get(0).getColumn()); assertEquals("BETWEEN", filterParams.get(0).getOperator()); assertEquals(Double.valueOf(minValue), filterParams.get(0).getValue().get(0)); assertEquals(Double.valueOf(maxValue), filterParams.get(0).getValue().get(1)); }
@Test public void appendEqualToIntervalSelectionTest() { String filterValue = "testValue"; DataSetGroup dataSetGroup = new DataSetGroup(); dataSetGroup.setColumnGroup(new ColumnGroup(COLUMN_TEST, COLUMN_TEST, GroupStrategy.DYNAMIC)); List<Interval> intervalList = new ArrayList<Interval>(); Interval interval = new Interval(filterValue); intervalList.add(interval); dataSetGroup.setSelectedIntervalList(intervalList); List<QueryParam> filterParams = new ArrayList<>(); kieServerDataSetProvider.appendIntervalSelection(dataSetGroup, filterParams); assertEquals(1, filterParams.size()); assertEquals(COLUMN_TEST, filterParams.get(0).getColumn()); assertEquals("EQUALS_TO", filterParams.get(0).getOperator()); assertEquals(filterValue, filterParams.get(0).getValue().get(0)); }
public DataSetGroup parseDataSetGroup(JsonObject dataSetGroupJson) { if (dataSetGroupJson == null) { return null; } DataSetGroup dataSetGroup = new DataSetGroup(); dataSetGroup.setColumnGroup(null); JsonObject value = dataSetGroupJson.getObject(COLUMNGROUP); if (value != null) { dataSetGroup.setColumnGroup(parseColumnGroup(value)); } List<GroupFunction> groupFunctions = parseGroupFunctions(dataSetGroupJson.getArray(GROUPFUNCTIONS)); if (groupFunctions != null) { dataSetGroup.getGroupFunctions().addAll( groupFunctions ); } dataSetGroup.setSelectedIntervalList(parseSelectedIntervals(dataSetGroupJson.getArray(keySet(SELECTEDINTERVALS)))); dataSetGroup.setJoin(dataSetGroupJson.getBoolean(JOIN)); return dataSetGroup; }
public DataSetGroup parseDataSetGroup(JsonObject dataSetGroupJson) { if (dataSetGroupJson == null) { return null; } DataSetGroup dataSetGroup = new DataSetGroup(); dataSetGroup.setColumnGroup(null); JsonObject value = dataSetGroupJson.getObject(COLUMNGROUP); if (value != null) { dataSetGroup.setColumnGroup(parseColumnGroup(value)); } List<GroupFunction> groupFunctions = parseGroupFunctions(dataSetGroupJson.getArray(GROUPFUNCTIONS)); if (groupFunctions != null) { dataSetGroup.getGroupFunctions().addAll( groupFunctions ); } dataSetGroup.setSelectedIntervalList(parseSelectedIntervals(dataSetGroupJson.getArray(keySet(SELECTEDINTERVALS)))); dataSetGroup.setJoin(dataSetGroupJson.getBoolean(JOIN)); return dataSetGroup; }