Project

General

Profile

« Previous | Next » 

Revision 4c8b61dd

Added by Patrick Plitzner over 5 years ago

ref #7806 Change search syntax

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/webimport/termimport/requests/RequestSearch.java
22 22
 */
23 23
public class RequestSearch extends AbstractTerminologyServiceRequest{
24 24

  
25
    private static final String QUOTATION_MARK = "\"";
26
    private static final String SEARCH = "search";
27
    private static final String TRUE = "true";
28
    private static final String INTERNAL_ONLY = "internal_only";
29
    private static final String INCLUDED = "included";
30
    private static final String EXACT = "exact";
31
    private static final String MATCH_TYPE = "match_type";
25 32
    private String searchString;
26 33
    private Collection<TerminologyWrapper> selectedOntologies;
27 34

  
......
33 40

  
34 41
    @Override
35 42
    protected String getServiceUri() {
36
        return "search";
43
        return SEARCH;
37 44
    }
38 45

  
39 46
    @Override
......
45 52
    protected List<RequestParameter> getServiceParameters() {
46 53
        List<RequestParameter> params = new ArrayList<>();
47 54
        params.add(new RequestParameter(TerminologyServiceConstants.ATTR_QUERY, searchString));
48
        if(searchString.contains("*")){
49
            params.add(new RequestParameter("match_type", "regex"));
55
        if(searchString.contains(QUOTATION_MARK)){
56
            params.add(new RequestParameter(MATCH_TYPE, EXACT));
57
            //FIXME: this is a simplification of regex search
58
            searchString = searchString.replace(QUOTATION_MARK, "");
50 59
        }
51 60
        else{
52
            params.add(new RequestParameter("match_type", "exact"));
61
            params.add(new RequestParameter(MATCH_TYPE, INCLUDED));
53 62
        }
54
        params.add(new RequestParameter("internal_only", "true"));
63
        params.add(new RequestParameter(INTERNAL_ONLY, TRUE));
55 64
        params.add(new RequestParameter(TerminologyServiceConstants.ATTR_TERMINOLOGIES,
56 65
                selectedOntologies.stream()
57 66
                .map(wrapper->wrapper.getAcronym())

Also available in: Unified diff