protected void onColumnFilterDeleted(@Observes final ColumnFilterDeletedEvent event) { ColumnFilterEditor editor = event.getColumnFilterEditor(); ColumnFilter columnFilter = editor.getFilter(); filter.getColumnFilterList().remove(columnFilter); view.removeColumnFilterEditor(editor); view.showNewFilterHome(); beanManager.destroyBean(editor); changeEvent.fire(new DataSetFilterChangedEvent(filter)); } }
protected void onColumnFilterDeleted(@Observes final ColumnFilterDeletedEvent event) { ColumnFilterEditor editor = event.getColumnFilterEditor(); ColumnFilter columnFilter = editor.getFilter(); filter.getColumnFilterList().remove(columnFilter); view.removeColumnFilterEditor(editor); view.showNewFilterHome(); beanManager.destroyBean(editor); changeEvent.fire(new DataSetFilterChangedEvent(filter)); } }
@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)); } }