@Override public void requestSuggestions(Request request, Callback callback) { String query = normalizeSearch(request.getQuery()); int limit = request.getLimit(); // Get candidates from search words. List<String> candidates = createCandidatesFromSearch(query); // Respect limit for number of choices. int numberTruncated = Math.max(0, candidates.size() - limit); for (int i = candidates.size() - 1; i > limit; i--) { candidates.remove(i); } // Convert candidates to suggestions. List<MultiWordSuggestion> suggestions = convertToFormattedSuggestions(query, candidates); Response response = new Response(suggestions); response.setMoreSuggestionsCount(numberTruncated); callback.onSuggestionsReady(request, response); }
private String cleanRequest(final Request prequest) { final StringBuilder cleanupString = new StringBuilder(prequest.getQuery().length()); for (final char character : prequest.getQuery().toCharArray()) { if (character >= '0' && character <= '9') { cleanupString.append(character); } } return cleanupString.toString(); }
private String cleanRequest(final Request prequest) { final StringBuilder cleanupString = new StringBuilder(prequest.getQuery().length()); for (final char character : prequest.getQuery().toCharArray()) { if (character >= '0' && character <= '9') { cleanupString.append(character); } } return cleanupString.toString(); } }
@Override public final void requestSuggestions(final Request prequest, final Callback pcallback) { final SuggestOracle.Response response = new SuggestOracle.Response(); if (prequest != null && needSuggest(prequest.getQuery())) { try { final FutureResult<List<PhoneNumberData>> result = this.cache.get(this.cleanRequest(prequest)); result.addCallback(new AbstractSimpleRestCallback<AbstractPhoneNumberRestOracle<T>, // List<PhoneNumberData>, HttpMessages>(this, this.session) { @Override public void onSuccess(final List<PhoneNumberData> presponse) { response.setSuggestions( AbstractPhoneNumberRestOracle.this.convertListToSuggestions(presponse)); pcallback.onSuggestionsReady(prequest, response); } }); if (result.isDone()) { response.setSuggestions(this.convertListToSuggestions(result.get())); pcallback.onSuggestionsReady(prequest, response); } } catch (final ExecutionException e) { GWT.log(e.getMessage(), e); pcallback.onSuggestionsReady(prequest, response); } } else { pcallback.onSuggestionsReady(prequest, response); } }
@Override public void requestSuggestions(final Request request, final Callback callback) { // Check the query str for special chars before bothering to hit the // server? String callbackName; while ( true ) { if ( curIndex == Integer.MAX_VALUE ) { curIndex = 0; } if ( !callbacks.containsKey( Integer.valueOf( curIndex ) ) ) { // Get a uniqe id and create the cache entry final SuggestCallback serverCallback = new SuggestCallback(); serverCallback.callback = callback; serverCallback.req = request; callbacks.put( Integer.valueOf( curIndex ), serverCallback ); // Create the callback function and script element and add it to the // document callbackName = "__search_suggest_callback" + curIndex; setup( this, callbackName ); final String url = createURL( callbackName, curIndex, request.getQuery() ); serverCallback.scriptTag = addScript( callbackName, url ); curIndex++; return; } curIndex++; } }
@Override public void requestSuggestions(Request request, Callback callback) { // Check if the request query is smaller than the minimum size allowed String query = request.getQuery().trim(); int minQuerySize = 0; //[KSCOR-225] LO's currently use the depricated constructor that does not pass in the // lookupMetaData so we need to do a null check until that is fixed if (lookupMetaData != null && lookupMetaData.getMinQuerySize() != null){ minQuerySize = lookupMetaData.getMinQuerySize().intValue(); } if ((currentCallback == null) && (query.length() >= minQuerySize)){ final int x = ((Widget)this.textWidget).getAbsoluteLeft() + ((Widget)this.textWidget).getOffsetWidth(); final int y = ((Widget)this.textWidget).getAbsoluteTop() + ((Widget)this.textWidget).getOffsetHeight(); loading.setPopupPositionAndShow(new PositionCallback(){ @Override public void setPosition(int offsetWidth, int offsetHeight) { loading.setPopupPosition(x - offsetWidth, y + 1); } }); currentCallback = callback; sendRequest(request, wrappedCallback); } else { pendingRequest = request; pendingCallback = callback; } }
@Override public void requestSuggestions(Request request, Callback callback) { List<Suggestion> suggestions = new ArrayList<>(); for (int i = 0; i < options.getCount(); i++) { String label = options.getLabel(i); if (scorer.score(request.getQuery(), label) > 0.5) { suggestions.add(new ReferenceSuggestion( options.getLabel(i), options.getRef(i))); } } // if scorer didn't give any results try to iterate with "contains" if (suggestions.isEmpty()) { for (int i = 0; i < options.getCount(); i++) { String label = options.getLabel(i); if (request.getQuery() != null && label.toUpperCase().contains(request.getQuery().toUpperCase())) { suggestions.add(new ReferenceSuggestion( options.getLabel(i), options.getRef(i))); } } } callback.onSuggestionsReady(request, new Response(suggestions)); } }
@Override public final void requestSuggestions(final Request prequest, final Callback pcallback) { final SuggestOracle.Response response = new SuggestOracle.Response(); if (prequest != null && needSuggest(prequest.getQuery())) { final List<PhoneNumberData> suggestionList = this.phoneNumberUtil.getSuggstions(prequest.getQuery(), getLimit(prequest)); final List<T> suggestions; if (suggestionList.isEmpty()) { suggestions = Collections.emptyList(); } else { suggestions = suggestionList.stream().map(entry -> createInstance(entry)) .collect(Collectors.toList()); } response.setSuggestions(suggestions); } pcallback.onSuggestionsReady(prequest, response); } }
@Override public void requestSuggestions(Request request, Callback callback) { Response resp = new Response(); if (contacts.isEmpty()) { callback.onSuggestionsReady(request, resp); return; } String text = request.getQuery(); text = text.toLowerCase(); List<UserSuggestion> list = new ArrayList<>(); for (User contact : contacts) { if (contact.getValue().toLowerCase().contains(text)) { list.add(new UserSuggestion(contact)); } } resp.setSuggestions(list); callback.onSuggestionsReady(request, resp); } }
@Override public final void requestSuggestions(final Request prequest, final Callback pcallback) { final SuggestOracle.Response response = new SuggestOracle.Response(); if (prequest != null && needSuggest(prequest.getQuery())) { final List<PhoneNumberData> suggestionList = this.phoneNumberUtil.getSuggstions(prequest.getQuery(), getLimit(prequest)); final List<T> suggestions; if (suggestionList.isEmpty()) { suggestions = Collections.emptyList(); } else { suggestions = suggestionList.stream().map(entry -> createInstance(entry)) .collect(Collectors.toList()); } response.setSuggestions(suggestions); } pcallback.onSuggestionsReady(prequest, response); } }
@Override public void requestSuggestions(Request request, Callback callback) { String query = normalizeSearch(request.getQuery()); int limit = request.getLimit(); // Get candidates from search words. List<String> candidates = createCandidatesFromSearch(query); // Respect limit for number of choices. int numberTruncated = Math.max(0, candidates.size() - limit); for (int i = candidates.size() - 1; i > limit; i--) { candidates.remove(i); } // Convert candidates to suggestions. List<MultiWordSuggestion> suggestions = convertToFormattedSuggestions(query, candidates); Response response = new Response(suggestions); response.setMoreSuggestionsCount(numberTruncated); callback.onSuggestionsReady(request, response); }
@Override public void requestSuggestions(Request request, Callback callback) { String query = normalizeSearch(request.getQuery()); int limit = request.getLimit(); // Get candidates from search words. List<String> candidates = createCandidatesFromSearch(query); // Respect limit for number of choices. int numberTruncated = Math.max(0, candidates.size() - limit); for (int i = candidates.size() - 1; i > limit; i--) { candidates.remove(i); } // Convert candidates to suggestions. List<MultiWordSuggestion> suggestions = convertToFormattedSuggestions(query, candidates); Response response = new Response(suggestions); response.setMoreSuggestionsCount(numberTruncated); callback.onSuggestionsReady(request, response); }
@Override public void requestSuggestions(final Request request, final Callback callback) { service.getModelSuggestions( request.getQuery(), classURI, getCallback(request, callback)); }
@Override public void requestSuggestions(final Request request, final Callback callback) { srv.requestSuggestion(request.getQuery(), request.getLimit(), new AbstractMethodCallback<List<String>>(bus) { @Override public void onSuccess(final Method method, final List<String> response) { final List<LoggerWordSuggestion> result = new ArrayList<>(); for (final String string : response) { result.add(new LoggerWordSuggestion(string)); } callback.onSuggestionsReady(request, new Response(result)); } }); }
public void onSuggestionsReady(Request request, Response response) { if (textWidget.getText().equals(request.getQuery())) { currentCallback.onSuggestionsReady(request, response); pendingRequest = null; pendingCallback = null; } currentCallback = null; if (pendingCallback != null) { requestSuggestions(pendingRequest, pendingCallback); pendingRequest = null; pendingCallback = null; } }
/** * The case when the user types letters in the textbox and this method * is called to search (case insensitive) the list of sugestions previously added. * This list is build and passed to the callback. * */ @Override public void requestSuggestions(Request request, Callback callback) { final List<Suggestion> suggestions = searchSuggestions(request.getQuery().toLowerCase(), request.getLimit()); Response response = new Response(suggestions); callback.onSuggestionsReady(request, response); }
@Override public void requestSuggestions(Request request, Callback callback) { List<RenderableSuggestion<T>> suggestions = new ArrayList<>(); String query = request.getQuery(); for (T row : data) { RenderableSuggestion<T> suggestionCandidate = new RenderableSuggestion<>(row, renderer); if (this.matcher.match(query, suggestionCandidate)) { suggestions.add(suggestionCandidate); } } callback.onSuggestionsReady(request, new Response(suggestions)); }
public void query(SuggestOracle.Request request, SuggestOracle.Callback callback, int indexFrom, int indexTo) { m_rpc.querySuggestions(request.getQuery(), indexFrom, indexTo); m_callback = callback; m_request = request; }
@Override public void requestSuggestions(final Request request, final Callback callback) { if (!enabled) { return; } service.getDataSuggestions(request.getQuery(), getCallback(request, callback)); } }
public void query(SuggestOracle.Request request, SuggestOracle.Callback callback, int indexFrom, int indexTo) { m_rpc.querySuggestions(request.getQuery(), indexFrom, indexTo); m_callback = callback; m_request = request; }