public List<Comparable> getParameters() { return coreFunctionFilter.getParameters(); }
protected List<CoreFunctionType> getAvailableFunctions(CoreFunctionFilter coreFilter) { ColumnType columnType = metadata.getColumnType(coreFilter.getColumnId()); List<CoreFunctionType> functionTypes = CoreFunctionType.getSupportedTypes(columnType); Iterator<CoreFunctionType> it = functionTypes.iterator(); while (it.hasNext()) { CoreFunctionType next = it.next(); if (next.equals(coreFilter.getType())) { it.remove(); } } return functionTypes; }
public static ColumnFilter equalsTo(String columnId, Comparable allowedValue) { return new CoreFunctionFilter(columnId, CoreFunctionType.EQUALS_TO, allowedValue); }
public static CoreFunctionFilter createCoreFunctionFilter(String columnId, ColumnType columnType, CoreFunctionType functionType) { List params = createParameters(columnType, functionType); CoreFunctionFilter columnFilter = new CoreFunctionFilter(); columnFilter.setColumnId(columnId); columnFilter.setType(functionType); columnFilter.setParameters(params); return columnFilter; }
protected FunctionParameterEditor createParamInputWidget(final CoreFunctionFilter coreFilter, final int paramIndex) { final List paramList = coreFilter.getParameters(); ColumnType columnType = metadata.getColumnType(coreFilter.getColumnId()); CoreFunctionType functionType = coreFilter.getType(); boolean isMultiple = CoreFunctionType.IN.equals(functionType) || CoreFunctionType.NOT_IN.equals(functionType); if (ColumnType.DATE.equals(columnType)) { if (CoreFunctionType.TIME_FRAME.equals(coreFilter.getType())) { return createTimeFrameWidget(paramList, paramIndex); } return createDateInputWidget(paramList, paramIndex); } if (!isMultiple) { if (ColumnType.NUMBER.equals(columnType)) { return createNumberInputWidget(paramList, paramIndex); } return createTextInputWidget(paramList, paramIndex); } else { if (ColumnType.NUMBER.equals(columnType)) { return createMultipleNumberInputWidget(paramList); } return createMultipleTextInputWidget(paramList); } }
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 List<FunctionParameterEditor> createFilterInputControls() { List<FunctionParameterEditor> filterInputControls = new ArrayList<FunctionParameterEditor>(); CoreFunctionFilter coreFilter = getCoreFilter(); if (CoreFunctionType.LIKE_TO.equals(coreFilter.getType())) { FunctionParameterEditor paramInput = createLikeToFunctionWidget(coreFilter); filterInputControls.add(paramInput); } else { for (int i = 0; i < coreFilter.getType().getParametersCount(); i++) { FunctionParameterEditor paramInput = createParamInputWidget(coreFilter, i); filterInputControls.add(paramInput); } } return filterInputControls; }
@Test public void testCreateProjectFilter() { when(workspaceProject.getName()).thenReturn("project1"); when(workspaceProject.getOrganizationalUnit().getName()).thenReturn("mySpace"); when(workspaceProject.getRepository().getAlias()).thenReturn("alias"); LogicalExprFilter filter = (LogicalExprFilter) this.projectMetricsFactory.createProjectFilter(workspaceProject); List<String> filters = filter.getLogicalTerms() .stream() .map(e -> { CoreFunctionFilter f = ((CoreFunctionFilter) e); return f.getColumnId() + "=" + f.getParameters().get(0); }) .collect(Collectors.toList()); assertThat(filters.size(), CoreMatchers.is(3)); assertThat(filters, CoreMatchers.hasItems("project=project1", "organization=mySpace", "repository=alias")); } }
public void onSelectFilterFunction() { int selectedIdx = view.getSelectedFunctionIndex(); if (selectedIdx >= 0) { CoreFunctionFilter coreFilter = getCoreFilter(); CoreFunctionType functionType = getAvailableFunctions(coreFilter).get(selectedIdx); ColumnType columnType = metadata.getColumnType(coreFilter.getColumnId()); List params = FilterFactory.createParameters(columnType, functionType); coreFilter.setType(functionType); coreFilter.setParameters(params); initFilterSelector(); fireFilterChanged(); if (!initFilterConfig().isEmpty()) { view.showFilterConfig(); } } }
public CoreFunctionFilter(String columnId, CoreFunctionType type, Comparable... parameters) { super(columnId); this.type = type; this.setParameters(parameters); }
protected FunctionParameterEditor createParamInputWidget(final CoreFunctionFilter coreFilter, final int paramIndex) { final List paramList = coreFilter.getParameters(); ColumnType columnType = metadata.getColumnType(coreFilter.getColumnId()); CoreFunctionType functionType = coreFilter.getType(); boolean isMultiple = CoreFunctionType.IN.equals(functionType) || CoreFunctionType.NOT_IN.equals(functionType); if (ColumnType.DATE.equals(columnType)) { if (CoreFunctionType.TIME_FRAME.equals(coreFilter.getType())) { return createTimeFrameWidget(paramList, paramIndex); } return createDateInputWidget(paramList, paramIndex); } if (!isMultiple) { if (ColumnType.NUMBER.equals(columnType)) { return createNumberInputWidget(paramList, paramIndex); } return createTextInputWidget(paramList, paramIndex); } else { if (ColumnType.NUMBER.equals(columnType)) { return createMultipleNumberInputWidget(paramList); } return createMultipleTextInputWidget(paramList); } }
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 static CoreFunctionFilter createCoreFunctionFilter(String columnId, ColumnType columnType, CoreFunctionType functionType) { List params = createParameters(columnType, functionType); CoreFunctionFilter columnFilter = new CoreFunctionFilter(); columnFilter.setColumnId(columnId); columnFilter.setType(functionType); columnFilter.setParameters(params); return columnFilter; }
protected List<FunctionParameterEditor> createFilterInputControls() { List<FunctionParameterEditor> filterInputControls = new ArrayList<FunctionParameterEditor>(); CoreFunctionFilter coreFilter = getCoreFilter(); if (CoreFunctionType.LIKE_TO.equals(coreFilter.getType())) { FunctionParameterEditor paramInput = createLikeToFunctionWidget(coreFilter); filterInputControls.add(paramInput); } else { for (int i = 0; i < coreFilter.getType().getParametersCount(); i++) { FunctionParameterEditor paramInput = createParamInputWidget(coreFilter, i); filterInputControls.add(paramInput); } } return filterInputControls; }
public void onSelectFilterFunction() { int selectedIdx = view.getSelectedFunctionIndex(); if (selectedIdx >= 0) { CoreFunctionFilter coreFilter = getCoreFilter(); CoreFunctionType functionType = getAvailableFunctions(coreFilter).get(selectedIdx); ColumnType columnType = metadata.getColumnType(coreFilter.getColumnId()); List params = FilterFactory.createParameters(columnType, functionType); coreFilter.setType(functionType); coreFilter.setParameters(params); initFilterSelector(); fireFilterChanged(); if (!initFilterConfig().isEmpty()) { view.showFilterConfig(); } } }
public CoreFunctionFilter(String columnId, CoreFunctionType type, List parameters) { super(columnId); this.type = type; this.setParameters(parameters); }
public String formatFilterFunction(CoreFunctionFilter filter) { String columnId = filter.getColumnId(); CoreFunctionType type = filter.getType(); List parameters = filter.getParameters();
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 ColumnFilter notNull(String columnId) { return new CoreFunctionFilter(columnId, CoreFunctionType.NOT_NULL); }
void onSliderChange(double min, double max) { if (selectedMin != min || selectedMax != max) { selectedMin = min; selectedMax = max; DataSetFilter filter = new DataSetFilter(); CoreFunctionFilter columnFilter = new CoreFunctionFilter(); columnFilter.setColumnId(dataColumnMin.getId()); columnFilter.setType(CoreFunctionType.BETWEEN); filter.addFilterColumn(columnFilter); if (ColumnType.DATE.equals(dataColumnMin.getColumnType())) { Date dateFrom = new Date((long) min); Date dateTo = new Date((long) max); columnFilter.setParameters(dateFrom, dateTo); minDateEditor.setValue(dateFrom); maxDateEditor.setValue(dateTo); super.filterUpdate(filter); } else if (ColumnType.NUMBER.equals(dataColumnMin.getColumnType())) { columnFilter.setParameters(min, max); minNumberEditor.setValue(min); maxNumberEditor.setValue(max); super.filterUpdate(filter); } } }