@Override public final void requestSuggestions(final Request prequest, final Callback pcallback) { final SuggestOracle.Response response = new SuggestOracle.Response(); if (prequest != null && StringUtils.isNotEmpty(prequest.getQuery())) { final int limit; if (prequest.getLimit() > 0) { limit = prequest.getLimit(); } else { limit = BicOracle.LIMIT_DEFAULT; if (entry.getKey().startsWith(prequest.getQuery())) { suggestions .add(new BicItemSuggest(entry.getKey(), entry.getKey().replace(prequest.getQuery(), "<strong>" + prequest.getQuery() + "</strong>"), entry.getValue())); if (suggestions.size() >= limit) { break; if (entry.getKey().contains(prequest.getQuery())) { suggestions .add(new BicItemSuggest(entry.getKey(), entry.getKey().replace(prequest.getQuery(), "<strong>" + prequest.getQuery() + "</strong>"), entry.getValue())); if (suggestions.size() >= limit) { break; for (final Entry<String, String> entry : BicOracle.BIC_MAP.bics().entrySet()) { if (entry.getKey().contains( StringUtils.substring(prequest.getQuery(), 0, BicValidator.BIC_LENGTH_MIN))) { if (prequest.getQuery().length() == BicValidator.BIC_LENGTH_MAX) { suggestions.add(new BicItemSuggest(prequest.getQuery(), "<strong>" + prequest.getQuery() + "</strong>", entry.getValue()));
final String this_query = request.getQuery();
public void sendRequest(final Request request, final Callback callback){ String query = request.getQuery().trim(); SearchRequestInfo searchRequest = buildSearchRequest(query, null);
@Override public final void requestSuggestions(final Request prequest, final Callback pcallback) { final SuggestOracle.Response response = new SuggestOracle.Response(); if (prequest != null && StringUtils.isNotEmpty(prequest.getQuery())) { final int limit; if (prequest.getLimit() > 0) { limit = prequest.getLimit(); } else { limit = BicOracle.LIMIT_DEFAULT; if (entry.getKey().startsWith(prequest.getQuery())) { suggestions .add(new BicItemSuggest(entry.getKey(), entry.getKey().replace(prequest.getQuery(), "<strong>" + prequest.getQuery() + "</strong>"), entry.getValue())); if (suggestions.size() >= limit) { break; if (entry.getKey().contains(prequest.getQuery())) { suggestions .add(new BicItemSuggest(entry.getKey(), entry.getKey().replace(prequest.getQuery(), "<strong>" + prequest.getQuery() + "</strong>"), entry.getValue())); if (suggestions.size() >= limit) { break; for (final Entry<String, String> entry : BicOracle.BIC_MAP.bics().entrySet()) { if (entry.getKey().contains( StringUtils.substring(prequest.getQuery(), 0, BicValidator.BIC_LENGTH_MIN))) { if (prequest.getQuery().length() == BicValidator.BIC_LENGTH_MAX) { suggestions.add(new BicItemSuggest(prequest.getQuery(), "<strong>" + prequest.getQuery() + "</strong>", entry.getValue()));
if (json != null && json.isArray() != null) { final JSONArray results = json.isArray(); final int n = Math.min(request.getLimit(), results.size()); for (int i = 0; i < n; i++) { final JSONValue suggestion = results.get(i);
private List<IdableSuggestion> createSuggestions(SearchResultInfo results, int limit){ List<IdableSuggestion> suggestionsList = new ArrayList<IdableSuggestion>(); String query = request.getQuery(); query = query.trim(); int count = 0;
@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 =
@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 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); } }
/** The user types some text, but focus doesn't leave the box. */ public void typeSome(String query) { if (query == null || "".equals(query)) { oracle.requestDefaultSuggestions(new Request(null, limit), new Callback() { public void onSuggestionsReady(Request request, Response response) { lastSuggestions.clear(); lastSuggestions.addAll(response.getSuggestions()); } }); } else { oracle.requestSuggestions(new Request(query, limit), new Callback() { public void onSuggestionsReady(Request request, Response response) { lastSuggestions.clear(); lastSuggestions.addAll(response.getSuggestions()); } }); } }
@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 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)); }