- TaxonBase taxonBase = CdmStore.getService(ITaxonService.class).load(uuidAndTitleCache.getUuid());
- if(taxonBase==null){
- MessagingUtils.warn(NavigationUtil.class, "No taxon stored with UUID "+uuidAndTitleCache.getUuid());
- return;
+ Class type = uuidAndTitleCache.getType();
+ if(type.equals(Classification.class)){
+ Classification classification = CdmStore.getService(IClassificationService.class).load(uuidAndTitleCache.getUuid());
+ openEditor(classification);
+ }
+ else if(type.equals(TaxonNode.class)){
+ TaxonNode taxonNode = CdmStore.getService(ITaxonNodeService.class).load(uuidAndTitleCache.getUuid());
+ openEditor(taxonNode);
+ }
+ else if(type.equals(TaxonBase.class)){
+ TaxonBase taxonBase = CdmStore.getService(ITaxonService.class).load(uuidAndTitleCache.getUuid());
+ openEditor(taxonBase);
+ }
+ else if(type.equals(TaxonNameBase.class)){
+ TaxonNameBase nameBase = CdmStore.getService(INameService.class).load(uuidAndTitleCache.getUuid());
+ openEditor(nameBase);
+ }
+ else{
+ MessagingUtils.warningDialog("Unknown type", NavigationUtil.class, "There is no editor available to open this object.");