@JsonCreator private static @Nonnull ColumnFilter create( @JsonProperty(PROP_COLUMN) String column, @JsonProperty(PROP_FILTER_TEXT) String filterText) { return new ColumnFilter(requireNonNull(column), firstNonNull(filterText, "")); }
@Test public void testMatches() { String columnName = "column"; String filterText = "bLah"; ColumnFilter filter = new ColumnFilter(columnName, filterText); Row row = Row.builder().put(columnName, "BlaHah").build(); assertTrue(filter.matches(row)); } }
List<Row> filteredRows = rawTable.getRowsList().stream() .filter(row -> options.getFilters().stream().allMatch(filter -> filter.matches(row))) .collect(ImmutableList.toImmutableList());
List<Row> filteredRows = rawTable.getRowsList().stream() .filter(row -> options.getFilters().stream().allMatch(filter -> filter.matches(row))) .collect(ImmutableList.toImmutableList());
@Test public void testEquals() { ColumnFilter group1Elem1 = new ColumnFilter("a", "1"); ColumnFilter group1Elem2 = new ColumnFilter("a", "1"); ColumnFilter group2Elem1 = new ColumnFilter("a", "2"); ColumnFilter group3Elem1 = new ColumnFilter("b", "1"); new EqualsTester() .addEqualityGroup(group1Elem1, group1Elem2) .addEqualityGroup(group2Elem1) .addEqualityGroup(group3Elem1) .testEquals(); }
new AnswerRowsOptions( ImmutableSet.of("a"), ImmutableList.of(new ColumnFilter("a", "1")), 1, 2, new AnswerRowsOptions( ImmutableSet.of("a"), ImmutableList.of(new ColumnFilter("a", "1")), 1, 2, new AnswerRowsOptions( ImmutableSet.of("b"), ImmutableList.of(new ColumnFilter("a", "1")), 1, 2, new AnswerRowsOptions( ImmutableSet.of("a"), ImmutableList.of(new ColumnFilter("a", "2")), 1, 2, new AnswerRowsOptions( ImmutableSet.of("a"), ImmutableList.of(new ColumnFilter("a", "1")), 3, 2,
@Test public void testProcessAnswerTableFiltered() { String columnName = "val"; TableAnswerElement table = new TableAnswerElement( new TableMetadata( ImmutableList.of(new ColumnMetadata(columnName, Schema.STRING, "foobar")))); String whitelistedValue = "hello"; Row row1 = Row.of(columnName, whitelistedValue); Row row2 = Row.of(columnName, "goodbye"); table.addRow(row1); table.addRow(row2); AnswerRowsOptions optionsNotFiltered = new AnswerRowsOptions( ImmutableSet.of(), ImmutableList.of(), Integer.MAX_VALUE, 0, ImmutableList.of(), false); AnswerRowsOptions optionsFiltered = new AnswerRowsOptions( ImmutableSet.of(), ImmutableList.of(new ColumnFilter(columnName, whitelistedValue)), Integer.MAX_VALUE, 0, ImmutableList.of(), false); TableAnswerElement notFiltered = _manager.processAnswerTable(table, optionsNotFiltered); TableAnswerElement filtered = _manager.processAnswerTable(table, optionsFiltered); assertThat(notFiltered.getRowsList(), equalTo(ImmutableList.of(row1, row2))); assertThat(filtered.getRowsList(), equalTo(ImmutableList.of(row1))); assertThat(notFiltered.getSummary().getNumResults(), equalTo(2)); assertThat(filtered.getSummary().getNumResults(), equalTo(1)); }
@Test public void testProcessAnswerTable2Filtered() { String columnName = "val"; TableAnswerElement table = new TableAnswerElement( new TableMetadata( ImmutableList.of(new ColumnMetadata(columnName, Schema.STRING, "foobar")))); String whitelistedValue = "hello"; Row row1 = Row.of(columnName, whitelistedValue); Row row2 = Row.of(columnName, "goodbye"); table.addRow(row1); table.addRow(row2); AnswerRowsOptions optionsNotFiltered = new AnswerRowsOptions( ImmutableSet.of(), ImmutableList.of(), Integer.MAX_VALUE, 0, ImmutableList.of(), false); AnswerRowsOptions optionsFiltered = new AnswerRowsOptions( ImmutableSet.of(), ImmutableList.of(new ColumnFilter(columnName, whitelistedValue)), Integer.MAX_VALUE, 0, ImmutableList.of(), false); TableView notFiltered = _manager.processAnswerTable2(table, optionsNotFiltered); TableView filtered = _manager.processAnswerTable2(table, optionsFiltered); assertThat(notFiltered.getInnerRows(), equalTo(ImmutableList.of(row1, row2))); assertThat(filtered.getInnerRows(), equalTo(ImmutableList.of(row1))); assertThat(notFiltered.getSummary().getNumResults(), equalTo(2)); assertThat(filtered.getSummary().getNumResults(), equalTo(1)); }
new AnswerRowsOptions( ImmutableSet.of(columnName), ImmutableList.of(new ColumnFilter(columnName, "")), Integer.MAX_VALUE, 0,
new AnswerRowsOptions( ImmutableSet.of(columnName), ImmutableList.of(new ColumnFilter(columnName, "")), Integer.MAX_VALUE, 0,
new AnswerRowsOptions( ImmutableSet.of(columnName), ImmutableList.of(new ColumnFilter(columnName, "")), Integer.MAX_VALUE, 0,
new AnswerRowsOptions( ImmutableSet.of(columnName), ImmutableList.of(new ColumnFilter(columnName, "")), Integer.MAX_VALUE, 0,
new AnswerRowsOptions( ImmutableSet.of(columnName), ImmutableList.of(new ColumnFilter(columnName, "")), Integer.MAX_VALUE, 0,