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 DataSetLookup cloneInstance() { DataSetLookup clone = new DataSetLookup(); clone.setDataSetUUID(dataSetUUID); clone.setRowOffset(rowOffset); clone.setNumberOfRows(numberOfRows); for (DataSetOp dataSetOp : operationList) { clone.operationList.add(dataSetOp.cloneInstance()); } return clone; }
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 DataSetLookup cloneInstance() { DataSetLookup clone = new DataSetLookup(); clone.setDataSetUUID(dataSetUUID); clone.setRowOffset(rowOffset); clone.setNumberOfRows(numberOfRows); for (DataSetOp dataSetOp : operationList) { clone.operationList.add(dataSetOp.cloneInstance()); } return clone; }
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; }
@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 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; }
@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; }
/** * 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 static DataSetLookup fromInstance(DataSetLookup orig, String serverTemplateId) { ConsoleDataSetLookup clone = new ConsoleDataSetLookup(); clone.setDataSetUUID(orig.getDataSetUUID()); clone.setRowOffset(orig.getRowOffset()); clone.setNumberOfRows(orig.getNumberOfRows()); for (DataSetOp dataSetOp : orig.getOperationList()) { clone.getOperationList().add(dataSetOp.cloneInstance()); } clone.setServerTemplateId(serverTemplateId); return clone; }
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; }
public static DataSetLookup fromInstance(DataSetLookup orig, String serverTemplateId) { ConsoleDataSetLookup clone = new ConsoleDataSetLookup(); clone.setDataSetUUID(orig.getDataSetUUID()); clone.setRowOffset(orig.getRowOffset()); clone.setNumberOfRows(orig.getNumberOfRows()); for (DataSetOp dataSetOp : orig.getOperationList()) { clone.getOperationList().add(dataSetOp.cloneInstance()); } clone.setServerTemplateId(serverTemplateId); return clone; }
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 static DataSetLookup fromInstance(DataSetLookup orig, String serverTemplateId) { ConsoleDataSetLookup clone = new ConsoleDataSetLookup(); clone.setDataSetUUID(orig.getDataSetUUID()); clone.setRowOffset(orig.getRowOffset()); clone.setNumberOfRows(orig.getNumberOfRows()); for (DataSetOp dataSetOp : orig.getOperationList()) { clone.getOperationList().add(dataSetOp.cloneInstance()); } clone.setServerTemplateId(serverTemplateId); return clone; }
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; }
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; }
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; }