From 52fdf04f1fe258de6710fe622ec942ac419e2925 Mon Sep 17 00:00:00 2001 From: Katja Luther Date: Mon, 21 Mar 2016 14:16:54 +0100 Subject: [PATCH] fix #5604 --- .../newWizard/NewTaxonNodeWizard.java | 40 ++++++++++++------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewTaxonNodeWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewTaxonNodeWizard.java index 5c0fb97a5..b1da433c4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewTaxonNodeWizard.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewTaxonNodeWizard.java @@ -42,6 +42,7 @@ public class NewTaxonNodeWizard extends AbstractNewEntityWizard{ @Override public void addPages() { taxonNodePage = new TaxonNodeWizardPage(formFactory, getConversationHolder(), getEntity(), wizardPageListener); + addPage(taxonNodePage); } @@ -72,22 +73,31 @@ public class NewTaxonNodeWizard extends AbstractNewEntityWizard{ } else { taxonNode = CdmStore.getService(ITaxonNodeService.class).save(taxonNode); }*/ - generatedTaxonNodeUuid = result.getCdmEntity().getUuid(); - TaxonNode taxonNode = CdmStore.getService(ITaxonNodeService.class).load(generatedTaxonNodeUuid); - taxonNode.getTaxon().setSec(sec); - CdmStore.getService(ITaxonNodeService.class).merge(taxonNode, true); - Set affectedObjects = new HashSet(); - if (result.getUpdatedObjects().iterator().hasNext()){ - TaxonNode parentNode = (TaxonNode)result.getUpdatedObjects().iterator().next(); - if(parentNode.getParent() == null) { - affectedObjects.add(taxonNode.getClassification()); + if (result.isOk()){ + generatedTaxonNodeUuid = result.getCdmEntity().getUuid(); + TaxonNode taxonNode = CdmStore.getService(ITaxonNodeService.class).load(generatedTaxonNodeUuid); + taxonNode.getTaxon().setSec(sec); + CdmStore.getService(ITaxonNodeService.class).merge(taxonNode, true); + Set affectedObjects = new HashSet(); + if (result.getUpdatedObjects().iterator().hasNext()){ + TaxonNode parentNode = (TaxonNode)result.getUpdatedObjects().iterator().next(); + if(parentNode.getParent() == null) { + affectedObjects.add(taxonNode.getClassification()); + } + affectedObjects.add(parentNode); + } + if(CdmStore.getCurrentSessionManager().isRemoting()) { + CdmApplicationState.getCurrentDataChangeService() + .fireChangeEvent(new CdmChangeEvent(Action.Create, affectedObjects, NewTaxonNodeWizard.class), true); + } + }else{ + if (!result.isOk()){ + if (!result.getExceptions().isEmpty()){ + MessagingUtils.error(getClass(), "Taxon could not be created", result.getExceptions().iterator().next()); + }else{ + MessagingUtils.warn(getClass(), "Taxon could not be created"); + } } - affectedObjects.add(parentNode); - } - - if(CdmStore.getCurrentSessionManager().isRemoting()) { - CdmApplicationState.getCurrentDataChangeService() - .fireChangeEvent(new CdmChangeEvent(Action.Create, affectedObjects, NewTaxonNodeWizard.class), true); } }catch(IllegalArgumentException e){ MessagingUtils.warningDialog("Taxon already exists in classfication", getClass(), e.getMessage()); -- 2.34.1