import org.eclipse.jface.viewers.Viewer;\r
\r
import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
+import eu.etaxonomy.cdm.model.taxon.TaxonomicTree;\r
\r
/**\r
* @author p.ciardelli\r
private static final Logger logger = Logger\r
.getLogger(TaxonNodeContentProvider.class);\r
\r
+ private static final Object[] NO_CHILDREN = new Object[0];\r
+ \r
public Object[] getChildren(Object parentElement) {\r
- \r
+ Object[] children = null; \r
if (parentElement instanceof TaxonNode) {\r
- return ((TaxonNode) parentElement).getChildNodes().toArray();\r
+ children = ((TaxonNode) parentElement).getChildNodes().toArray();\r
+ } else if (parentElement instanceof TaxonomicTree) {\r
+ children = ((TaxonomicTree) parentElement).getRootNodes().toArray();\r
}\r
- \r
- return new Object[0];\r
+ return children != null ? children : NO_CHILDREN;\r
}\r
\r
public Object getParent(Object element) {\r
\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
+import eu.etaxonomy.cdm.model.taxon.TaxonomicTree;\r
\r
public class TaxonNodePropertyTester extends PropertyTester {\r
\r
private static final Object HAS_SYNONYMS = "hasSynonyms";\r
+ private static final Object HAS_TAXA = "hasTaxa";\r
\r
public boolean test(Object receiver, String property, Object[] args,\r
Object expectedValue) {\r
Taxon taxon = ((TaxonNode) receiver).getTaxon();\r
return taxon.hasSynonyms();\r
}\r
+\r
+ if (receiver instanceof TaxonomicTree && HAS_TAXA.equals(property)) {\r
+ TaxonomicTree taxononomicTree = (TaxonomicTree) receiver;\r
+ return taxononomicTree.getRootNodes().size() > 0;\r
+ }\r
\r
return false;\r
}\r
return ((Root) parentElement).getParentBeans().toArray();
}
- if(parentElement instanceof TaxonomicTree) {
- return ((TaxonomicTree) parentElement).getRootNodes().toArray();
- }
+// if(parentElement instanceof TaxonomicTree) {
+// return ((TaxonomicTree) parentElement).getRootNodes().toArray();
+// }
return new Object[0];
}