merge conflict
authorKatja Luther <k.luther@bgbm.org>
Wed, 6 Sep 2017 12:31:58 +0000 (14:31 +0200)
committerKatja Luther <k.luther@bgbm.org>
Wed, 6 Sep 2017 12:31:58 +0000 (14:31 +0200)
cdm-pesi/src/main/java/eu/etaxonomy/cdm/app/common/CdmDestinations.java
cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaAuthorImport.java
cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaDistributionImport.java
cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaVernacularNamesImport.java

index 21a5528ecc07b5d1179ef25ef0ad4addecd8ef8f..dbd866168909dfa6824315adf488e3d29f2f7ec2 100644 (file)
@@ -34,7 +34,7 @@ public class CdmDestinations {
        public static ICdmDataSource cdm_test_local_faunaEu_mysql(){
                DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
                String cdmServer = "127.0.0.1";
-               String cdmDB = "cdm_faunaeu_2015_09";
+               String cdmDB = "cdm_faunaeu_2017_03";
                String cdmUserName = "root";
                return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
        }
index e767743e8f924a48f8773b53629c948713fa0f9b..849299f640025c72889d91aa5b074bdb7e7971aa 100644 (file)
@@ -47,11 +47,13 @@ public class FaunaEuropaeaAuthorImport extends FaunaEuropaeaImportBase {
        private static int modCount = 1000;\r
        private final static String authorSeparator = ", ";\r
        private final static String lastAuthorSeparator = " & ";\r
+       private static String capitalWord = "\\p{javaUpperCase}\\p{javaLowerCase}*";\r
         protected static String fWs = "\\s*";\r
         protected static String oWs = "\\s+";\r
         protected static String finalTeamSplitter = "(" + fWs + "(&)" + fWs + "|" + oWs + "et" + oWs + ")";\r
        protected static String notFinalTeamSplitter = "((?:" + fWs + "," + fWs + ")(?!([A-Z][\\.]))"+"|" + finalTeamSplitter + ")";\r
-       protected static String test = "(,\\s(?![A-Z][.|\\s|$]))|" + finalTeamSplitter ;\r
+       protected static String test = "(, \\s(?!([A-Z].|\\s|$))|,$)" ;\r
+       //protected static String test = "((,\\s("+capitalWord+")+)|(,($|,?!(\\s))))";\r
 \r
 \r
        /* (non-Javadoc)\r
@@ -227,13 +229,17 @@ public class FaunaEuropaeaAuthorImport extends FaunaEuropaeaImportBase {
         //Lastname A, Lastname B & Lastname\r
         //Lastname A Lastname B & Lastname C\r
         //Lastname, J & Lastname, L\r
-        String[] teamMembers = refAuthor.split(test);\r
-\r
-        String lastMember;\r
+        String[] firstTeamMembers = refAuthor.split(finalTeamSplitter);\r
+        String[] teamMembers = null;\r
+        String lastMember = null;\r
+        lastMember = firstTeamMembers[firstTeamMembers.length-1];\r
 \r
+        if (firstTeamMembers.length == 2){\r
+            teamMembers = firstTeamMembers[0].split(test);\r
+        }\r
         Person teamMember;\r
         author = Team.NewInstance();\r
-        if (teamMembers.length>1){\r
+        if (teamMembers != null){\r
             for(String member:teamMembers){\r
                 if (!member.trim().equals("")){\r
                     teamMember = Person.NewInstance();\r
@@ -241,9 +247,25 @@ public class FaunaEuropaeaAuthorImport extends FaunaEuropaeaImportBase {
                    ((Team)author).addTeamMember(teamMember);\r
                 }\r
             }\r
+            teamMember = Person.NewInstance();\r
+            teamMember.setTitleCache(lastMember, true);\r
+            ((Team)author).addTeamMember(teamMember);\r
+\r
         }else{\r
-            author = Person.NewInstance();\r
-            author.setTitleCache(refAuthor, true);\r
+            teamMembers = lastMember.split(test);\r
+            if (teamMembers.length >1){\r
+                for(String member:teamMembers){\r
+                    if (!member.trim().equals("")){\r
+                        teamMember = Person.NewInstance();\r
+                        teamMember.setTitleCache(member, true);\r
+                       ((Team)author).addTeamMember(teamMember);\r
+                    }\r
+                }\r
+            }else{\r
+                author = Person.NewInstance();\r
+                author.setTitleCache(lastMember, true);\r
+            }\r
+\r
 \r
         }\r
         author.getTitleCache();\r
index 236972404a41ac0a0625e654f492f60c71aa1a92..8ac5e18b07346322adbf9a2a19340b0f07b1369f 100644 (file)
@@ -678,6 +678,8 @@ public class FaunaEuropaeaDistributionImport extends FaunaEuropaeaImportBase {
                                } else {
                                        taxonDescription = TaxonDescription.NewInstance();
                                        taxon.addDescription(taxonDescription);
+                                       taxonDescription.setDefault(true);
+                                       //addOriginalSource(taxonDescription, null, "Default Import", state.getConfig().getSourceReference());
                                }
 
                                taxonUuid = taxonBase.getUuid();
index 6f24c611941c77242c492192e9a9da39c764d527..5104a29a664a0be6d288ee8a874377a754a0cc39 100644 (file)
@@ -35,10 +35,12 @@ public class FaunaEuropaeaVernacularNamesImport extends FaunaEuropaeaImportBase
        private static final Logger logger = Logger.getLogger(FaunaEuropaeaVernacularNamesImport.class);
 
        private HashMap<String, Reference> sourceMap = new HashMap<String, Reference>();
+       private Reference pesiProject = ReferenceFactory.newDatabase();
 
        @Override
        protected void doInvoke(FaunaEuropaeaImportState state) {
                int limit = state.getConfig().getLimitSave();
+               pesiProject.setTitle("PESI");
 
                if (state.getConfig().isDoVernacularNames()){
                        /* Taxon store for retrieving taxa from and saving taxa to CDM */
@@ -231,8 +233,9 @@ public class FaunaEuropaeaVernacularNamesImport extends FaunaEuropaeaImportBase
                                                        + taxonBase.getClass().getSimpleName() + " using accepted Taxon for vernacular name");
                                        continue;
                                }
-
                                taxonDescription = TaxonDescription.NewInstance();
+                               addOriginalSource(taxonDescription, null, "CommonNameDefaultImport", pesiProject);
+
                                taxon.addDescription(taxonDescription);
 
                                taxonUuid = taxonBase.getUuid();
@@ -297,7 +300,9 @@ public class FaunaEuropaeaVernacularNamesImport extends FaunaEuropaeaImportBase
                                                verName.setArea(NamedArea.NORTH_AMERICA());
                                        }
                                        verName.setCreated(null);
-                                       addOriginalSource(verName, null, null, sourceMap.get(fauEuHelperVernacularName.getSource()));
+                                       if (fauEuHelperVernacularName.getSource() != null){
+                                           addOriginalSource(verName, null, null, sourceMap.get(fauEuHelperVernacularName.getSource()));
+                                       }
                                        taxonDescription.addElement(verName);
 
                                }