ref #6694 Fix session handling when moving feature nodes
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / featuretree / e4 / FeatureTreeEditor.java
index 331d5c72cdad7d95c26b02c6e0ba6fef9aaba8c3..d74a394fddbefe2cbef2233b9f4fd5e6ce420763 100644 (file)
@@ -89,17 +89,23 @@ public class FeatureTreeEditor implements
                 }
             }
         }, new AddButtonListener(), new RemoveSelectionListener());
+        composite.getText_title().setEnabled(false);
        }
 
        public void setDirty(boolean isDirty){
            this.dirty.setDirty(isDirty);
        }
 
+       public boolean isDirty(){
+           return dirty.isDirty();
+       }
+
     public void setSelectedTree(FeatureTree featureTree) {
                this.featureTree = HibernateProxyHelper.deproxy(featureTree, FeatureTree.class);
                this.featureTree.setRoot(HibernateProxyHelper.deproxy(featureTree.getRoot(), FeatureNode.class));
                composite.getViewer().setInput(featureTree);
 
+               composite.getText_title().setEnabled(true);
                composite.getText_title().removeModifyListener(this);
                composite.getText_title().setText(featureTree.getTitleCache());
                composite.getText_title().addModifyListener(this);
@@ -156,9 +162,8 @@ public class FeatureTreeEditor implements
                                                .getAdditionalFeatures();
                                for (Feature feature : additionalFeatures) {
                                        FeatureNode child = FeatureNode.NewInstance(feature);
-                                       CdmStore.getService(IFeatureNodeService.class).merge(child, true);
-
                                        parent.addChild(child);
+                                       CdmStore.getService(IFeatureNodeService.class).save(child);
                                }
                                setDirty(true);
                                composite.getViewer().refresh();