Project

General

Profile

« Previous | Next » 

Revision 54457f88

Added by Patrick Plitzner over 5 years ago

ref #7806 Fix URL compilation for gfbio term search

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/webimport/termimport/GfBioTerminologyImportPresenter.java
232 232

  
233 233
    private void search(){
234 234
        //clear result count
235
        composite.getLblResultCount().setText("");
235
        composite.getLblResultCount().setText("Searching...");
236 236

  
237 237
        String searchString = composite.getTxtSearch().getText();
238 238
        if(searchString.equals(TXT_SEARCH_DEFAULT)){
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/webimport/termimport/requests/AbstractTerminologyServiceRequest.java
15 15
import java.net.URI;
16 16
import java.net.URISyntaxException;
17 17
import java.net.URL;
18
import java.net.URLEncoder;
19 18
import java.util.List;
20 19

  
21 20
/**
......
33 32
            String queryString = "format=json&";
34 33
            String pathString = "/api/terminologies/"
35 34
                    + (getTerminologyId()!=null?getTerminologyId()+"/":"")
36
                    + (getServiceUri()!=null?getServiceUri()+"/":"");
35
                    + (getServiceUri()!=null?getServiceUri():"");
37 36

  
38 37
            List<RequestParameter> serviceParameters = getServiceParameters();
39 38
            if(serviceParameters!=null){
......
41 40
                serviceParameters.forEach(param->params.append(param.key+"="+param.value+"&"));
42 41
                queryString += params.toString();
43 42
            }
44
            queryString = URLEncoder.encode(queryString, "UTF-8");
45 43
            URI uri = new URI("https", "dev-gfbio.bgbm.org", pathString, queryString, null);
46 44
            URL url = uri.toURL();
47 45
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
48 46
            conn.setRequestProperty("Accept", "application/json");
49
            conn.setConnectTimeout(TIMEOUT*6);
50
            conn.setReadTimeout(TIMEOUT*6);
47
            conn.setConnectTimeout(TIMEOUT*9);
48
            conn.setReadTimeout(TIMEOUT*9);
51 49

  
52 50
            if (conn.getResponseCode() != 200) {
53 51
                throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/webimport/termimport/requests/RequestSearch.java
55 55
    @Override
56 56
    protected List<RequestParameter> getServiceParameters() {
57 57
        List<RequestParameter> params = new ArrayList<>();
58
        params.add(new RequestParameter(TerminologyServiceConstants.ATTR_QUERY, searchString));
59 58
        if(searchString.contains(ASTERISK)){
60 59
            params.add(new RequestParameter(MATCH_TYPE, REGEX));
61
            if(searchString.startsWith(ASTERISK)){
62
                searchString.replaceFirst(ASTERISK, REGEX_BEGINNING);
60
            if(!searchString.startsWith(ASTERISK)){
61
                searchString = REGEX_BEGINNING + searchString;
63 62
            }
64
            if(searchString.endsWith(ASTERISK)){
65
                searchString = searchString.substring(0, searchString.length()-1);
63
            if(!searchString.endsWith(ASTERISK)){
66 64
                searchString += REGEX_END;
67 65
            }
68 66
            searchString = searchString.replace(ASTERISK, REGEX_WILDCARD);
......
70 68
        else{
71 69
            params.add(new RequestParameter(MATCH_TYPE, EXACT));
72 70
        }
71
        params.add(new RequestParameter(TerminologyServiceConstants.ATTR_QUERY, searchString));
73 72
        params.add(new RequestParameter(INTERNAL_ONLY, TRUE));
74 73
        params.add(new RequestParameter(TerminologyServiceConstants.ATTR_TERMINOLOGIES,
75 74
                selectedOntologies.stream()

Also available in: Unified diff