Commit before reprogramming the NameTreeContentProvider.
authorp.ciardelli <p.ciardelli@localhost>
Wed, 28 May 2008 09:23:16 +0000 (09:23 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Wed, 28 May 2008 09:23:16 +0000 (09:23 +0000)
.gitattributes
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/CdmUtil.java [new file with mode: 0644]

index c106a5cf296557dd7f74ddec109ac36fd8f08709..30f24e702ff1384a2d2100e4da8460846210a0a2 100644 (file)
@@ -402,6 +402,7 @@ eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/cdm/Ad
 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
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/CdmUtil.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/CdmUtil.java
new file mode 100644 (file)
index 0000000..ad39730
--- /dev/null
@@ -0,0 +1,69 @@
+/**\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