eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/cdm/ChangeSynonymToMisappliedNameAction.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/cdm/DeleteSynonymFromTaxonAction.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/cdm/TaxonActionFactory.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/CdmUtil.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/NameEditorInput.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/NameTreeContentProvider.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/PropertySheetNode.java -text
--- /dev/null
+/**\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+\r
+package eu.etaxonomy.taxeditor.model;\r
+\r
+import org.apache.log4j.Logger;\r
+\r
+import eu.etaxonomy.cdm.model.name.HomotypicalGroup;\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
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 26.05.2008\r
+ * @version 1.0\r
+ */\r
+public class CdmUtil {\r
+ private static final Logger logger = Logger.getLogger(CdmUtil.class);\r
+ \r
+ /**\r
+ * Checks whether synonym's name is the basionym of the taxon's name.\r
+ * \r
+ * @param taxon\r
+ * @param synonym\r
+ * @return\r
+ */\r
+ public static boolean isSynonymBasionym(Taxon taxon, Synonym synonym) {\r
+ TaxonNameBase synonymName = synonym.getName();\r
+ TaxonNameBase taxonName = taxon.getName();\r
+ if (taxonName == null || synonymName == null) {\r
+ return false;\r
+ }\r
+ TaxonNameBase basionymName = taxonName.getBasionym();\r
+ if (synonymName.equals(basionymName)) {\r
+ return true;\r
+ }\r
+ return false;\r
+ }\r
+\r
+ /**\r
+ * Checks whether name belongs to the same homotypic group as taxon's name.\r
+ * \r
+ * @param name\r
+ * @param taxon\r
+ * @return\r
+ */\r
+ public static boolean isNameHomotypic(TaxonNameBase name, Taxon taxon) {\r
+ TaxonNameBase taxonName = taxon.getName();\r
+ if (taxonName == null || name == null) {\r
+ return false;\r
+ }\r
+ HomotypicalGroup homotypicGroup = taxonName.getHomotypicalGroup();\r
+ if (homotypicGroup == null) {\r
+ return false;\r
+ }\r
+ if (homotypicGroup.equals(name.getHomotypicalGroup())) {\r
+ return true;\r
+ }\r
+ return false;\r
+ }\r
+ \r
+}\r