From baa112753a5fa58ce6b3d9caf640b105a4236b44 Mon Sep 17 00:00:00 2001
From: Patrick Plitzner
Date: Mon, 27 Jun 2016 12:34:16 +0200
Subject: [PATCH] Fix potential NPE
---
.../taxeditor/navigation/NavigationUtil.java | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java
index 9d66a112f..61e8b1d73 100644
--- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java
+++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java
@@ -66,25 +66,28 @@ public class NavigationUtil extends AbstractUtility{
*/
public static void openEditor(UuidAndTitleCache uuidAndTitleCache){
Class type = uuidAndTitleCache.getType();
+ ICdmBase cdmBase = null;
if(type.equals(Classification.class)){
- Classification classification = CdmStore.getService(IClassificationService.class).load(uuidAndTitleCache.getUuid());
- openEditor(classification);
+ cdmBase = CdmStore.getService(IClassificationService.class).load(uuidAndTitleCache.getUuid());
}
else if(type.equals(TaxonNode.class)){
- TaxonNode taxonNode = CdmStore.getService(ITaxonNodeService.class).load(uuidAndTitleCache.getUuid());
- openEditor(taxonNode);
+ cdmBase = CdmStore.getService(ITaxonNodeService.class).load(uuidAndTitleCache.getUuid());
}
else if(TaxonBase.class.isAssignableFrom(type)){
- TaxonBase taxonBase = CdmStore.getService(ITaxonService.class).load(uuidAndTitleCache.getUuid());
- openEditor(taxonBase);
+ cdmBase = CdmStore.getService(ITaxonService.class).load(uuidAndTitleCache.getUuid());
}
else if(type.equals(TaxonNameBase.class)){
- TaxonNameBase nameBase = CdmStore.getService(INameService.class).load(uuidAndTitleCache.getUuid());
- openEditor(nameBase);
+ cdmBase = CdmStore.getService(INameService.class).load(uuidAndTitleCache.getUuid());
}
else{
MessagingUtils.warningDialog("Unknown type", NavigationUtil.class, "There is no editor available to open this object.");
}
+ if(cdmBase!=null){
+ openEditor(cdmBase);
+ }
+ else{
+ MessagingUtils.warningDialog("Cdm entity not found", NavigationUtil.class, "CDM entity could not be found in the database.");
+ }
}
public static void openEditor(ICdmBase selectedObject){
--
2.34.1