Bug 292813 [CommonNavigator] Please provide an API for enabling and disabling common navigator filters programmatically
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.27 Safari/532.0 Build Identifier: M20090917-0800 Recently I had a case where I wanted to enable/disable a common navigator filter from code and found it very difficult. I basically ended up using the code in org.eclipse.ui.internal.navigator.filters.UpdateActiveFiltersOperation as a reference and ended up manually creating or pruning an array, as well as adding/removing a corresponding ViewerFilter to/from and refreshing the underlying viewer. This seems quite complicated and I think others could benefit from it being API similar to how API was recently added to enable and disable content contributions (via INavigatorContentService#activateExtensions and INavigatorContentService#deactivateExtensions). Reproducible: Always
tests/org.eclipse.ui.tests.navigator/src/org/eclipse/ui/tests/navigator/OpenTest.java
updateFilters.execute(null, null);
		
		refreshViewer();
		_viewer.expandAll();
		TreeItem[] items = _viewer.getTree().getItems();
		assertTrue("There should be some items.", items.length > 0); 		
		assertEquals(_project, items[_projectInd].getData());
		
		_viewer
				.setSelection(new StructuredSelection(_project
						.getFile(".project"))); 
		TreeItem[] children = items[_projectInd].getItems();
		assertEquals(_expectedChildren.size(), children.length);
		for (int i = 0; i < children.length; i++) {
			assertTrue(_expectedChildren.contains(children[i].getData()));
		}
	}
	public void testNavigatorExtensionEnablement() throws Exception { 
		_contentService.getActivationService().activateExtensions(new String[] {}, true);
		refreshViewer();
		_viewer.expandAll();
		TreeItem[] items = _viewer.getTree().getItems();
		assertTrue("There should be NO items.", items.length == 0); 
		_contentService.getActivationService().deactivateExtensions(new String[] {}, true);
		_viewer.expandToLevel(2);
		items = _viewer.getTree().getItems();
		assertTrue("There should be some items.", items.length > 0); 
	}
}