Initial implementation of CDM data reading and writing in AlignmentEditor.
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / handler / EditSequenceHandler.java
index ea3dc5a402c530536159d458400a7465c4b5d94d..d6aa37d47058bdd72e0741344e099961dc90eea8 100644 (file)
@@ -1,4 +1,6 @@
 package eu.etaxonomy.taxeditor.editor.handler;
+
+
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.List;
@@ -12,39 +14,34 @@ import org.eclipse.jface.viewers.TreeNode;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.handlers.HandlerUtil;
 
-import eu.etaxonomy.cdm.model.media.Media;
-import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
-import eu.etaxonomy.cdm.model.media.MediaUtils;
 import eu.etaxonomy.cdm.model.molecular.Sequence;
 import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditorInput;
 
 
-public class EditSequenceHandler extends AbstractHandler {
 
+/**
+ * Opens the alignment editor from the CDM tree.
+ * 
+ * @author Ben Stöver
+ * @author pplitzner
+ */
+public class EditSequenceHandler extends AbstractHandler {
     @Override
     public Object execute(ExecutionEvent event) throws ExecutionException {
         ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
         TreeNode treeNodeOfSelection = EditorUtil.getTreeNodeOfSelection(currentSelection);
-        if(treeNodeOfSelection!=null && treeNodeOfSelection.getValue() instanceof Sequence){
-            Sequence sequence = (Sequence)treeNodeOfSelection.getValue();
-            List<URI> pherogramUris = new ArrayList<URI>();
-            Set<Media> pherograms = sequence.getPherograms();
-            for (Media media : pherograms) {
-                MediaRepresentationPart firstMediaRepresentationPart = MediaUtils.getFirstMediaRepresentationPart(media);
-                if(firstMediaRepresentationPart!=null){
-                    pherogramUris.add(firstMediaRepresentationPart.getUri());
-                }
+        if(treeNodeOfSelection != null && treeNodeOfSelection.getValue() instanceof Sequence){
+            AlignmentEditorInput input = new AlignmentEditorInput((Sequence)treeNodeOfSelection.getValue());  //TODO Should there always be a new instance created here? What if the specified CDM node is already opened in an AlignmentEditor? => Possible create Singleton that keeps instances by sequence objects in a map. 
+            try {
+                EditorUtil.open(input);
+            } 
+            catch (PartInitException e) {
+                // TODO Auto-generated catch block
+                e.printStackTrace();
             }
         }
-        AlignmentEditorInput input = new AlignmentEditorInput();
-        try {
-            EditorUtil.open(input);
-        } catch (PartInitException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
+        
         return null;
     }
-
 }