@Test public void testSuggestionCompLoaderWithExtraImportProvidersAndFilters() throws Exception { SuggestionCompletionLoader loader = new SuggestionCompletionLoader(); loader.addExternalImportDescrProvider( new SuggestionCompletionLoader.ExternalImportDescrProvider() { public Set<ImportDescr> getImportDescrs() { return new HashSet<ImportDescr>() { { add( new ImportDescr( "java.util.List" ) ); add( new ImportDescr( "java.util.Set" ) ); } }; } } ); SuggestionCompletionEngine eng = loader.getSuggestionEngine( "package foo \n import org.drools.Person \n declare GenBean \n id: int \n name : String \n end \n declare GenBean2 \n list: java.util.List \n gb: GenBean \n end", new ArrayList(), new ArrayList() ); eng.setFactTypeFilter( new FactTypeFilter() { public boolean filter(String originalFact) { return originalFact.equals( "List" ) || originalFact.equals( "GenBean2" ); } } ); eng.setFilteringFacts( true ); assertNotNull( eng ); assertEquals( 3, eng.getFactTypes().length ); List<String> factTypes = Arrays.asList( eng.getFactTypes() ); assertTrue( factTypes.contains( "Set" ) ); assertTrue( factTypes.contains( "Person" ) ); assertTrue( factTypes.contains( "GenBean" ) ); }
sce.setFactTypeFilter( new FactTypeFilter() { public boolean filter(String originalFact) { return "Person".equals( originalFact ); sce.getFactTypes().length ); sce.setFactTypeFilter( null ); assertEquals( 2, sce.getFactTypes().length );