\r
boolean ROOT_TAXA_ONLY_W_CHILDREN = true;\r
boolean ROOT_TAXA_W_NO_CHILDREN_ALLOWED = false;\r
+ boolean WITH_MISAPPLIED_NAMES = true;\r
+ boolean NO_MISAPPLIED_NAMES = false;\r
\r
if (sessionRootTaxa == null) {\r
\r
sessionRootTaxa = new HashSet<Taxon>();\r
+// sessionRootTaxa.addAll(getCdmApp().getTaxonService().getRootTaxa(\r
+// getSessionDefaultSec(), null, ROOT_TAXA_W_NO_CHILDREN_ALLOWED)); \r
sessionRootTaxa.addAll(getCdmApp().getTaxonService().getRootTaxa(\r
- getSessionDefaultSec(), null, ROOT_TAXA_W_NO_CHILDREN_ALLOWED)); \r
+ getSessionDefaultSec(), ROOT_TAXA_W_NO_CHILDREN_ALLOWED, WITH_MISAPPLIED_NAMES));\r
addSessionTaxa(sessionRootTaxa);\r
\r
}\r
*/\r
public void addSessionTaxon(Taxon taxon) {\r
\r
+ getObservableSessionTaxa().remove(taxon);\r
+ \r
// Add taxon to session taxa if not already there\r
if (!(getObservableSessionTaxa().contains(taxon))) {\r
getObservableSessionTaxa().add(taxon);\r
if (parentTaxon == null) {\r
viewer.setInput(getSessionRootTaxa());\r
} else {\r
- viewer.add(parentTaxon, taxon); \r
+ \r
+ // If this taxon is already in the tree, remove then re-add to force re-sort\r
+ if (viewer.testFindItem(taxon) != null) {\r
+ viewer.remove(taxon);\r
+ }\r
+ viewer.add(parentTaxon, taxon);\r
}\r
\r
}\r
}\r
\r
\r
-// private TaxonomicTreeView taxonomicTreeView;\r
-// \r
-// public void setTaxonomicTree(TaxonomicTreeView taxonomicTreeView) {\r
-// this.taxonomicTreeView = taxonomicTreeView;\r
-// }\r
- \r
/***************************************************************************\r
* RANKS\r
**************************************************************************/\r