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.AbstractTaxonEditor;\r
import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;\r
+import eu.etaxonomy.taxeditor.editor.description.TaxonDescriptionEditor;\r
import eu.etaxonomy.taxeditor.editor.name.CdmParserController;\r
import eu.etaxonomy.taxeditor.editor.name.TaxonNameEditor;\r
import eu.etaxonomy.taxeditor.model.CdmSessionDataRepository;\r
public class EditorController {\r
private static final Logger logger = Logger.getLogger(EditorController.class);\r
\r
-\r
private static Map<Taxon, TaxonNameEditor> taxonNameEditors;\r
-\r
+ private static Map<Taxon, TaxonDescriptionEditor> taxonDescriptionEditors;\r
\r
private static boolean isSaving = false;\r
\r
*/\r
public static boolean redraw(Taxon taxon){\r
\r
- TaxonNameEditor editor = EditorController.getEditor(taxon);\r
+ // TODO handle this in AbstractEditorOperation?\r
\r
+ return redraw(EditorController.getNameEditor(taxon)) &&\r
+ redraw(EditorController.getDescriptionEditor(taxon));\r
+// TaxonNameEditor editor = EditorController.getNameEditor(taxon);\r
+// \r
+// if(editor == null || editor.redraw()){\r
+// \r
+// // Mark editor as changed and unsaved\r
+// editor.setDirty();\r
+// \r
+// return true; \r
+// } \r
+// return false;\r
+ }\r
+\r
+ private static boolean redraw(AbstractTaxonEditor editor) { \r
if(editor == null || editor.redraw()){\r
\r
// Mark editor as changed and unsaved\r
- editor.setDirty();\r
- \r
+ editor.setDirty(); \r
return true; \r
} \r
- return false;\r
+ return false; \r
}\r
-\r
+ \r
/**\r
* @param taxon\r
* @param save\r
return isSaving;\r
}\r
\r
- public static void addEditor(\r
+ public static void addNameEditor(\r
Taxon taxon, TaxonNameEditor taxonNameEditor) {\r
if (taxonNameEditors == null) {\r
taxonNameEditors = new HashMap<Taxon, TaxonNameEditor>();\r
taxonNameEditors.put(taxon, taxonNameEditor);\r
}\r
\r
- public static TaxonNameEditor getEditor(Taxon taxon) {\r
+ public static TaxonNameEditor getNameEditor(Taxon taxon) {\r
if (taxonNameEditors == null) {\r
return null;\r
}\r
return taxonNameEditors.get(taxon);\r
}\r
\r
+ public static void addDescriptionEditor(\r
+ Taxon taxon, TaxonDescriptionEditor taxonDescriptionEditor) {\r
+ if (taxonDescriptionEditors == null) {\r
+ taxonDescriptionEditors = new HashMap<Taxon, TaxonDescriptionEditor>();\r
+ }\r
+ taxonDescriptionEditors.put(taxon, taxonDescriptionEditor);\r
+ }\r
+\r
+ public static TaxonDescriptionEditor getDescriptionEditor(Taxon taxon) {\r
+ if (taxonDescriptionEditors == null) {\r
+ return null;\r
+ }\r
+ return taxonDescriptionEditors.get(taxon);\r
+ }\r
+ \r
/**\r
* Returns a set of all currently open \r
* <code>MultiPageTaxonEditor</code>s.\r