public List<GroupFunction> getAggregationFunctions() { List<GroupFunction> result = new ArrayList<GroupFunction>(); for (GroupFunction groupFunction : groupFunctionList) { if (groupFunction.getFunction() != null) { result.add(groupFunction); } } return result; }
public List<GroupFunction> getAggregationFunctions() { List<GroupFunction> result = new ArrayList<GroupFunction>(); for (GroupFunction groupFunction : groupFunctionList) { if (groupFunction.getFunction() != null) { result.add(groupFunction); } } return result; }
public boolean groupColumnMustBeIncluded(DataSetGroup groupOp) { if (groupOp != null) { ColumnGroup cg = groupOp.getColumnGroup(); if (cg != null) { for (GroupFunction gf : groupOp.getGroupFunctions()) { if (cg.getSourceId().equals(gf.getSourceId()) && gf.getFunction() == null) { return false; } } for (GroupFunction gf : groupOp.getGroupFunctions()) { if (!cg.getSourceId().equals(gf.getSourceId()) && gf.getFunction() == null) { return true; } } } } return false; }
public boolean groupColumnMustBeIncluded(DataSetGroup groupOp) { if (groupOp != null) { ColumnGroup cg = groupOp.getColumnGroup(); if (cg != null) { for (GroupFunction gf : groupOp.getGroupFunctions()) { if (cg.getSourceId().equals(gf.getSourceId()) && gf.getFunction() == null) { return false; } } for (GroupFunction gf : groupOp.getGroupFunctions()) { if (!cg.getSourceId().equals(gf.getSourceId()) && gf.getFunction() == null) { return true; } } } } return false; }
protected void initFunctionListBox() { view.clearFunctionSelector(); view.setVoidFunctionEnabled(!isColumnNumeric()); AggregateFunctionType selected = groupFunction.getFunction(); List<AggregateFunctionType> supportedFunctions = getSupportedFunctionTypes(); for (int i=0; i<supportedFunctions.size(); i++) { AggregateFunctionType functionType = supportedFunctions.get(i); view.addFunctionItem(functionType); if (selected != null && functionType.equals(selected)) { view.setSelectedFunctionIndex(i); } } }
protected void initFunctionListBox() { view.clearFunctionSelector(); view.setVoidFunctionEnabled(!isColumnNumeric()); AggregateFunctionType selected = groupFunction.getFunction(); List<AggregateFunctionType> supportedFunctions = getSupportedFunctionTypes(); for (int i=0; i<supportedFunctions.size(); i++) { AggregateFunctionType functionType = supportedFunctions.get(i); view.addFunctionItem(functionType); if (selected != null && functionType.equals(selected)) { view.setSelectedFunctionIndex(i); } } }
public JsonObject formatGroupFunction(GroupFunction groupFunction) throws JsonException { if (groupFunction == null) { return null; } JsonObject groupFunctionJson = Json.createObject(); groupFunctionJson.put(SOURCE, groupFunction.getSourceId() != null ? groupFunction.getSourceId() : null); groupFunctionJson.put(COLUMN, groupFunction.getColumnId() != null ? groupFunction.getColumnId() : null); groupFunctionJson.put(FUNCTION, groupFunction.getFunction() != null ? groupFunction.getFunction().toString() : null); return groupFunctionJson; }
public JsonObject formatGroupFunction(GroupFunction groupFunction) throws JsonException { if (groupFunction == null) { return null; } JsonObject groupFunctionJson = Json.createObject(); groupFunctionJson.put(SOURCE, groupFunction.getSourceId() != null ? groupFunction.getSourceId() : null); groupFunctionJson.put(COLUMN, groupFunction.getColumnId() != null ? groupFunction.getColumnId() : null); groupFunctionJson.put(FUNCTION, groupFunction.getFunction() != null ? groupFunction.getFunction().toString() : null); return groupFunctionJson; }
protected Column _createColumn(GroupFunction gf) { String sourceId = gf.getSourceId(); if (sourceId == null) { sourceId = metadata.getColumnId(0); } AggregateFunctionType ft = gf.getFunction(); String dbColumnId = _columnFromMetadata(metadata, sourceId); return SQLFactory.column(dbColumnId).function(ft); }
protected Column _createColumn(GroupFunction gf) { String sourceId = gf.getSourceId(); if (sourceId == null) { sourceId = metadata.getColumnId(0); } AggregateFunctionType ft = gf.getFunction(); String dbColumnId = _columnFromMetadata(metadata, sourceId); return SQLFactory.column(dbColumnId).function(ft); }
private ValidationError checkTypes(DataSetMetadata metadata, DataSetGroup groupOp, ColumnType[] types) { ColumnGroup columnGroup = groupOp.getColumnGroup(); List<GroupFunction> groupFunctions = groupOp.getGroupFunctions(); for (int i = 0; i < groupFunctions.size(); i++) { GroupFunction gf = groupFunctions.get(i); ColumnType columnType = metadata.getColumnType(gf.getSourceId()); if (i < types.length && !columnType.equals(types[i])) { boolean isGroupColumn = columnGroup != null && columnGroup.getSourceId().equals(gf.getSourceId()); boolean isGroupLabel = isGroupColumn && types[i].equals(ColumnType.LABEL); boolean isFunctionColumn = gf.getFunction() != null && !columnType.equals(ColumnType.NUMBER); if (!isGroupLabel && !isFunctionColumn) { return createValidationError(ERROR_COLUMN_TYPE, i, types[i], columnType); } } } return null; }
private ValidationError checkTypes(DataSetMetadata metadata, DataSetGroup groupOp, ColumnType[] types) { ColumnGroup columnGroup = groupOp.getColumnGroup(); List<GroupFunction> groupFunctions = groupOp.getGroupFunctions(); for (int i = 0; i < groupFunctions.size(); i++) { GroupFunction gf = groupFunctions.get(i); ColumnType columnType = metadata.getColumnType(gf.getSourceId()); if (i < types.length && !columnType.equals(types[i])) { boolean isGroupColumn = columnGroup != null && columnGroup.getSourceId().equals(gf.getSourceId()); boolean isGroupLabel = isGroupColumn && types[i].equals(ColumnType.LABEL); boolean isFunctionColumn = gf.getFunction() != null && !columnType.equals(ColumnType.NUMBER); if (!isGroupLabel && !isFunctionColumn) { return createValidationError(ERROR_COLUMN_TYPE, i, types[i], columnType); } } } return null; }
@Test public void testSelectFunction() { when(view.getSelectedFunctionIndex()).thenReturn(1); GroupFunction groupFunction = new GroupFunction("column1", "column1", AggregateFunctionType.COUNT); presenter.init(metadata, groupFunction, null, "Title", true, true); presenter.onFunctionSelected(); List<AggregateFunctionType> supportedFunctions = presenter.getSupportedFunctionTypes(); assertEquals(presenter.getGroupFunction().getFunction(), supportedFunctions.get(1)); verify(changeEvent).fire(any(GroupFunctionChangedEvent.class)); }
@Test public void testSelectFunction() { when(view.getSelectedFunctionIndex()).thenReturn(1); GroupFunction groupFunction = new GroupFunction("column1", "column1", AggregateFunctionType.COUNT); presenter.init(metadata, groupFunction, null, "Title", true, true); presenter.onFunctionSelected(); List<AggregateFunctionType> supportedFunctions = presenter.getSupportedFunctionTypes(); assertEquals(presenter.getGroupFunction().getFunction(), supportedFunctions.get(1)); verify(changeEvent).fire(any(GroupFunctionChangedEvent.class)); }
@Test public void testGroupColumnDeselected() { presenter.init(DATA_MULTIPLE, DataSetLookupFactory.newDataSetLookupBuilder() .dataset(POPULATION_UUID) .group("country") .column("country") .column("population", AggregateFunctionType.SUM) .buildLookup()); when(view.getSelectedGroupColumnId()).thenReturn(null); presenter.onGroupColumnSelected(); verify(event).fire(any(DataSetLookupChangedEvent.class)); assertEquals(presenter.getFirstGroupColumnId(), null); assertEquals(presenter.getFirstGroupFunctions().size(), 2); assertEquals(presenter.getFirstGroupFunctions().get(0).getSourceId(), "country"); assertEquals(presenter.getFirstGroupFunctions().get(1).getSourceId(), "population"); assertEquals(presenter.getFirstGroupFunctions().get(0).getFunction(), null); assertEquals(presenter.getFirstGroupFunctions().get(1).getFunction(), null); }
@Test public void testGroupColumnDeselected() { presenter.init(DATA_MULTIPLE, DataSetLookupFactory.newDataSetLookupBuilder() .dataset(POPULATION_UUID) .group("country") .column("country") .column("population", AggregateFunctionType.SUM) .buildLookup()); when(view.getSelectedGroupColumnId()).thenReturn(null); presenter.onGroupColumnSelected(); verify(event).fire(any(DataSetLookupChangedEvent.class)); assertEquals(presenter.getFirstGroupColumnId(), null); assertEquals(presenter.getFirstGroupFunctions().size(), 2); assertEquals(presenter.getFirstGroupFunctions().get(0).getSourceId(), "country"); assertEquals(presenter.getFirstGroupFunctions().get(1).getSourceId(), "population"); assertEquals(presenter.getFirstGroupFunctions().get(0).getFunction(), null); assertEquals(presenter.getFirstGroupFunctions().get(1).getFunction(), null); }
@Test public void testGroupColumnSelected() { presenter.init(DATA_2D_FIXED, DataSetLookupFactory.newDataSetLookupBuilder() .dataset(POPULATION_UUID) .group("country") .column("country") .column("population", AggregateFunctionType.SUM) .buildLookup()); when(view.getSelectedGroupColumnId()).thenReturn("continent"); presenter.onGroupColumnSelected(); verify(event).fire(any(DataSetLookupChangedEvent.class)); assertEquals(presenter.getFirstGroupColumnId(), "continent"); assertEquals(presenter.getFirstGroupFunctions().size(), 2); assertEquals(presenter.getFirstGroupFunctions().get(0).getSourceId(), "continent"); assertEquals(presenter.getFirstGroupFunctions().get(1).getSourceId(), "population"); assertEquals(presenter.getFirstGroupFunctions().get(0).getFunction(), null); assertEquals(presenter.getFirstGroupFunctions().get(1).getFunction(), AggregateFunctionType.SUM); }
@Test public void testGroupColumnSelected() { presenter.init(DATA_2D_FIXED, DataSetLookupFactory.newDataSetLookupBuilder() .dataset(POPULATION_UUID) .group("country") .column("country") .column("population", AggregateFunctionType.SUM) .buildLookup()); when(view.getSelectedGroupColumnId()).thenReturn("continent"); presenter.onGroupColumnSelected(); verify(event).fire(any(DataSetLookupChangedEvent.class)); assertEquals(presenter.getFirstGroupColumnId(), "continent"); assertEquals(presenter.getFirstGroupFunctions().size(), 2); assertEquals(presenter.getFirstGroupFunctions().get(0).getSourceId(), "continent"); assertEquals(presenter.getFirstGroupFunctions().get(1).getSourceId(), "population"); assertEquals(presenter.getFirstGroupFunctions().get(0).getFunction(), null); assertEquals(presenter.getFirstGroupFunctions().get(1).getFunction(), AggregateFunctionType.SUM); }
@Test public void testDataSetSelected() { presenter.init(DATA_2D_FIXED, DataSetLookupFactory.newDataSetLookupBuilder() .dataset(POPULATION_UUID) .group("country") .column("country") .column("population", AggregateFunctionType.SUM) .buildLookup()); when(view.getSelectedDataSetId()).thenReturn(REVENUE_UUID); presenter.onDataSetSelected(); verify(event).fire(any(DataSetLookupChangedEvent.class)); DataSetLookup newLookup = presenter.getDataSetLookup(); assertEquals(newLookup.getDataSetUUID(), REVENUE_UUID); assertEquals(presenter.getFirstGroupColumnId(), "company"); assertEquals(presenter.getFirstGroupFunctions().size(), 2); assertEquals(presenter.getFirstGroupFunctions().get(0).getSourceId(), "company"); assertEquals(presenter.getFirstGroupFunctions().get(1).getSourceId(), "revenue"); assertEquals(presenter.getFirstGroupFunctions().get(0).getFunction(), null); assertEquals(presenter.getFirstGroupFunctions().get(1).getFunction(), AggregateFunctionType.SUM); }
@Test public void testMultipleColumns() { DataSetLookup lookup = MULTIPLE_COLUMNS.newDataSetLookup(METADATA); assertEquals(lookup.getDataSetUUID(), "test"); List<DataSetOp> opList = lookup.getOperationList(); assertEquals(opList.size(), 1); List<DataSetGroup> groupList = lookup.getOperationList(DataSetGroup.class); assertEquals(groupList.size(), 1); DataSetGroup groupOp = groupList.get(0); assertNotNull(groupOp); ColumnGroup cg = groupOp.getColumnGroup(); assertNull(cg); assertEquals(groupOp.getGroupFunctions().size(), MULTIPLE_COLUMNS.getMinColumns()); for (int i = 0; i < MULTIPLE_COLUMNS.getMinColumns(); i++) { GroupFunction gf = groupOp.getGroupFunction(METADATA.getColumnId(i)); assertNotNull(gf); assertEquals(gf.getSourceId(), METADATA.getColumnId(i)); assertEquals(gf.getColumnId(), METADATA.getColumnId(i)); assertNull(gf.getFunction()); } }