public DataSetGroup cloneInstance() { DataSetGroup clone = new DataSetGroup(); clone.dataSetUUID = dataSetUUID; if (columnGroup != null) clone.columnGroup = columnGroup.cloneInstance(); clone.join = join; clone.selectedIntervalList = new ArrayList(); for (Interval interval : selectedIntervalList) { clone.selectedIntervalList.add(interval.cloneInstance()); } clone.groupFunctionList = new ArrayList(); for (GroupFunction groupFunction : groupFunctionList) { clone.groupFunctionList.add(groupFunction.cloneInstance()); } return clone; }
public DataSetGroup cloneInstance() { DataSetGroup clone = new DataSetGroup(); clone.dataSetUUID = dataSetUUID; if (columnGroup != null) clone.columnGroup = columnGroup.cloneInstance(); clone.join = join; clone.selectedIntervalList = new ArrayList(); for (Interval interval : selectedIntervalList) { clone.selectedIntervalList.add(interval.cloneInstance()); } clone.groupFunctionList = new ArrayList(); for (GroupFunction groupFunction : groupFunctionList) { clone.groupFunctionList.add(groupFunction.cloneInstance()); } return clone; }
public T group(String columnId, String newColumnId) { DataSetGroup gOp = new DataSetGroup(); gOp.setColumnGroup(new ColumnGroup(columnId, newColumnId)); dataSetLookup.addOperation(gOp); return (T) this; }
public T group(String columnId, String newColumnId) { DataSetGroup gOp = new DataSetGroup(); gOp.setColumnGroup(new ColumnGroup(columnId, newColumnId)); dataSetLookup.addOperation(gOp); return (T) this; }
public T select(String... intervalNames) { DataSetOp op = getCurrentOp(); if (op == null || !(op instanceof DataSetGroup)) { dataSetLookup.addOperation(new DataSetGroup()); } DataSetGroup gOp = (DataSetGroup) getCurrentOp(); gOp.addSelectedIntervalNames(intervalNames); return (T) this; }
public T select(String... intervalNames) { DataSetOp op = getCurrentOp(); if (op == null || !(op instanceof DataSetGroup)) { dataSetLookup.addOperation(new DataSetGroup()); } DataSetGroup gOp = (DataSetGroup) getCurrentOp(); gOp.addSelectedIntervalNames(intervalNames); return (T) this; }
@Override public DataSetGroup getGroupOperation(String columnId) { String sourceId = _getSourceColumnId(columnId); int index = lookupCurrent.getLastGroupOpIndex(0, sourceId, false); if (index != -1) { return (DataSetGroup) lookupCurrent.getOperation(index).cloneInstance(); } DataSetGroup result = new DataSetGroup(); result.setColumnGroup(new ColumnGroup(sourceId, sourceId, GroupStrategy.DYNAMIC)); return result; }
@Override public DataSetGroup getGroupOperation(String columnId) { String sourceId = _getSourceColumnId(columnId); int index = lookupCurrent.getLastGroupOpIndex(0, sourceId, false); if (index != -1) { return (DataSetGroup) lookupCurrent.getOperation(index).cloneInstance(); } DataSetGroup result = new DataSetGroup(); result.setColumnGroup(new ColumnGroup(sourceId, sourceId, GroupStrategy.DYNAMIC)); return result; }
public T column(String columnId, AggregateFunctionType function, String newColumnId) { DataSetOp op = getCurrentOp(); if (op == null || !(op instanceof DataSetGroup) || ((DataSetGroup) op).isSelect()) { dataSetLookup.addOperation(new DataSetGroup()); } DataSetGroup gOp = (DataSetGroup) getCurrentOp(); gOp.addGroupFunction(new GroupFunction(columnId, newColumnId, function)); return (T) this; }
public T column(String columnId, AggregateFunctionType function, String newColumnId) { DataSetOp op = getCurrentOp(); if (op == null || !(op instanceof DataSetGroup) || ((DataSetGroup) op).isSelect()) { dataSetLookup.addOperation(new DataSetGroup()); } DataSetGroup gOp = (DataSetGroup) getCurrentOp(); gOp.addGroupFunction(new GroupFunction(columnId, newColumnId, function)); return (T) this; }
@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)); }
@Test public void testGroupWithNotSetInterval() { DataSetGroup dataSetGroup = new DataSetGroup(); dataSetGroup.setColumnGroup(new ColumnGroup(COLUMN_TEST, COLUMN_TEST, GroupStrategy.DYNAMIC)); List<QueryParam> filterParams = new ArrayList<>(); List<DataColumn> extraColumns = new ArrayList<>(); kieServerDataSetProvider.handleDataSetGroup(dataSetDef, dataSetGroup, filterParams, extraColumns); assertEquals(1, filterParams.size()); assertEquals(COLUMN_TEST, filterParams.get(0).getColumn()); assertEquals("group", filterParams.get(0).getOperator()); assertEquals(1, filterParams.get(0).getValue().size()); assertEquals(COLUMN_TEST, 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; }
@Test public void testGroupWithNotSetInterval() { DataSetGroup dataSetGroup = new DataSetGroup(); dataSetGroup.setColumnGroup(new ColumnGroup(COLUMN_TEST, COLUMN_TEST, GroupStrategy.DYNAMIC)); List<QueryParam> filterParams = new ArrayList<>(); List<DataColumn> extraColumns = new ArrayList<>(); kieServerDataSetProvider.handleDataSetGroup(dataSetDef, dataSetGroup, filterParams, extraColumns); assertEquals(1, filterParams.size()); assertEquals(COLUMN_TEST, filterParams.get(0).getColumn()); assertEquals("group", filterParams.get(0).getOperator()); assertEquals(1, filterParams.get(0).getValue().size()); assertEquals(COLUMN_TEST, filterParams.get(0).getValue().get(0)); }
@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; }
@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 testGroupWithInterval() { DataSetGroup dataSetGroup = new DataSetGroup(); dataSetGroup.setColumnGroup(new ColumnGroup(COLUMN_TEST, COLUMN_TEST,
@Test public void testGroupWithInterval() { DataSetGroup dataSetGroup = new DataSetGroup(); dataSetGroup.setColumnGroup(new ColumnGroup(COLUMN_TEST, COLUMN_TEST,