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; }
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 String formatFilterFunction(CoreFunctionFilter filter) { String columnId = filter.getColumnId(); CoreFunctionType type = filter.getType(); List parameters = filter.getParameters();
public String formatFilterFunction(CoreFunctionFilter filter) { String columnId = filter.getColumnId(); CoreFunctionType type = filter.getType(); List parameters = filter.getParameters();
@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 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(); } } }
filterParams.add(new QueryParam(coreFunctionFilter.getColumnId(), coreFunctionFilter.getType().toString(), coreFunctionFilter.getParameters()));
filterParams.add(new QueryParam(coreFunctionFilter.getColumnId(), coreFunctionFilter.getType().toString(), coreFunctionFilter.getParameters()));
DataSetFilter dataSetFilter = argument.getValue(); CoreFunctionFilter columnFilter = (CoreFunctionFilter) dataSetFilter.getColumnFilterList().get(0); assertEquals(columnFilter.getColumnId(), COLUMN_DATE); assertEquals(columnFilter.getType(), CoreFunctionType.BETWEEN); assertEquals(columnFilter.getParameters().size(), 2);
filterParams.add(new QueryParam(coreFunctionFilter.getColumnId(), coreFunctionFilter.getType().toString(), coreFunctionFilter.getParameters())); } else if (cFilter instanceof LogicalExprFilter) { LogicalExprFilter logicalExprFilter = (LogicalExprFilter) cFilter;
DataSetFilter dataSetFilter = argument.getValue(); CoreFunctionFilter columnFilter = (CoreFunctionFilter) dataSetFilter.getColumnFilterList().get(0); assertEquals(columnFilter.getColumnId(), COLUMN_DATE); assertEquals(columnFilter.getType(), CoreFunctionType.BETWEEN); assertEquals(columnFilter.getParameters().size(), 2);
DataSetFilter dataSetFilter = argument.getValue(); CoreFunctionFilter columnFilter = (CoreFunctionFilter) dataSetFilter.getColumnFilterList().get(0); assertEquals(columnFilter.getColumnId(), COLUMN_AMOUNT); assertEquals(columnFilter.getType(), CoreFunctionType.BETWEEN); assertEquals(columnFilter.getParameters().size(), 2);
DataSetFilter dataSetFilter = argument.getValue(); CoreFunctionFilter columnFilter = (CoreFunctionFilter) dataSetFilter.getColumnFilterList().get(0); assertEquals(columnFilter.getColumnId(), COLUMN_AMOUNT); assertEquals(columnFilter.getType(), CoreFunctionType.BETWEEN); assertEquals(columnFilter.getParameters().size(), 2);
filterParams.add(new QueryParam(coreFunctionFilter.getColumnId(), coreFunctionFilter.getType().toString(), coreFunctionFilter.getParameters()));
public JsonObject formatColumnFilter(ColumnFilter columnFilter) throws JsonException { if ( columnFilter == null ) return null; JsonObject colFilterJson = Json.createObject(); // LogicalExprFilter o CoreFunctionFilter if ( columnFilter instanceof LogicalExprFilter ) { LogicalExprFilter lef = (LogicalExprFilter) columnFilter; colFilterJson.put(COLUMN, lef.getColumnId()); colFilterJson.put(FUNCTION_TYPE, lef.getLogicalOperator().toString()); colFilterJson.put(FUNCTION_ARGS, formatColumnFilters(lef.getLogicalTerms())); } else if (columnFilter instanceof CoreFunctionFilter) { CoreFunctionFilter cff = (CoreFunctionFilter) columnFilter; colFilterJson.put(COLUMN, cff.getColumnId()); colFilterJson.put(FUNCTION_TYPE, cff.getType().toString()); JsonArray paramsJsonArray = Json.createArray(); int paramCounter = 0; for (Object param : cff.getParameters()) { JsonValue jsonParam = formatValue(param); paramsJsonArray.set(paramCounter++, jsonParam); } colFilterJson.put(FUNCTION_ARGS, paramsJsonArray ); } else { throw new IllegalArgumentException("Unsupported column filter"); } return colFilterJson; }
public JsonObject formatColumnFilter(ColumnFilter columnFilter) throws JsonException { if ( columnFilter == null ) return null; JsonObject colFilterJson = Json.createObject(); // LogicalExprFilter o CoreFunctionFilter if ( columnFilter instanceof LogicalExprFilter ) { LogicalExprFilter lef = (LogicalExprFilter) columnFilter; colFilterJson.put(COLUMN, lef.getColumnId()); colFilterJson.put(FUNCTION_TYPE, lef.getLogicalOperator().toString()); colFilterJson.put(FUNCTION_ARGS, formatColumnFilters(lef.getLogicalTerms())); } else if (columnFilter instanceof CoreFunctionFilter) { CoreFunctionFilter cff = (CoreFunctionFilter) columnFilter; colFilterJson.put(COLUMN, cff.getColumnId()); colFilterJson.put(FUNCTION_TYPE, cff.getType().toString()); JsonArray paramsJsonArray = Json.createArray(); int paramCounter = 0; for (Object param : cff.getParameters()) { JsonValue jsonParam = formatValue(param); paramsJsonArray.set(paramCounter++, jsonParam); } colFilterJson.put(FUNCTION_ARGS, paramsJsonArray ); } else { throw new IllegalArgumentException("Unsupported column filter"); } return colFilterJson; }
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 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); } }