Project

General

Profile

Download (1.78 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2018 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.taxeditor.view.webimport.termimport;
10

    
11
import java.util.ArrayList;
12
import java.util.Collection;
13

    
14
import org.eclipse.jface.viewers.ITreeContentProvider;
15

    
16
import eu.etaxonomy.taxeditor.view.webimport.termimport.parser.OntologyTermParser;
17
import eu.etaxonomy.taxeditor.view.webimport.termimport.requests.RequestBroader;
18
import eu.etaxonomy.taxeditor.view.webimport.termimport.wrapper.OntologyTermWrapper;
19

    
20
/**
21
 * @author pplitzner
22
 * @since Apr 23, 2018
23
 *
24
 */
25
public class OntologyTermContentProvider implements ITreeContentProvider {
26

    
27
    @Override
28
    public Object[] getElements(Object inputElement) {
29
        Collection<Object> elements = new ArrayList<>();
30
        if(inputElement instanceof Collection){
31
            elements = (Collection<Object>) inputElement;
32
        }
33
        return elements.toArray();
34
    }
35

    
36
    @Override
37
    public Object[] getChildren(Object parentElement) {
38
        if(parentElement instanceof OntologyTermWrapper){
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();
43
        }
44
        return null;
45
    }
46

    
47
    @Override
48
    public Object getParent(Object element) {
49
        return null;
50
    }
51

    
52
    @Override
53
    public boolean hasChildren(Object element) {
54
        return true;
55
    }
56

    
57
}
(4-4/5)