Revision 41153841
Added by Patrick Plitzner almost 7 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/StructureContentProvider.java | ||
---|---|---|
9 | 9 |
*/ |
10 | 10 |
package eu.etaxonomy.taxeditor.editor.workingSet; |
11 | 11 |
|
12 |
import java.util.HashSet; |
|
13 |
import java.util.Set; |
|
14 |
import java.util.SortedSet; |
|
12 |
import java.util.Collections; |
|
15 | 13 |
|
16 | 14 |
import org.eclipse.jface.viewers.ITreeContentProvider; |
17 | 15 |
|
18 |
import eu.etaxonomy.cdm.model.common.DefinedTermBase; |
|
19 |
import eu.etaxonomy.cdm.model.common.TermVocabulary; |
|
20 |
import eu.etaxonomy.cdm.model.description.Feature; |
|
21 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
|
16 |
import eu.etaxonomy.cdm.model.description.FeatureNode; |
|
17 |
import eu.etaxonomy.cdm.model.description.FeatureTree; |
|
22 | 18 |
|
23 | 19 |
/** |
24 | 20 |
* @author pplitzner |
... | ... | |
35 | 31 |
*/ |
36 | 32 |
@Override |
37 | 33 |
public Object[] getElements(Object inputElement) { |
38 |
return getTopLevelElements((TermVocabulary<Feature>) inputElement); |
|
34 |
FeatureTree featureTree = (FeatureTree)inputElement; |
|
35 |
return Collections.singleton(featureTree.getRoot()).toArray(); |
|
39 | 36 |
} |
40 | 37 |
|
41 | 38 |
/** |
... | ... | |
43 | 40 |
*/ |
44 | 41 |
@Override |
45 | 42 |
public Object[] getChildren(Object parentElement) { |
46 |
return ((Feature)parentElement).getIncludes().toArray();
|
|
43 |
return ((FeatureNode)parentElement).getChildNodes().toArray();
|
|
47 | 44 |
} |
48 | 45 |
|
49 | 46 |
/** |
... | ... | |
59 | 56 |
*/ |
60 | 57 |
@Override |
61 | 58 |
public boolean hasChildren(Object element) { |
62 |
return !((Feature)element).getIncludes().isEmpty(); |
|
63 |
} |
|
64 |
|
|
65 |
/** |
|
66 |
* |
|
67 |
* @param vocabulary |
|
68 |
* @return An array of DefinedTermBase objects that do not have parents |
|
69 |
* |
|
70 |
* TODO: Needs to be implemented in cdmlib |
|
71 |
*/ |
|
72 |
private Object[] getTopLevelElements(TermVocabulary vocabulary) { |
|
73 |
|
|
74 |
SortedSet<DefinedTermBase> terms = vocabulary.getTermsOrderedByLabels(CdmStore.getDefaultLanguage()); |
|
75 |
Set<DefinedTermBase> topLevelTerms = new HashSet<DefinedTermBase>(); |
|
76 |
|
|
77 |
for (DefinedTermBase term : terms){ |
|
78 |
if (term.getPartOf() == null){ |
|
79 |
topLevelTerms.add(term); |
|
80 |
} |
|
81 |
} |
|
82 |
return topLevelTerms.toArray(); |
|
59 |
return ((FeatureNode)element).getChildCount()>0; |
|
83 | 60 |
} |
84 | 61 |
|
85 | 62 |
} |
Also available in: Unified diff
Implement creation of characters via drag'n'drop