From: Katja Luther Date: Tue, 2 Feb 2016 12:57:47 +0000 (+0100) Subject: use new createTaxonNode method instead of do it on the editor side X-Git-Tag: 4.0.0^2~167 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/5b03e06106ddf837611e2bd3825b93247b2e7899?hp=39224821075166abd9ffcc83aa1b4d9ba83cfe02 use new createTaxonNode method instead of do it on the editor side --- 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()