From: Patrick Plitzner Date: Mon, 27 Jun 2016 10:34:16 +0000 (+0200) Subject: Fix potential NPE X-Git-Tag: 4.2.0^2~29 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/baa112753a5fa58ce6b3d9caf640b105a4236b44 Fix potential NPE --- 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){