@Override public DisplayerConstraints createDisplayerConstraints() { return new DisplayerConstraints(new DataSetLookupConstraints() .setGroupRequired(true) .setGroupColumn(true) .setMaxColumns(1) .setMinColumns(1) .setGroupsTitle("Categories") .setColumnsTitle("Values") .setColumnTypes(new ColumnType[] { ColumnType.LABEL})); }
public ValidationError check(DataSetLookup lookup) { return check(lookup, null); }
public void callback(DataSetMetadata metadata) { dataSetLookup = lookupConstraints.newDataSetLookup(metadata); updateDataSetLookup(); changeEvent.fire(new DataSetLookupChangedEvent(dataSetLookup)); } });
@Override public DisplayerConstraints createDisplayerConstraints() { DataSetLookupConstraints lookupConstraints = new DataSetLookupConstraints() .setGroupAllowed(true) .setGroupRequired(false) .setMaxColumns(-1) .setMinColumns(1) .setGroupsTitle("Rows") .setColumnsTitle("Columns"); return new DisplayerConstraints(lookupConstraints) .supportsAttribute( DisplayerAttributeDef.TYPE ) .supportsAttribute( DisplayerAttributeDef.RENDERER ) .supportsAttribute( DisplayerAttributeDef.COLUMNS ) .supportsAttribute( DisplayerAttributeGroupDef.FILTER_GROUP ) .supportsAttribute( DisplayerAttributeGroupDef.TITLE_GROUP) .supportsAttribute( DisplayerAttributeGroupDef.TABLE_GROUP ); }
@Override public DisplayerConstraints createDisplayerConstraints() { DataSetLookupConstraints lookupConstraints = new DataSetLookupConstraints() .setGroupAllowed(true) .setGroupRequired(false) .setExtraColumnsAllowed(true) .setGroupsTitle(view.getGroupsTitle()) .setColumnsTitle(view.getColumnsTitle()); return new DisplayerConstraints(lookupConstraints) .supportsAttribute( DisplayerAttributeDef.TYPE) .supportsAttribute(DisplayerAttributeDef.RENDERER) .supportsAttribute(DisplayerAttributeGroupDef.COLUMNS_GROUP) .supportsAttribute(DisplayerAttributeDef.COLUMN_EMPTY) .supportsAttribute(DisplayerAttributeGroupDef.FILTER_GROUP) .supportsAttribute(DisplayerAttributeGroupDef.REFRESH_GROUP) .supportsAttribute(DisplayerAttributeGroupDef.GENERAL_GROUP) .supportsAttribute(DisplayerAttributeGroupDef.TABLE_GROUP); }
@Test public void testEmptyConstraints() throws Exception { DataSetLookupConstraints constraints = new DataSetLookupConstraints() .setColumnTypes(null) .setGroupRequired(false); DataSetLookup lookup = constraints.newDataSetLookup(dataSet.getMetadata()); assertThat(constraints.check(lookup)).isNull(); DataSet result = dataSetManager.lookupDataSet(lookup); assertThat(result.getColumns().size()).isEqualTo(6); assertThat(result.getRowCount()).isEqualTo(50); }
@Override public DisplayerConstraints createDisplayerConstraints() { DataSetLookupConstraints lookupConstraints = new DataSetLookupConstraints() .setGroupAllowed(false) .setMaxColumns(1) .setMinColumns(1) .setFunctionRequired(true) .setExtraColumnsAllowed(false) .setColumnsTitle(view.getColumnsTitle()) .setColumnTypes(new ColumnType[] { ColumnType.NUMBER}); return new DisplayerConstraints(lookupConstraints) .supportsAttribute(DisplayerAttributeDef.TYPE) .supportsAttribute(DisplayerAttributeDef.RENDERER) .supportsAttribute(DisplayerAttributeGroupDef.COLUMNS_GROUP) .supportsAttribute(DisplayerAttributeGroupDef.FILTER_GROUP) .supportsAttribute(DisplayerAttributeGroupDef.REFRESH_GROUP) .supportsAttribute(DisplayerAttributeGroupDef.GENERAL_GROUP) .supportsAttribute(DisplayerAttributeDef.CHART_WIDTH) .supportsAttribute(DisplayerAttributeDef.CHART_HEIGHT) .supportsAttribute(DisplayerAttributeDef.CHART_BGCOLOR) .supportsAttribute(DisplayerAttributeGroupDef.CHART_MARGIN_GROUP) .supportsAttribute(DisplayerAttributeGroupDef.METER_GROUP) .supportsAttribute(DisplayerAttributeGroupDef.HTML_GROUP); }
@Test public void testUniqueColumns() { DataSetLookupConstraints UNIQUE_COLUMNS = new DataSetLookupConstraints() .setUniqueColumnIds(true); DataSetLookup lookup = DataSetLookupFactory.newDataSetLookupBuilder() .group(DEPARTMENT) .column(DEPARTMENT, "dept") .column(AMOUNT, AggregateFunctionType.AVERAGE, "amount") .column(AMOUNT, AggregateFunctionType.SUM, "amount") .buildLookup(); ValidationError error = UNIQUE_COLUMNS.check(lookup, METADATA); assertNotNull(error); assertEquals(error.getCode(), DataSetLookupConstraints.ERROR_DUPLICATED_COLUMN_ID); UNIQUE_COLUMNS.setUniqueColumnIds(false); error = UNIQUE_COLUMNS.check(lookup, METADATA); assertNull(error); } }
@Test public void testLabelOnlyMetadata() { DataSetLookup lookup = lookupConstraints.newDataSetLookup(METADATA2); assertEquals(lookup.getDataSetUUID(), "test"); String extraId = lookupConstraints.buildUniqueColumnId(lookup, extra); extra.setColumnId(extraId); groupOp.getGroupFunctions().add(extra); extraId = lookupConstraints.buildUniqueColumnId(lookup, extra); extra.setColumnId(extraId); groupOp.getGroupFunctions().add(extra);
@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()); } }
if (lookupConstraints.isGroupRequired() || lookupConstraints.isGroupAllowed()) { String groupColumnId = getFirstGroupColumnId(); if (lookupConstraints.isGroupRequired() && groupColumnId == null) { dataSetLookup = lookupConstraints.newDataSetLookup(dataSetMetadata); changeEvent.fire(new DataSetLookupChangedEvent(dataSetLookup)); String rowsTitle = lookupConstraints.getGroupsTitle(); if (!lookupConstraints.isGroupRequired()) { view.enableGroupColumnSelectorHint();
@Test public void testGroupWithOneCalculation() throws Exception { DataSetLookupConstraints constraints = new DataSetLookupConstraints() .setColumnTypes(new ColumnType[] {LABEL, NUMBER}) .setGroupRequired(true); DataSetLookup lookup = constraints.newDataSetLookup(dataSet.getMetadata()); assertThat(constraints.check(lookup)).isNull(); DataSet result = dataSetManager.lookupDataSet(lookup); assertDataSetValues(result, dataSetFormatter, new String[][] { {"Barcelona", "21.00"}, {"Madrid", "57.00"}, {"Brno", "153.00"}, {"Westford", "234.00"}, {"Raleigh", "481.00"}, {"London", "329.00"} }, 0); }
@Override public DisplayerConstraints createDisplayerConstraints() { DataSetLookupConstraints lookupConstraints = new DataSetLookupConstraints() .setGroupAllowed(false) .setMaxColumns(1) .setMinColumns(1) .setFunctionRequired(true) .setExtraColumnsAllowed(false) .setColumnsTitle(view.getColumnsTitle()) .setColumnTypes(new ColumnType[] { ColumnType.NUMBER}); return new DisplayerConstraints(lookupConstraints) .supportsAttribute(DisplayerAttributeDef.TYPE) .supportsAttribute(DisplayerAttributeDef.RENDERER) .supportsAttribute(DisplayerAttributeGroupDef.COLUMNS_GROUP) .supportsAttribute(DisplayerAttributeGroupDef.FILTER_GROUP) .supportsAttribute(DisplayerAttributeGroupDef.REFRESH_GROUP) .supportsAttribute(DisplayerAttributeGroupDef.GENERAL_GROUP) .supportsAttribute(DisplayerAttributeDef.CHART_WIDTH) .supportsAttribute(DisplayerAttributeDef.CHART_HEIGHT) .supportsAttribute(DisplayerAttributeDef.CHART_BGCOLOR) .supportsAttribute(DisplayerAttributeGroupDef.CHART_MARGIN_GROUP) .supportsAttribute(DisplayerAttributeGroupDef.METER_GROUP) .supportsAttribute(DisplayerAttributeGroupDef.HTML_GROUP); }
@Override public DisplayerConstraints createDisplayerConstraints() { DataSetLookupConstraints lookupConstraints = new DataSetLookupConstraints() .setGroupAllowed(true) .setGroupRequired(false) .setExtraColumnsAllowed(true) .setGroupsTitle(view.getGroupsTitle()) .setColumnsTitle(view.getColumnsTitle()); return new DisplayerConstraints(lookupConstraints) .supportsAttribute( DisplayerAttributeDef.TYPE ) .supportsAttribute( DisplayerAttributeDef.RENDERER ) .supportsAttribute( DisplayerAttributeGroupDef.COLUMNS_GROUP ) .supportsAttribute( DisplayerAttributeGroupDef.FILTER_GROUP ) .supportsAttribute( DisplayerAttributeGroupDef.REFRESH_GROUP ) .supportsAttribute( DisplayerAttributeGroupDef.GENERAL_GROUP) .supportsAttribute( DisplayerAttributeGroupDef.EXPORT_GROUP) .supportsAttribute( DisplayerAttributeGroupDef.TABLE_GROUP ); }
@Test public void testUniqueColumns() { DataSetLookupConstraints UNIQUE_COLUMNS = new DataSetLookupConstraints() .setUniqueColumnIds(true); DataSetLookup lookup = DataSetLookupFactory.newDataSetLookupBuilder() .group(DEPARTMENT) .column(DEPARTMENT, "dept") .column(AMOUNT, AggregateFunctionType.AVERAGE, "amount") .column(AMOUNT, AggregateFunctionType.SUM, "amount") .buildLookup(); ValidationError error = UNIQUE_COLUMNS.check(lookup, METADATA); assertNotNull(error); assertEquals(error.getCode(), DataSetLookupConstraints.ERROR_DUPLICATED_COLUMN_ID); UNIQUE_COLUMNS.setUniqueColumnIds(false); error = UNIQUE_COLUMNS.check(lookup, METADATA); assertNull(error); } }
@Test public void testLabelOnlyMetadata() { DataSetLookup lookup = lookupConstraints.newDataSetLookup(METADATA2); assertEquals(lookup.getDataSetUUID(), "test"); String extraId = lookupConstraints.buildUniqueColumnId(lookup, extra); extra.setColumnId(extraId); groupOp.getGroupFunctions().add(extra); extraId = lookupConstraints.buildUniqueColumnId(lookup, extra); extra.setColumnId(extraId); groupOp.getGroupFunctions().add(extra);
@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()); } }
if (lookupConstraints.isGroupRequired() || lookupConstraints.isGroupAllowed()) { String groupColumnId = getFirstGroupColumnId(); if (lookupConstraints.isGroupRequired() && groupColumnId == null) { dataSetLookup = lookupConstraints.newDataSetLookup(dataSetMetadata); changeEvent.fire(new DataSetLookupChangedEvent(dataSetLookup)); String rowsTitle = lookupConstraints.getGroupsTitle(); if (!lookupConstraints.isGroupRequired()) { view.enableGroupColumnSelectorHint();
@Override public DisplayerConstraints createDisplayerConstraints() { DataSetLookupConstraints lookupConstraints = new DataSetLookupConstraints() .setGroupRequired(true) .setGroupColumn(true) .setMaxColumns(2) .setMinColumns(2) .setExtraColumnsAllowed(false) .setGroupsTitle(view.getGroupsTitle()) .setColumnsTitle(view.getColumnsTitle()) .setColumnTypes(new ColumnType[]{ ColumnType.LABEL, ColumnType.NUMBER}); return new CommonC3DisplayerConstants(lookupConstraints).create() .supportsAttribute(DisplayerAttributeDef.SUBTYPE); }
@Test public void testGroupWithLabels() throws Exception { DataSetLookupConstraints constraints = new DataSetLookupConstraints() .setColumnTypes(new ColumnType[] {LABEL, LABEL}) .setGroupRequired(true); DataSetLookup lookup = constraints.newDataSetLookup(dataSet.getMetadata()); assertThat(constraints.check(lookup)).isNull(); DataSet result = dataSetManager.lookupDataSet(lookup); assertDataSetValues(result, dataSetFormatter, new String[][]{ {"Barcelona", "Engineering"}, {"Madrid", "Services"}, {"Brno", "Support"}, {"Westford", "Engineering"}, {"Raleigh", "Management"}, {"London", "Engineering"} }, 0); }