From 5b03e06106ddf837611e2bd3825b93247b2e7899 Mon Sep 17 00:00:00 2001 From: Katja Luther Date: Tue, 2 Feb 2016 13:57:47 +0100 Subject: [PATCH] use new createTaxonNode method instead of do it on the editor side --- .../newWizard/NewTaxonNodeWizard.java | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 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 bd2588b77..6368cdfea 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 @@ -14,6 +14,7 @@ import eu.etaxonomy.cdm.api.application.CdmChangeEvent; import eu.etaxonomy.cdm.api.application.CdmChangeEvent.Action; import eu.etaxonomy.cdm.api.service.IClassificationService; import eu.etaxonomy.cdm.api.service.ITaxonNodeService; +import eu.etaxonomy.cdm.api.service.UpdateResult; import eu.etaxonomy.cdm.model.common.CdmBase; import eu.etaxonomy.cdm.model.taxon.Classification; import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode; @@ -52,25 +53,31 @@ public class NewTaxonNodeWizard extends AbstractNewEntityWizard{ ITaxonTreeNode parent = getParentTreeNode(); Taxon taxon = taxonNodePage.getTaxon(); try{ - TaxonNode taxonNode = parent.addChildTaxon(taxon, parent.getReference(), parent.getMicroReference()); + UpdateResult result = CdmStore.getService(ITaxonNodeService.class).createNewTaxonNode(parent.getUuid(), taxon, parent.getReference(), parent.getMicroReference()); + + //TaxonNode taxonNode = parent.addChildTaxon(taxon, parent.getReference(), parent.getMicroReference()); - if(CdmStore.getCurrentSessionManager().isRemoting()) { + /* if(CdmStore.getCurrentSessionManager().isRemoting()) { taxonNode = CdmStore.getService(ITaxonNodeService.class).merge(taxonNode); } else { taxonNode = CdmStore.getService(ITaxonNodeService.class).save(taxonNode); - } - generatedTaxonNodeUuid = taxonNode.getUuid(); + }*/ + generatedTaxonNodeUuid = result.getCdmEntity().getUuid(); + TaxonNode taxonNode = CdmStore.getService(ITaxonNodeService.class).load(generatedTaxonNodeUuid); Set affectedObjects = new HashSet(); - - TaxonNode parentNode = taxonNode.getParent(); - if(parentNode.getParent() == null) { - affectedObjects.add(taxonNode.getClassification()); + if (result.getUpdatedObjects().iterator().hasNext()){ + TaxonNode parentNode = (TaxonNode)result.getUpdatedObjects().iterator().next(); + if(parentNode.getParent() == null) { + affectedObjects.add(taxonNode.getClassification()); + } + if(parentNode instanceof TaxonNode) { + affectedObjects.add(parentNode); + } } + - if(parentNode instanceof TaxonNode) { - affectedObjects.add(parentNode); - } + if(CdmStore.getCurrentSessionManager().isRemoting()) { CdmApplicationState.getCurrentDataChangeService() -- 2.34.1