public static ColumnFilter notEqualsTo(Comparable allowedValue) { return notEqualsTo(null, allowedValue); }
public static ColumnFilter notEqualsTo(Comparable allowedValue) { return notEqualsTo(null, allowedValue); }
@Override public void preprocess(DataSetLookup lookup) { lookup.getFirstFilterOp().addFilterColumn(notEqualsTo(COLUMN_CITY, filteredCity)); } }
@Override public void preprocess(DataSetLookup lookup) { lookup.getFirstFilterOp().addFilterColumn(notEqualsTo(COLUMN_CITY, filteredCity)); } }
@Test public void testDeleteDuplicatedFilters() { ColumnFilter columnFilter1 = FilterFactory.notEqualsTo("column", "val1"); ColumnFilter columnFilter2 = FilterFactory.notEqualsTo("column", "val1"); ColumnFilterEditor columnFilterEditor1 = mock(ColumnFilterEditor.class); ColumnFilterEditor columnFilterEditor2 = mock(ColumnFilterEditor.class); when(columnFilterEditor1.getFilter()).thenReturn(columnFilter1); when(columnFilterEditor2.getFilter()).thenReturn(columnFilter2); when(columnFilterEditorBeanDef.newInstance()).thenReturn(columnFilterEditor1, columnFilterEditor2); DataSetFilter filter = new DataSetFilter(); filter.addFilterColumn(columnFilter1, columnFilter2); DataSetFilterEditor filterEditor = new DataSetFilterEditor(filterView, beanManager, changedEvent); filterEditor.init(filter, metadata); filterEditor.onColumnFilterDeleted(new ColumnFilterDeletedEvent(columnFilterEditor2)); filterEditor.onColumnFilterDeleted(new ColumnFilterDeletedEvent(columnFilterEditor1)); assertEquals(filter.getColumnFilterList().size(), 0); verify(filterView).removeColumnFilterEditor(columnFilterEditor1); verify(filterView).removeColumnFilterEditor(columnFilterEditor2); verify(beanManager).destroyBean(columnFilterEditor1); verify(beanManager).destroyBean(columnFilterEditor2); verify(changedEvent, times(2)).fire(any(DataSetFilterChangedEvent.class)); } }
@Test public void testDeleteDuplicatedFilters() { ColumnFilter columnFilter1 = FilterFactory.notEqualsTo("column", "val1"); ColumnFilter columnFilter2 = FilterFactory.notEqualsTo("column", "val1"); ColumnFilterEditor columnFilterEditor1 = mock(ColumnFilterEditor.class); ColumnFilterEditor columnFilterEditor2 = mock(ColumnFilterEditor.class); when(columnFilterEditor1.getFilter()).thenReturn(columnFilter1); when(columnFilterEditor2.getFilter()).thenReturn(columnFilter2); when(columnFilterEditorBeanDef.newInstance()).thenReturn(columnFilterEditor1, columnFilterEditor2); DataSetFilter filter = new DataSetFilter(); filter.addFilterColumn(columnFilter1, columnFilter2); DataSetFilterEditor filterEditor = new DataSetFilterEditor(filterView, beanManager, changedEvent); filterEditor.init(filter, metadata); filterEditor.onColumnFilterDeleted(new ColumnFilterDeletedEvent(columnFilterEditor2)); filterEditor.onColumnFilterDeleted(new ColumnFilterDeletedEvent(columnFilterEditor1)); assertEquals(filter.getColumnFilterList().size(), 0); verify(filterView).removeColumnFilterEditor(columnFilterEditor1); verify(filterView).removeColumnFilterEditor(columnFilterEditor2); verify(beanManager).destroyBean(columnFilterEditor1); verify(beanManager).destroyBean(columnFilterEditor2); verify(changedEvent, times(2)).fire(any(DataSetFilterChangedEvent.class)); } }
.filter(COLUMN_DATE, greaterThan(date)) .filter(COLUMN_AMOUNT, lowerOrEqualsTo(120.35)) .filter(COLUMN_CITY, notEqualsTo("Barcelona")) .sort(COLUMN_ID, SortOrder.ASCENDING) .buildLookup()); DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(COLUMN_CITY, notEqualsTo("Barcelona")) .filter(COLUMN_AMOUNT, lowerOrEqualsTo(120.35)) .filter(COLUMN_DATE, greaterThan(date))
.filter(COLUMN_DATE, greaterThan(date)) .filter(COLUMN_AMOUNT, lowerOrEqualsTo(120.35)) .filter(COLUMN_CITY, notEqualsTo("Barcelona")) .sort(COLUMN_ID, SortOrder.ASCENDING) .buildLookup()); DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(COLUMN_CITY, notEqualsTo("Barcelona")) .filter(COLUMN_AMOUNT, lowerOrEqualsTo(120.35)) .filter(COLUMN_DATE, greaterThan(date))
DataSetLookupFactory.newDataSetLookupBuilder() .dataset(DataSetGroupTest.EXPENSE_REPORTS) .filter(notEqualsTo(CITY.getName(), null)) .buildLookup()).getRowCount()).isEqualTo(50);
DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(notEqualsTo(COLUMN_CITY, null)) .buildLookup()).getRowCount()).isEqualTo(50);
@Test public void testFilterMultiple2() throws Exception { // The order of the filter criteria does not alter the result. DataSet result = dataSetManager.lookupDataSet( DataSetFactory.newDataSetLookupBuilder() .dataset(EL_DATASET_UUID) .filter(ExpenseReportsData.COLUMN_CITY, notEqualsTo(EL_EXAMPLE_CITY_BARCELONA)) .filter(ExpenseReportsData.COLUMN_AMOUNT, greaterOrEqualsTo(1000)) .sort(ExpenseReportsData.COLUMN_ID, SortOrder.ASCENDING) .buildLookup()); assertThat(result.getRowCount()).isEqualTo(1); assertDataSetValue(result, 0, 0, "15.00"); }
@Test public void testDataSetLookupMarshalling() { DataSetLookup original = DataSetFactory.newDataSetLookupBuilder() .dataset("mydataset") .filter(OR(notEqualsTo("department", "IT"), greaterOrEqualsTo("amount", 100d))) .filter("department", notEqualsTo("IT")) .filter("amount", between(100d, 200d)) .filter("date", greaterThan(jsonMarshaller.parseDate("2018-01-01 00:00:00"))) .filter("country", isNull()) .group("department").select("Services") .group("date", "year").dynamic(DateIntervalType.YEAR, true) .column("date") .column("amount", AggregateFunctionType.SUM, "total") .sort("date", SortOrder.ASCENDING) .buildLookup(); JsonObject _jsonObj = jsonMarshaller.toJson(original); assertNotNull(_jsonObj.toString()); DataSetLookup unmarshalled = jsonMarshaller.fromJson(_jsonObj); assertEquals(unmarshalled, original); }
@Test public void testDataSetLookupMarshalling() { DataSetLookup original = DataSetLookupFactory.newDataSetLookupBuilder() .dataset("mydataset") .filter(OR(notEqualsTo("department", "IT"), greaterOrEqualsTo("amount", 100d))) .filter("department", notEqualsTo("IT")) .filter("amount", between(100d, 200d)) .filter("date", greaterThan(jsonMarshaller.parseDate("2018-01-01 00:00:00"))) .filter("country", isNull()) .group("department").select("Services") .group("date", "year").dynamic(DateIntervalType.YEAR, true) .column("date") .column("amount", AggregateFunctionType.SUM, "total") .sort("date", SortOrder.ASCENDING) .buildLookup(); JsonObject _jsonObj = jsonMarshaller.toJson(original); assertNotNull(_jsonObj.toString()); DataSetLookup unmarshalled = jsonMarshaller.fromJson(_jsonObj); assertEquals(unmarshalled, original); }
DataSetLookupFactory.newDataSetLookupBuilder() .dataset(DataSetGroupTest.EXPENSE_REPORTS) .filter(notEqualsTo(CITY.getName(), null)) .buildLookup()).getRowCount()).isEqualTo(50);
DataSetLookupFactory.newDataSetLookupBuilder() .dataset(EXPENSE_REPORTS) .filter(notEqualsTo(COLUMN_CITY, null)) .buildLookup()).getRowCount()).isEqualTo(50);