public int removeOperations(DataSetOpType type) { int removed = 0; Iterator<DataSetOp> it = operationList.iterator(); while (it.hasNext()) { DataSetOp op = it.next(); if (op.getType().equals(type)) { it.remove(); removed++; } } return removed; }
public int removeOperations(DataSetOpType type) { int removed = 0; Iterator<DataSetOp> it = operationList.iterator(); while (it.hasNext()) { DataSetOp op = it.next(); if (op.getType().equals(type)) { it.remove(); removed++; } } return removed; }
public int getLastGroupOpIndex(int fromIndex) { int target = -1; for (int i = fromIndex; i < operationList.size(); i++) { DataSetOp op = operationList.get(i); if (DataSetOpType.GROUP.equals(op.getType())) { target = i; } } return target; }
public int getLastGroupOpIndex(int fromIndex) { int target = -1; for (int i = fromIndex; i < operationList.size(); i++) { DataSetOp op = operationList.get(i); if (DataSetOpType.GROUP.equals(op.getType())) { target = i; } } return target; }
/** * Ensure the sequence of operations to apply match the following pattern: * <ul> * <li>(0..N) Filter</li> * <li>(0..N) Group</li> * <li>(0..1) Sort</li> * </ul> * @throws IllegalArgumentException If the operation sequence is invalid. */ protected void checkOpList(List<DataSetOp> opList) { StringBuilder out = new StringBuilder(); for (DataSetOp op : opList) { if (DataSetOpType.FILTER.equals(op.getType())) out.append("F"); if (DataSetOpType.GROUP.equals(op.getType())) out.append("G"); if (DataSetOpType.SORT.equals(op.getType())) out.append("S"); } String pattern = out.toString(); if (!pattern.matches("F*G*S?")) { throw new IllegalArgumentException("Invalid operation sequence order. Valid = (0..N) FILTER > (0..N) GROUP > (0..1) SORT"); } }
public int getFirstGroupOpIndex(int fromIndex, String columnId, Boolean onlySelections) { for (int i = fromIndex; i < operationList.size(); i++) { DataSetOp op = operationList.get(i); if (DataSetOpType.GROUP.equals(op.getType())) { DataSetGroup groupOp = (DataSetGroup) op; ColumnGroup cg = groupOp.getColumnGroup(); boolean hasSelections = groupOp.isSelect(); boolean matchColumn = columnId == null || (cg != null && cg.getColumnId().equals(columnId)); boolean matchSelections = onlySelections == null || (onlySelections && hasSelections) || (!onlySelections && !hasSelections); if (matchColumn && matchSelections) { return i; } } } return -1; }
protected String isFilteredByProcessId(List<DataSetOp> ops) { for (DataSetOp dataSetOp : ops) { if (dataSetOp.getType().equals(DataSetOpType.FILTER)) { List<ColumnFilter> filters = ((DataSetFilter) dataSetOp).getColumnFilterList(); for (ColumnFilter filter : filters) { if (filter instanceof CoreFunctionFilter) { CoreFunctionFilter coreFilter = ((CoreFunctionFilter) filter); if (filter.getColumnId().toUpperCase().equals(COLUMN_PROCESS_ID.toUpperCase()) && ((CoreFunctionFilter) filter).getType() == CoreFunctionType.EQUALS_TO) { List parameters = coreFilter.getParameters(); if (parameters.size() > 0) { return parameters.get(0).toString(); } } } } } } return null; }
protected String isFilteredByTaskName(List<DataSetOp> ops) { for (DataSetOp dataSetOp : ops) { if (dataSetOp.getType().equals(DataSetOpType.FILTER)) { List<ColumnFilter> filters = ((DataSetFilter) dataSetOp).getColumnFilterList(); for (ColumnFilter filter : filters) { if (filter instanceof CoreFunctionFilter) { CoreFunctionFilter coreFilter = ((CoreFunctionFilter) filter); if (filter.getColumnId().toUpperCase().equals(COLUMN_NAME.toUpperCase()) && ((CoreFunctionFilter) filter).getType() == CoreFunctionType.EQUALS_TO) { List parameters = coreFilter.getParameters(); if (parameters.size() > 0) { return parameters.get(0).toString(); } } } } } } return null; }
protected String isFilteredByProcessId( List<DataSetOp> ops ) { for ( DataSetOp dataSetOp : ops ) { if ( dataSetOp.getType().equals( DataSetOpType.FILTER ) ) { List<ColumnFilter> filters = ( ( DataSetFilter ) dataSetOp ).getColumnFilterList(); for ( ColumnFilter filter : filters ) { if ( filter instanceof CoreFunctionFilter ) { CoreFunctionFilter coreFilter = ( ( CoreFunctionFilter ) filter ); if ( filter.getColumnId().toUpperCase().equals( COLUMN_PROCESS_ID.toUpperCase() ) && ((CoreFunctionFilter) filter).getType() == CoreFunctionType.EQUALS_TO ) { List parameters = coreFilter.getParameters(); if ( parameters.size() > 0 ) { return parameters.get( 0 ).toString(); } } } } } } return null; }
public int getFirstGroupOpIndex(int fromIndex, String columnId, Boolean onlySelections) { for (int i = fromIndex; i < operationList.size(); i++) { DataSetOp op = operationList.get(i); if (DataSetOpType.GROUP.equals(op.getType())) { DataSetGroup groupOp = (DataSetGroup) op; ColumnGroup cg = groupOp.getColumnGroup(); boolean hasSelections = groupOp.isSelect(); boolean matchColumn = columnId == null || (cg != null && cg.getColumnId().equals(columnId)); boolean matchSelections = onlySelections == null || (onlySelections && hasSelections) || (!onlySelections && !hasSelections); if (matchColumn && matchSelections) { return i; } } } return -1; }
protected String isFilteredByTaskName(List<DataSetOp> ops) { for (DataSetOp dataSetOp : ops) { if (dataSetOp.getType().equals(DataSetOpType.FILTER)) { List<ColumnFilter> filters = ((DataSetFilter) dataSetOp).getColumnFilterList(); for (ColumnFilter filter : filters) { if (filter instanceof CoreFunctionFilter) { CoreFunctionFilter coreFilter = ((CoreFunctionFilter) filter); if (filter.getColumnId().toUpperCase().equals(COLUMN_NAME.toUpperCase()) && ((CoreFunctionFilter) filter).getType() == CoreFunctionType.EQUALS_TO) { List parameters = coreFilter.getParameters(); if (parameters.size() > 0) { return parameters.get(0).toString(); } } } } } } return null; }
public int getLastGroupOpIndex(int fromIndex, String columnId, boolean onlySelections) { int target = -1; for (int i = fromIndex; i < operationList.size(); i++) { DataSetOp op = operationList.get(i); if (DataSetOpType.GROUP.equals(op.getType())) { DataSetGroup groupOp = (DataSetGroup) op; ColumnGroup cg = groupOp.getColumnGroup(); if (cg == null) { // Discard column selection ops continue; } if (columnId != null && !cg.getColumnId().equals(columnId)) { // Discard group ops related to other columns continue; } if (onlySelections && !groupOp.isSelect()) { // Discard non-selections continue; } target= i; } } return target; }
public int getLastGroupOpIndex(int fromIndex, String columnId, boolean onlySelections) { int target = -1; for (int i = fromIndex; i < operationList.size(); i++) { DataSetOp op = operationList.get(i); if (DataSetOpType.GROUP.equals(op.getType())) { DataSetGroup groupOp = (DataSetGroup) op; ColumnGroup cg = groupOp.getColumnGroup(); if (cg == null) { // Discard column selection ops continue; } if (columnId != null && !cg.getColumnId().equals(columnId)) { // Discard group ops related to other columns continue; } if (onlySelections && !groupOp.isSelect()) { // Discard non-selections continue; } target= i; } } return target; }
DataSetOp op = operationList.get(i); if (DataSetOpType.GROUP.equals(op.getType())) { if (sort) throw new IllegalStateException("Sort operations must be applied ALWAYS AFTER GROUP."); else if (DataSetOpType.FILTER.equals(op.getType())) { if (group) throw new IllegalStateException("Filter operations must be applied ALWAYS BEFORE GROUP."); if (sort) throw new IllegalStateException("Sort operations must be applied ALWAYS AFTER FILTER."); context.lastOperation = op; else if (DataSetOpType.SORT.equals(op.getType())) { if (sort) throw new IllegalStateException("Sort can only be executed once.");
@Test public void testIsNullTableSettingsPrototype() { when(identity.getIdentifier()).thenReturn("user"); FilterSettings filterSettings = getFilterSettingsManager().createFilterSettingsPrototype(); List<DataSetOp> ops = filterSettings.getDataSetLookup().getOperationList(); for (DataSetOp op : ops) { if (op.getType().equals(DataSetOpType.FILTER)) { List<ColumnFilter> columnFilters = ((DataSetFilter) op).getColumnFilterList(); for (ColumnFilter columnFilter : columnFilters) { assertTrue((columnFilter).toString().contains(COLUMN_ACTUAL_OWNER + " is_null")); } } } }
@Test public void getVariablesTableSettingsTest() { FilterSettings filterSettings = getFilterSettingsManager().getVariablesFilterSettings(singletonList(1l)); List<DataSetOp> ops = filterSettings.getDataSetLookup().getOperationList(); for (DataSetOp op : ops) { if (op.getType().equals(DataSetOpType.FILTER)) { List<ColumnFilter> columnFilters = ((DataSetFilter) op).getColumnFilterList(); for (ColumnFilter columnFilter : columnFilters) { assertEquals(COLUMN_TASK_VARIABLE_TASK_ID, columnFilter.getColumnId()); assertEquals(COLUMN_TASK_VARIABLE_TASK_ID + " in 1", columnFilter.toString()); } } } }