#5678. fix deletion of feature nodes
authorKatja Luther <k.luther@bgbm.org>
Fri, 1 Jul 2016 11:09:42 +0000 (13:09 +0200)
committerKatja Luther <k.luther@bgbm.org>
Fri, 1 Jul 2016 11:09:42 +0000 (13:09 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/EditFeatureTreeWizardPage.java

index 16efff5520ac843b5d9f63c5e16bd6ca3e597be7..78cd5bd5aec99f095c9a6b893de13f8fde580e40 100644 (file)
@@ -37,8 +37,11 @@ import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
+import org.hibernate.proxy.HibernateProxy;
 
 import eu.etaxonomy.cdm.api.service.IFeatureNodeService;
 
 import eu.etaxonomy.cdm.api.service.IFeatureNodeService;
+import eu.etaxonomy.cdm.api.service.config.FeatureNodeDeletionConfigurator;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.cdm.model.description.FeatureNode;
 import eu.etaxonomy.cdm.model.description.FeatureTree;
 import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.cdm.model.description.FeatureNode;
 import eu.etaxonomy.cdm.model.description.FeatureTree;
@@ -159,7 +162,8 @@ public class EditFeatureTreeWizardPage extends WizardPage implements
         *            object.
         */
        public void setSelectedTree(FeatureTree featureTree) {
         *            object.
         */
        public void setSelectedTree(FeatureTree featureTree) {
-               this.featureTree = featureTree;
+               this.featureTree = HibernateProxyHelper.deproxy(featureTree, FeatureTree.class);
+               this.featureTree.setRoot(HibernateProxyHelper.deproxy(featureTree.getRoot(), FeatureNode.class));
                viewer.setInput(featureTree);
 
                text_title.removeModifyListener(this);
                viewer.setInput(featureTree);
 
                text_title.removeModifyListener(this);
@@ -224,6 +228,9 @@ public class EditFeatureTreeWizardPage extends WizardPage implements
                                FeatureNode featureNode = (FeatureNode) selectedObject;
                                FeatureNode parent = featureNode.getParent();
                                parent.removeChild(featureNode);
                                FeatureNode featureNode = (FeatureNode) selectedObject;
                                FeatureNode parent = featureNode.getParent();
                                parent.removeChild(featureNode);
+                               
+                               CdmStore.getService(IFeatureNodeService.class).deleteFeatureNode(featureNode.getUuid(), new FeatureNodeDeletionConfigurator());
+                               
                        }
                        viewer.refresh();
                }
                        }
                        viewer.refresh();
                }