Modified determination of misapplied names
authorem.lee <em.lee@localhost>
Tue, 7 Sep 2010 09:36:53 +0000 (09:36 +0000)
committerem.lee <em.lee@localhost>
Tue, 7 Sep 2010 09:36:53 +0000 (09:36 +0000)
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaTaxonNameImport.java

index baba4f970f378568a6959aa378a69a6caa3606f7..42f1f45ab6c62149b080523c33d505b91ca49bc2 100644 (file)
@@ -26,6 +26,8 @@ import java.util.HashSet;
 import java.util.Map;\r
 import java.util.Set;\r
 import java.util.UUID;\r
+import java.util.regex.Matcher;\r
+import java.util.regex.Pattern;\r
 \r
 import org.apache.log4j.Logger;\r
 import org.springframework.stereotype.Component;\r
@@ -38,13 +40,10 @@ import eu.etaxonomy.cdm.io.common.MapWrapper;
 import eu.etaxonomy.cdm.io.common.Source;\r
 import eu.etaxonomy.cdm.io.pesi.out.PesiTransformer;\r
 import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;\r
-import eu.etaxonomy.cdm.model.common.AnnotationType;\r
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
 import eu.etaxonomy.cdm.model.common.Extension;\r
 import eu.etaxonomy.cdm.model.common.ExtensionType;\r
-import eu.etaxonomy.cdm.model.common.IdentifiableEntity;\r
 import eu.etaxonomy.cdm.model.common.IdentifiableSource;\r
-import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
 import eu.etaxonomy.cdm.model.name.Rank;\r
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
 import eu.etaxonomy.cdm.model.name.ZoologicalName;\r
@@ -403,7 +402,10 @@ public class FaunaEuropaeaTaxonNameImport extends FaunaEuropaeaImportBase  {
                                Synonym synonym = null;\r
                                Taxon taxon;\r
                                try {\r
-                                       if ((status == T_STATUS_ACCEPTED) || (autId == A_AUCT)) { // taxon\r
+                                       // check for occurrence of the auct string in auctName\r
+                                       String auctRegEx = "\bauct\\.?\b"; // A word "auct" with or without "."\r
+                                       if (expressionMatches(auctRegEx, autName)) {\r
+                                               \r
                                                if (autId == A_AUCT) { // misapplied name\r
                                                        zooName.setCombinationAuthorTeam(null);\r
                                                        zooName.setPublicationYear(null);\r
@@ -483,7 +485,22 @@ public class FaunaEuropaeaTaxonNameImport extends FaunaEuropaeaImportBase  {
 \r
                return success;\r
        }\r
-       \r
+\r
+       /**\r
+        * Returns whether a regular expression is found in a given target string.\r
+        * @param regEx\r
+        * @param targetString\r
+        * @return\r
+        */\r
+       private static boolean expressionMatches(String regEx, String targetString) {\r
+               Pattern pattern = Pattern.compile(regEx);\r
+               Matcher matcher = pattern.matcher(targetString);\r
+               if (matcher.find()) {\r
+                       return true;\r
+               } else {\r
+                       return false;\r
+               }\r
+       }\r
        \r
        /**\r
         * Processes taxa from complete taxon store\r