Ignore:
Timestamp:
03/31/14 09:27:00 (11 years ago)
Author:
Twan Goosen
Message:

autocomplete service returns an iterator. Simplified and cleaned up implementation

Location:
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/service/solr/AutoCompleteService.java

    r4844 r4850  
    1818package eu.clarin.cmdi.vlo.service.solr;
    1919
    20 import java.util.List;
     20import java.util.Iterator;
    2121
    2222/**
     
    3131     *
    3232     * @param input user input
    33      * @return list of suggestions
     33     * @return iterator over suggestions
    3434     */
    35     List<String> getChoices(String input);
     35    Iterator<String> getChoices(String input);
    3636   
    3737}
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/service/solr/impl/AutoCompleteServiceImpl.java

    r4844 r4850  
    11package eu.clarin.cmdi.vlo.service.solr.impl;
    22
     3import com.google.common.collect.Iterators;
    34import eu.clarin.cmdi.vlo.service.solr.AutoCompleteService;
    45import eu.clarin.cmdi.vlo.config.VloConfig;
    5 import java.util.ArrayList;
    66import java.util.Iterator;
    77import java.util.List;
     
    1616 *
    1717 * @author Thomas Eckart
     18 * @author Twan Goosen
    1819 *
    1920 */
     
    2930     *
    3031     * @param input user input
    31      * @return list of suggestions
     32     * @return iterator over suggestions
    3233     */
    3334    @Override
    34     public List<String> getChoices(String input) {
    35         List<String> choices = new ArrayList<String>();
    36 
     35    public Iterator<String> getChoices(String input) {
    3736        if (input != null) {
    38             SolrQuery query = new SolrQuery();
     37           
     38            final SolrQuery query = new SolrQuery();
    3939            query.setQuery(input.toLowerCase());
    40             query.setQueryType("/suggest");
    41             QueryResponse response = fireQuery(sanitise(query));
     40            query.setRequestHandler("/suggest");
     41           
     42            final QueryResponse response = fireQuery(sanitise(query));
     43           
    4244            if (response.getSpellCheckResponse() != null) {
    43                 List<Suggestion> suggestions = response.getSpellCheckResponse().getSuggestions();
     45                final List<Suggestion> suggestions = response.getSpellCheckResponse().getSuggestions();
    4446                if (suggestions.size() > 0) {
    45                     Iterator<String> iter = suggestions.get(0).getAlternatives().iterator();
    46                     while (iter.hasNext()) {
    47                         choices.add(iter.next());
    48                     }
     47                    return suggestions.get(0).getAlternatives().iterator();
    4948                }
    5049            }
    5150        }
    5251
    53         return choices;
     52        return Iterators.emptyIterator();
    5453    }
    5554}
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components/SearchForm.java

    r4844 r4850  
    4646            @Override
    4747            protected Iterator<String> getChoices(String input) {
    48                 return autoCompleteDao.getChoices(input).iterator();
     48                return autoCompleteDao.getChoices(input);
    4949            }
    5050        });
Note: See TracChangeset for help on using the changeset viewer.