public boolean add(String key, String value) { if (maxEntries <= 0 || size() < maxEntries) { LiveSearchEntry entry = new LiveSearchEntry(key, value); return this.add(entry); } return false; }
public boolean add(String key, String value) { if (maxEntries <= 0 || size() < maxEntries) { LiveSearchEntry entry = new LiveSearchEntry(key, value); return this.add(entry); } return false; }
@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); }
@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); } };
@Override public void onAccept() { String value = view.getValue(); if (isValid(value)) { customEntryCommand.execute(value); okCommand.execute(new LiveSearchEntry<>(value, value)); } }
@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(); }