Revision 5eee5e77
Added by Patrick Plitzner almost 6 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/webimport/termimport/OntologyTermContentProvider.java | ||
---|---|---|
12 | 12 |
import java.util.Collection; |
13 | 13 |
|
14 | 14 |
import org.eclipse.jface.viewers.ITreeContentProvider; |
15 |
import org.json.JSONArray; |
|
16 |
import org.json.JSONException; |
|
17 |
import org.json.JSONObject; |
|
18 | 15 |
|
19 |
import eu.etaxonomy.taxeditor.view.webimport.termimport.requests.RequestNarrower; |
|
16 |
import eu.etaxonomy.taxeditor.view.webimport.termimport.parser.OntologyTermParser; |
|
17 |
import eu.etaxonomy.taxeditor.view.webimport.termimport.requests.RequestBroader; |
|
20 | 18 |
import eu.etaxonomy.taxeditor.view.webimport.termimport.wrapper.OntologyTermWrapper; |
21 | 19 |
|
22 | 20 |
/** |
... | ... | |
26 | 24 |
*/ |
27 | 25 |
public class OntologyTermContentProvider implements ITreeContentProvider { |
28 | 26 |
|
29 |
private String ontologyLabel; |
|
30 |
|
|
31 | 27 |
@Override |
32 | 28 |
public Object[] getElements(Object inputElement) { |
33 | 29 |
Collection<Object> elements = new ArrayList<>(); |
... | ... | |
39 | 35 |
|
40 | 36 |
@Override |
41 | 37 |
public Object[] getChildren(Object parentElement) { |
42 |
Collection<OntologyTermWrapper> wrapperList = new ArrayList<>(); |
|
43 | 38 |
if(parentElement instanceof OntologyTermWrapper){ |
44 |
String parentUri = ((OntologyTermWrapper) parentElement).getUri(); |
|
45 |
String response = new RequestNarrower(parentUri, ontologyLabel).request(); |
|
46 |
try { |
|
47 |
JSONObject jsonResponse = new JSONObject(response); |
|
48 |
JSONArray responseArray = jsonResponse.getJSONArray("results"); |
|
49 |
for(int i=0;i<responseArray.length();i++){ |
|
50 |
JSONObject terminology = responseArray.getJSONObject(i); |
|
51 |
String label = terminology.getString("label"); |
|
52 |
String uriString = terminology.getString("uri"); |
|
53 |
wrapperList.add(new OntologyTermWrapper(uriString, label)); |
|
54 |
} |
|
55 |
} catch (JSONException e) { |
|
56 |
e.printStackTrace(); |
|
57 |
} |
|
39 |
OntologyTermWrapper wrapper = (OntologyTermWrapper) parentElement; |
|
40 |
String response = new RequestBroader(wrapper.getUri(), wrapper.getSourceTerminology()).request(); |
|
41 |
Collection<OntologyTermWrapper> broader = OntologyTermParser.parse(response, ((OntologyTermWrapper) parentElement).getSourceTerminology()); |
|
42 |
return broader.toArray(); |
|
58 | 43 |
} |
59 |
return wrapperList.toArray();
|
|
44 |
return null;
|
|
60 | 45 |
} |
61 | 46 |
|
62 | 47 |
@Override |
... | ... | |
69 | 54 |
return true; |
70 | 55 |
} |
71 | 56 |
|
72 |
public void setOntologyLabel(String ontologyLabel) { |
|
73 |
this.ontologyLabel = ontologyLabel; |
|
74 |
} |
|
75 |
|
|
76 | 57 |
} |
Also available in: Unified diff
ref #7362 Implement search interface for terminology service