Merge branch 'develop' into feature/cdm-4.7
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / editor / definedterm / DefinedTermEditor.java
index f855feddb1651fd9e0316ffcf00108a773d87275..4c2a95689da2469cd73be1a3eb6bf9e9a696b400 100644 (file)
@@ -1,4 +1,3 @@
-// $Id$\r
 /**\r
  * Copyright (C) 2009 EDIT\r
  * European Distributed Institute of Taxonomy\r
@@ -9,9 +8,6 @@
  */\r
 package eu.etaxonomy.taxeditor.editor.definedterm;\r
 \r
-import java.util.ArrayList;\r
-import java.util.Set;\r
-\r
 import org.eclipse.core.runtime.IProgressMonitor;\r
 import org.eclipse.jface.action.GroupMarker;\r
 import org.eclipse.jface.action.MenuManager;\r
@@ -36,20 +32,14 @@ import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.PartInitException;\r
 import org.eclipse.ui.part.EditorPart;\r
 \r
-import eu.etaxonomy.cdm.api.application.CdmChangeEvent;\r
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;\r
-import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
-import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
 import eu.etaxonomy.cdm.model.common.OrderedTermBase;\r
-import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;\r
 import eu.etaxonomy.taxeditor.editor.definedterm.input.TermEditorInput;\r
 import eu.etaxonomy.taxeditor.model.IDirtyMarkable;\r
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
-import eu.etaxonomy.taxeditor.session.ICdmEntitySession;\r
-import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;\r
 import eu.etaxonomy.taxeditor.store.CdmStore;\r
 import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;\r
 \r
@@ -58,7 +48,7 @@ import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
  * @date 3 Jan 2012\r
  *\r
  */\r
-public class DefinedTermEditor extends EditorPart implements IConversationEnabled, ISelectionListener, IDirtyMarkable, IPostOperationEnabled, ICdmEntitySessionEnabled {\r
+public class DefinedTermEditor extends EditorPart implements IConversationEnabled, ISelectionListener, IDirtyMarkable, IPostOperationEnabled {\r
 \r
        public static final String ID = "eu.etaxonomy.taxeditor.editor.definedTerm";\r
 \r
@@ -69,8 +59,6 @@ public class DefinedTermEditor extends EditorPart implements IConversationEnable
        private ISelectionService selectionService;\r
        private boolean dirty;\r
 \r
-       private final ICdmEntitySession cdmEntitySession;\r
-\r
 \r
        private final int dndOperations = DND.DROP_COPY | DND.DROP_MOVE;\r
        /**\r
@@ -79,7 +67,6 @@ public class DefinedTermEditor extends EditorPart implements IConversationEnable
        public DefinedTermEditor() {\r
                super();\r
                conversation = CdmStore.createConversation();\r
-               cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);\r
        }\r
 \r
        @Override\r
@@ -151,6 +138,7 @@ public class DefinedTermEditor extends EditorPart implements IConversationEnable
 \r
                Control control = viewer.getControl();\r
                Menu menu = menuManager.createContextMenu(control);\r
+               menuManager.setRemoveAllWhenShown(true);\r
                control.setMenu(menu);\r
        }\r
 \r
@@ -160,7 +148,7 @@ public class DefinedTermEditor extends EditorPart implements IConversationEnable
        @Override\r
        public void doSave(IProgressMonitor monitor) {\r
                getConversationHolder().commit();\r
-               CdmStore.getService(IVocabularyService.class).merge(new ArrayList<TermVocabulary>(getRootEntities()));\r
+               getDefinedTermEditorInput().merge();\r
                setDirty(false);\r
                getDefinedTermEditorInput().initialiseVocabularies();\r
                viewer.refresh();\r
@@ -191,7 +179,7 @@ public class DefinedTermEditor extends EditorPart implements IConversationEnable
        public void setFocus() {\r
            viewer.getControl().setFocus();\r
                getConversationHolder().bind();\r
-               cdmEntitySession.bind();\r
+               getDefinedTermEditorInput().bind();\r
        }\r
 \r
        @Override\r
@@ -259,10 +247,10 @@ public class DefinedTermEditor extends EditorPart implements IConversationEnable
                    OrderedTermBase otbe2 = (OrderedTermBase)e2;\r
                    if(otbe1.getOrderIndex() == otbe2.getOrderIndex()) {\r
                        return 0;\r
-                   } else if(otbe1.isHigher(otbe2)) {\r
-                       return 1;\r
-                   } else {\r
-                       return -1;\r
+                   } else if (otbe1.getOrderIndex() < otbe2.getOrderIndex()){\r
+                       return -1;\r
+                   } else{\r
+                       return 1;\r
                    }\r
                } else {\r
                    return super.compare(viewer, e1, e2);\r
@@ -272,34 +260,7 @@ public class DefinedTermEditor extends EditorPart implements IConversationEnable
 \r
        @Override\r
        public void dispose() {\r
-           cdmEntitySession.dispose();\r
+           getDefinedTermEditorInput().dispose();\r
            super.dispose();\r
        }\r
-\r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.application.ICdmChangeListener#onChange(eu.etaxonomy.cdm.api.application.CdmChangeEvent)\r
-     */\r
-    @Override\r
-    public void onChange(CdmChangeEvent event) {\r
-        // TODO Auto-generated method stub\r
-\r
-    }\r
-\r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getCdmEntitySession()\r
-     */\r
-    @Override\r
-    public ICdmEntitySession getCdmEntitySession() {\r
-        return cdmEntitySession;\r
-    }\r
-\r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()\r
-     */\r
-    @Override\r
-    public Set<TermVocabulary<DefinedTermBase>> getRootEntities() {\r
-        return getDefinedTermEditorInput().getVocabularies();\r
-    }\r
-\r
-\r
-}
\ No newline at end of file
+}