ref #6533: minor
authorKatja Luther <k.luther@bgbm.org>
Fri, 16 Feb 2018 08:48:51 +0000 (09:48 +0100)
committerKatja Luther <k.luther@bgbm.org>
Fri, 16 Feb 2018 08:50:00 +0000 (09:50 +0100)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewTaxonNodeWizard.java

index f51f59d8229d6da8b6309925d1807b920f604dae..5da8d564cdfeddbadb4aadff90cef9072728a872 100644 (file)
@@ -22,8 +22,10 @@ import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.section.classification.TaxonNodeDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.classification.TaxonNodeWizardPage;
 
 /**
@@ -76,7 +78,9 @@ public class NewTaxonNodeWizard extends AbstractNewEntityWizard<ITaxonTreeNode>{
                        generatedTaxonNodeUuid = result.getCdmEntity().getUuid();
                        TaxonNode taxonNode = CdmStore.getService(ITaxonNodeService.class).load(generatedTaxonNodeUuid);
                        taxonNode.getTaxon().setSec(sec);
-                       CdmStore.getService(ITaxonNodeService.class).merge(taxonNode, true);
+                       taxonNode.setExcluded(((TaxonNodeDetailElement)taxonNodePage.getDetailElement()).isExcluded());
+                       taxonNode.setUnplaced(((TaxonNodeDetailElement)taxonNodePage.getDetailElement()).isUnplaced());
+                       MergeResult resultMerge =  CdmStore.getService(ITaxonNodeService.class).merge(taxonNode, true);
                         Set<CdmBase> affectedObjects = new HashSet<CdmBase>();
                         if (result.getUpdatedObjects().iterator().hasNext()){
                                TaxonNode parentNode = (TaxonNode)result.getUpdatedObjects().iterator().next();
@@ -85,6 +89,12 @@ public class NewTaxonNodeWizard extends AbstractNewEntityWizard<ITaxonTreeNode>{
                             }
                                affectedObjects.add(parentNode);
                         }
+                        if (resultMerge.getMergedEntity() instanceof TaxonNode){
+                               TaxonNode node = (TaxonNode)resultMerge.getMergedEntity();
+                               affectedObjects.remove(node);
+
+                               affectedObjects.add(node);
+                            }
                         CdmApplicationState.getCurrentDataChangeService()
                                 .fireChangeEvent(new CdmChangeEvent(Action.Create, affectedObjects, NewTaxonNodeWizard.class), true);