public List<ResourceTypeDefinition> getResourceTypeDefinitionsByCategory(Category category) { return this.getResourceTypeDefinitions() .stream() .filter(resourceTypeDefinition -> { if (category != null) { return category.equals(resourceTypeDefinition.getCategory()); } else { return true; } }) .collect(Collectors.toList()); }
protected List<NewResourceHandler> filterAndSortHandlers(List<NewResourceHandler> handlers, String textFilter, Category category) { Stream<NewResourceHandler> filtered = handlers .stream() .filter(handler -> handler.getDescription().toLowerCase().contains(textFilter.toLowerCase())); if (!category.equals(new Undefined())) { filtered = filtered.filter(resourceHandler -> category.equals(resourceHandler.getResourceType().getCategory())); } return filtered.sorted(Comparator.comparing(r -> r.getDescription().toLowerCase())) .collect(Collectors.toList()); }
public void initialize(NewResourceHandler resourceHandler) { ResourceTypeDefinition resourceType = resourceHandler.getResourceType(); this.view.init(this); this.view.setTitle(resourceHandler.getDescription()); if (resourceType.getCategory() != null) { this.view.setDescription(ts.getTranslation(resourceType.getCategory().getName())); } if (resourceHandler.getIcon() != null) { this.view.setIcon(elemental2DomUtil.asHTMLElement(resourceHandler.getIcon().asWidget().getElement())); } this.view.setCommand(resourceHandler.getCommand(newResourcePresenter)); }
@Test public void testResourceHandlers() { NewResourceHandler rh1 = mock(NewResourceHandler.class); NewResourceHandler rh2 = mock(NewResourceHandler.class); when(rh1.getResourceType()).thenReturn(new JavaResourceTypeDefinition(new Model())); when(rh2.getResourceType()).thenReturn(new ProjectImportsResourceTypeDefinition(new Others())); doReturn(Arrays.asList(rh1, rh2)).when(this.resourceHandlerManager).getNewResourceHandlers(); List<NewResourceHandler> handlers = this.resourceHandlerManager.getNewResourceHandlers(resourceHandler -> resourceHandler.getResourceType().getCategory().equals(new Model())); assertTrue(handlers.size() == 1); assertEquals(rh1, handlers.get(0)); } }
@Test public void testFilterByCategory() { NewResourceHandler resourceHandler = mock(NewResourceHandler.class, Answers.RETURNS_DEEP_STUBS.get()); when(resourceHandler.getDescription()).thenReturn("demo"); when(resourceHandler.getResourceType().getCategory()).thenReturn(new Decision()); { List<NewResourceHandler> filtered = this.addAssetScreen.filterAndSortHandlers(Arrays.asList(resourceHandler), "", new Decision()); assertEquals(resourceHandler, filtered.get(0)); } { List<NewResourceHandler> filtered = this.addAssetScreen.filterAndSortHandlers(Arrays.asList(resourceHandler), "", new Others()); assertTrue(filtered.isEmpty()); } }
@Test public void testFilterByName() { NewResourceHandler resourceHandler = mock(NewResourceHandler.class, Answers.RETURNS_DEEP_STUBS.get()); when(resourceHandler.getDescription()).thenReturn("demo"); when(resourceHandler.getResourceType().getCategory()).thenReturn(new Decision()); { List<NewResourceHandler> filtered = this.addAssetScreen.filterAndSortHandlers(Arrays.asList(resourceHandler), "de", new Undefined()); assertEquals(resourceHandler, filtered.get(0)); } { List<NewResourceHandler> filtered = this.addAssetScreen.filterAndSortHandlers(Arrays.asList(resourceHandler), "ja", new Undefined()); assertTrue(filtered.isEmpty()); } }