Revision cae7d9c1
Added by Patrick Plitzner over 5 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages.properties | ||
---|---|---|
354 | 354 |
GfBioTerminologyImportPresenter_NO_RESULTS_MESSAGE=No results found for the query. |
355 | 355 |
GfBioTerminologyImportPresenter_NO_RESULTS_TITLE=No results found |
356 | 356 |
GfBioTerminologyImportPresenter_COMBO_DEFAULT=All ontologies |
357 |
GfBioTerminologyImportPresenter_TEXT_SEARCH_DEFAULT=Wrap search term with '\"' for exact search...
|
|
357 |
GfBioTerminologyImportPresenter_TEXT_SEARCH_DEFAULT=Use "*" for wildcard searching
|
|
358 | 358 |
GfBioTerminologyImportPresenter_SEARCH_TOO_SHORT_MESSAGE=Search phrase with <4 letters are not possible for all ontologies. Please select a specific ontology |
359 | 359 |
GfBioTerminologyImportPresenter_SEARCH_TOO_SHORT_TITLE=Search phrase too short |
360 | 360 |
|
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages_de.properties | ||
---|---|---|
354 | 354 |
GfBioTerminologyImportPresenter_NO_RESULTS_MESSAGE=Keine Ergebnisse f?r die Anfrage gefunden. |
355 | 355 |
GfBioTerminologyImportPresenter_NO_RESULTS_TITLE=Keine Ergebnisse |
356 | 356 |
GfBioTerminologyImportPresenter_COMBO_DEFAULT=Alle Ontologien |
357 |
GfBioTerminologyImportPresenter_TEXT_SEARCH_DEFAULT=Suchbegriff mit '\"' f?r exakte Suche...
|
|
357 |
GfBioTerminologyImportPresenter_TEXT_SEARCH_DEFAULT='*' f\u00FCr Platzhalter-Suche benutzen
|
|
358 | 358 |
GfBioTerminologyImportPresenter_SEARCH_TOO_SHORT_MESSAGE=Suchbegriffe mit <4 Buchstaben sind nicht m?glich f?r alle Ontologien. Bitte eine einzelne Ontologie ausw?hlen. |
359 | 359 |
GfBioTerminologyImportPresenter_SEARCH_TOO_SHORT_TITLE=Suchbegriff zu kurz |
360 | 360 |
|
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; |
|
18 | 19 |
import java.util.List; |
19 | 20 |
|
20 | 21 |
/** |
... | ... | |
40 | 41 |
serviceParameters.forEach(param->params.append(param.key+"="+param.value+"&")); |
41 | 42 |
queryString += params.toString(); |
42 | 43 |
} |
44 |
queryString = URLEncoder.encode(queryString, "UTF-8"); |
|
43 | 45 |
URI uri = new URI("https", "dev-gfbio.bgbm.org", pathString, queryString, null); |
44 | 46 |
URL url = uri.toURL(); |
45 | 47 |
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); |
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 = "\""; |
|
25 |
private static final String REGEX_WILDCARD = ".*"; |
|
26 |
private static final String REGEX_BEGINNING = "^"; |
|
27 |
private static final String REGEX_END = "$"; |
|
28 |
private static final String ASTERISK = "*"; |
|
26 | 29 |
private static final String SEARCH = "search"; |
27 | 30 |
private static final String TRUE = "true"; |
28 | 31 |
private static final String INTERNAL_ONLY = "internal_only"; |
29 | 32 |
private static final String INCLUDED = "included"; |
33 |
private static final String REGEX = "regex"; |
|
30 | 34 |
private static final String EXACT = "exact"; |
31 | 35 |
private static final String MATCH_TYPE = "match_type"; |
32 | 36 |
private String searchString; |
... | ... | |
52 | 56 |
protected List<RequestParameter> getServiceParameters() { |
53 | 57 |
List<RequestParameter> params = new ArrayList<>(); |
54 | 58 |
params.add(new RequestParameter(TerminologyServiceConstants.ATTR_QUERY, searchString)); |
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, ""); |
|
59 |
if(searchString.contains(ASTERISK)){ |
|
60 |
params.add(new RequestParameter(MATCH_TYPE, REGEX)); |
|
61 |
if(searchString.startsWith(ASTERISK)){ |
|
62 |
searchString.replaceFirst(ASTERISK, REGEX_BEGINNING); |
|
63 |
} |
|
64 |
if(searchString.endsWith(ASTERISK)){ |
|
65 |
searchString = searchString.substring(0, searchString.length()-1); |
|
66 |
searchString += REGEX_END; |
|
67 |
} |
|
68 |
searchString = searchString.replace(ASTERISK, REGEX_WILDCARD); |
|
59 | 69 |
} |
60 | 70 |
else{ |
61 |
params.add(new RequestParameter(MATCH_TYPE, INCLUDED));
|
|
71 |
params.add(new RequestParameter(MATCH_TYPE, EXACT));
|
|
62 | 72 |
} |
63 | 73 |
params.add(new RequestParameter(INTERNAL_ONLY, TRUE)); |
64 | 74 |
params.add(new RequestParameter(TerminologyServiceConstants.ATTR_TERMINOLOGIES, |
Also available in: Unified diff
Adapt gfbio term search to use '*' wild card search