public boolean add(String key, String value) { if (maxEntries <= 0 || size() < maxEntries) { LiveSearchEntry entry = new LiveSearchEntry(key, value); return this.add(entry); } return false; }
@Test public void testItemsOrdered() { presenter.search("b"); ArgumentCaptor<LiveSearchResults> resultsCaptor = ArgumentCaptor.forClass(LiveSearchResults.class); verify(presenter).showResults(resultsCaptor.capture()); LiveSearchResults<String> results = resultsCaptor.getValue(); assertEquals(results.size(), 3); assertEquals(results.get(0).getValue(), "a"); assertEquals(results.get(1).getValue(), "b"); assertEquals(results.get(2).getValue(), "c"); }
public boolean add(String key, String value) { if (maxEntries <= 0 || size() < maxEntries) { LiveSearchEntry entry = new LiveSearchEntry(key, value); return this.add(entry); } return false; }
@Test public void testExcludeItems() { Set<String> excluded = new HashSet<>(); excluded.add("A"); perspectiveDropDown.setPerspectiveIdsExcluded(excluded); perspectiveDropDown.searchService.search("", -1, itemList -> { assertEquals(itemList.size(), 1); assertEquals(itemList.get(0).getKey(), "B"); }); }
protected void addNewItem(LiveSearchEntry<TYPE> entry) { LiveSearchSelectorItem<TYPE> itemInstance = liveSearchSelectorItems.get(); itemInstance.init(entry.getKey(), entry.getValue()); selectionHandler.selectItem(itemInstance); searchCache.clear(); String pattern = lastSearch; lastSearch = null; search(pattern); view.restoreFooter(); }
@Override public void search(String pattern, int maxResults, LiveSearchCallback<TYPE> callback) { List<TYPE> values = field.getListOfValues(); if (pattern != null && !pattern.isEmpty()) { values = values.stream() .filter(value -> stringValue(value).toLowerCase().contains(pattern.toLowerCase())) .collect(Collectors.toList()); } LiveSearchResults<TYPE> entries = new LiveSearchResults<>(); for (int i = 0; i < values.size() && i < maxResults; i++) { TYPE value = values.get(i); entries.add(new LiveSearchEntry<>(value, stringValue(value))); } callback.afterSearch(entries); }
protected void addNewItem(LiveSearchEntry<TYPE> entry) { LiveSearchSelectorItem<TYPE> itemInstance = liveSearchSelectorItems.get(); itemInstance.init(entry.getKey(), entry.getValue()); selectionHandler.selectItem(itemInstance); searchCache.clear(); String pattern = lastSearch; lastSearch = null; search(pattern); view.restoreFooter(); }
@Override public void searchEntry(TYPE key, LiveSearchCallback<TYPE> callback) { LiveSearchResults<TYPE> result = new LiveSearchResults<>(1); List<TYPE> values = field.getListOfValues(); values.stream() .filter(value -> key.equals(value)) .findAny() .ifPresent(value -> { result.add(new LiveSearchEntry<>(value, stringValue(value))); }); callback.afterSearch(result); } };
@Test public void testSelectorEntries() { presenter.edit(layoutEditor); presenter.getSearchService().search("", -1, results -> { assertEquals(results.size(), 7); assertEquals(results.get(0).getKey(), "container"); assertEquals(results.get(0).getValue(), "page"); assertEquals(results.get(1).getKey(), "1"); assertEquals(results.get(1).getValue(), "row 1"); assertEquals(results.get(2).getKey(), "1"); assertEquals(results.get(2).getValue(), "row 1 > column 1 > component 1"); assertEquals(results.get(3).getKey(), "2"); assertEquals(results.get(3).getValue(), "row 1 > column 2 > component 1"); assertEquals(results.get(4).getKey(), "2"); assertEquals(results.get(4).getValue(), "row 2"); assertEquals(results.get(5).getKey(), "1"); assertEquals(results.get(5).getValue(), "row 2 > column 1 > component 1"); assertEquals(results.get(6).getKey(), "2"); assertEquals(results.get(6).getValue(), "row 2 > column 1 > component 2"); }); } }
@Override public void onAccept() { String value = view.getValue(); if (isValid(value)) { customEntryCommand.execute(value); okCommand.execute(new LiveSearchEntry<>(value, value)); } }
@Test public void testAddChildDropDownDuplicateNames() { permissionResourceChildrenAdded.clear(); permissionResourceChildrenAdded.add(permissionChildNode2); PermissionLeafNode permissionChildNode3 = new PermissionLeafNode(); permissionChildNode3.addPermission(new DotNamedPermission("read.p1b", true), "", ""); permissionChildNode3.setNodeName("p1"); permissionResourceChildrenAvailable.add(permissionChildNode3); presenter.edit(permissionResourceNode); LiveSearchService<String> searchService = presenter.getChildrenSearchService(); searchService.search("", -1, results -> { assertEquals(results.size(), 2); assertEquals(results.get(0).getKey(), "read.p1"); assertEquals(results.get(0).getValue(), "p1"); assertEquals(results.get(1).getKey(), "read.p1b"); assertEquals(results.get(1).getValue(), "p1"); }); } }
@Test public void testEditorAddNewEntryAction() { startTest(); LiveSearchEntry<String> entry = new LiveSearchEntry<>(VALUE, VALUE); onAddCommand.execute(entry); verify(dropDown).addNewItem(entry); verify(searchSelectionHandler).selectItem(any()); verify(dropDown).search(anyString()); verify(dropDown).doSearch(anyString()); verify(view).searchInProgress(anyString()); verify(searchService).search(anyString(), anyInt(), any()); verify(view).restoreFooter(); }