switched to cdmlib 2.0
[taxeditor.git] / eclipseprojects / eu.etaxonomy.taxeditor / src / eu / etaxonomy / taxeditor / controller / EditorController.java
index d746037705897d8644bf1f1a67dc882c563f4af5..4797ab9413244c952c4bd1259a2a97463b1c336e 100644 (file)
@@ -24,7 +24,9 @@ import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.PartInitException;\r
 \r
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
+import eu.etaxonomy.cdm.model.taxon.Synonym;\r
 import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
 import eu.etaxonomy.taxeditor.datasource.CdmTransactionController;\r
 import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;\r
 import eu.etaxonomy.taxeditor.editor.name.CdmParserController;\r
@@ -139,6 +141,22 @@ public class EditorController {
                }\r
                return null;\r
        }\r
+       \r
+       public static IEditorPart openTaxonEditor(TaxonBase taxonBase) {\r
+\r
+               Taxon taxon = null;\r
+               if (taxonBase instanceof Synonym) {\r
+                       // TODO: in case of pro parte synonym or any other where we might have multiple\r
+                       // accepted taxa we have to provide a mechanism that can deal with that\r
+                       // TODO set focus to the synonym\r
+                       taxon = (Taxon) ((Synonym) taxonBase).getAcceptedTaxa().toArray()[0];\r
+               } else {\r
+                       taxon = (Taxon) taxonBase;\r
+               }\r
+\r
+               // Open a taxon editor\r
+               return EditorController.open(taxon);\r
+       }\r
 \r
        /**\r
         * Redraws an open editor if it exists for the given taxon\r