ref #6913 Remove IEditorInput dependency from alignment editor input
[taxeditor.git] / eu.etaxonomy.taxeditor.molecular / src / main / java / eu / etaxonomy / taxeditor / molecular / editor / AlignmentEditorInput.java
index b82362551ddcb2e537f800eb2d0c32ed0695b12d..b9835667e34be1ee62c55747810c6a942941fb70 100644 (file)
@@ -1,4 +1,3 @@
-// $Id$
 /**
 * Copyright (C) 2014 EDIT
 * European Distributed Institute of Taxonomy
 package eu.etaxonomy.taxeditor.molecular.editor;
 
 
+import java.util.Arrays;
+import java.util.List;
 import java.util.UUID;
 
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
+import eu.etaxonomy.cdm.api.service.molecular.ISequenceService;
+import eu.etaxonomy.cdm.model.molecular.Sequence;
+import eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput;
+import eu.etaxonomy.taxeditor.store.CdmStore;
 
 
 
@@ -23,76 +25,18 @@ import org.eclipse.ui.IPersistableElement;
  * @author Ben Stöver
  * @date 04.08.2014
  */
-public class AlignmentEditorInput implements IEditorInput {
-    private static final String name = "AlignmentEditor";
-
+public class AlignmentEditorInput extends CdmEntitySessionInput {
 
     private final UUID sequenceNodeUuid;
-
+    private Sequence sequenceNode;
 
     public AlignmentEditorInput(UUID sequenceNodeUuid) {
-               super();
+        super(false);
                this.sequenceNodeUuid = sequenceNodeUuid;
+               initSession();
        }
 
 
-       /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-     */
-    @Override
-    public Object getAdapter(Class adapter) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IEditorInput#exists()
-     */
-    @Override
-    public boolean exists() {
-        // TODO Auto-generated method stub
-        return false;
-    }
-
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
-     */
-    @Override
-    public ImageDescriptor getImageDescriptor() {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IEditorInput#getName()
-     */
-    @Override
-    public String getName() {
-        return name;
-    }
-
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IEditorInput#getPersistable()
-     */
-    @Override
-    public IPersistableElement getPersistable() {
-        return null;
-    }
-
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IEditorInput#getToolTipText()
-     */
-    @Override
-    public String getToolTipText() {
-        return name;
-    }
-
-
        /**
         * Returns the {@link UUID} of the sequence CDM node that should be edited by the {@link AlignmentEditor} this object
         * is used with.
@@ -135,4 +79,27 @@ public class AlignmentEditorInput implements IEditorInput {
         }
                return true;
        }
+
+
+       public void setSequenceNode(Sequence sequenceNode) {
+           this.sequenceNode = sequenceNode;
+       }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
+     */
+    @Override
+    public List<Sequence> getRootEntities() {
+        return Arrays.asList(sequenceNode);
+    }
+
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput#merge()
+     */
+    @Override
+    public void merge() {
+        CdmStore.getService(ISequenceService.class).merge(sequenceNode, true);
+
+    }
 }