Reworked Fauna Europaea distribution import
authora.babadshanjan <a.babadshanjan@localhost>
Fri, 11 Sep 2009 13:54:08 +0000 (13:54 +0000)
committera.babadshanjan <a.babadshanjan@localhost>
Fri, 11 Sep 2009 13:54:08 +0000 (13:54 +0000)
.gitattributes
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaDistribution.java [new file with mode: 0644]
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaDistributionImport.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaDistributionTaxon.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaTransformer.java

index 4722316e959dea4cb957ce62f6e2aebebe11e1cd..523c84948202b0439812d4f0cbda5ce3a6e79929 100644 (file)
@@ -1100,6 +1100,7 @@ cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/excel/taxa/NormalExplicitRow.java -t
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/excel/taxa/TaxonExcelImportState.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/excel/taxa/TaxonExcelImporterBase.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaAuthorImport.java -text
+cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaDistribution.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaDistributionImport.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaDistributionTaxon.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaImportBase.java -text
diff --git a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaDistribution.java b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaDistribution.java
new file mode 100644 (file)
index 0000000..a9d9e1c
--- /dev/null
@@ -0,0 +1,129 @@
+/**\r
+* Copyright (C) 2009 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.cdm.io.faunaEuropaea;\r
+\r
+import java.util.UUID;\r
+\r
+/**\r
+ * @author a.babadshanjan\r
+ * @created 11.09.2009\r
+ * @version 1.0\r
+ */\r
+public class FaunaEuropaeaDistribution {\r
+       \r
+       private UUID taxonUuid;\r
+       private int taxonId;\r
+       private int distributionId;\r
+       private int occurrenceStatusId;\r
+       private int areaId;\r
+       private String areaName;\r
+       private String areaCode;\r
+       private int extraLimital;\r
+       \r
+       \r
+       /**\r
+        * @return the taxonUuid\r
+        */\r
+       public UUID getTaxonUuid() {\r
+               return taxonUuid;\r
+       }\r
+       /**\r
+        * @param taxonUuid the taxonUuid to set\r
+        */\r
+       public void setTaxonUuid(UUID taxonUuid) {\r
+               this.taxonUuid = taxonUuid;\r
+       }\r
+       /**\r
+        * @return the taxonId\r
+        */\r
+       public int getTaxonId() {\r
+               return taxonId;\r
+       }\r
+       /**\r
+        * @param taxonId the taxonId to set\r
+        */\r
+       public void setTaxonId(int taxonId) {\r
+               this.taxonId = taxonId;\r
+       }\r
+       /**\r
+        * @return the distributionId\r
+        */\r
+       public int getDistributionId() {\r
+               return distributionId;\r
+       }\r
+       /**\r
+        * @param distributionId the distributionId to set\r
+        */\r
+       public void setDistributionId(int distributionId) {\r
+               this.distributionId = distributionId;\r
+       }\r
+       /**\r
+        * @return the occurrenceStatusId\r
+        */\r
+       public int getOccurrenceStatusId() {\r
+               return occurrenceStatusId;\r
+       }\r
+       /**\r
+        * @param occurrenceStatusId the occurrenceStatusId to set\r
+        */\r
+       public void setOccurrenceStatusId(int occurrenceStatusId) {\r
+               this.occurrenceStatusId = occurrenceStatusId;\r
+       }\r
+       /**\r
+        * @return the areaId\r
+        */\r
+       public int getAreaId() {\r
+               return areaId;\r
+       }\r
+       /**\r
+        * @param areaId the areaId to set\r
+        */\r
+       public void setAreaId(int areaId) {\r
+               this.areaId = areaId;\r
+       }\r
+       /**\r
+        * @return the areaName\r
+        */\r
+       public String getAreaName() {\r
+               return areaName;\r
+       }\r
+       /**\r
+        * @param areaName the areaName to set\r
+        */\r
+       public void setAreaName(String areaName) {\r
+               this.areaName = areaName;\r
+       }\r
+       /**\r
+        * @return the areaCode\r
+        */\r
+       public String getAreaCode() {\r
+               return areaCode;\r
+       }\r
+       /**\r
+        * @param areaCode the areaCode to set\r
+        */\r
+       public void setAreaCode(String areaCode) {\r
+               this.areaCode = areaCode;\r
+       }\r
+       /**\r
+        * @return the extraLimital\r
+        */\r
+       public int getExtraLimital() {\r
+               return extraLimital;\r
+       }\r
+       /**\r
+        * @param extraLimital the extraLimital to set\r
+        */\r
+       public void setExtraLimital(int extraLimital) {\r
+               this.extraLimital = extraLimital;\r
+       }\r
+       \r
+\r
+}\r
index 9fa1f8a97c9b8b4392f37f48da566c96448dda85..2b5327385503073798548adcc1b155363a43589a 100644 (file)
@@ -147,33 +147,37 @@ public class FaunaEuropaeaDistributionImport extends FaunaEuropaeaImportBase {
                                String areaName = rs.getString("ara_name");\r
                                String areaCode = rs.getString("ara_code");\r
                                int extraLimital = rs.getInt("ara_extralimital");\r
-                               UUID fauEuTaxonUuid = null;\r
+                               UUID currentTaxonUuid = null;\r
                                if (resultSetHasColumn(rs,"UUID")){\r
-                                       fauEuTaxonUuid = UUID.fromString(rs.getString("UUID"));\r
+                                       currentTaxonUuid = UUID.fromString(rs.getString("UUID"));\r
                                } else {\r
-                                       fauEuTaxonUuid = UUID.randomUUID();\r
+                                       currentTaxonUuid = UUID.randomUUID();\r
                                }\r
                                \r
-                               FaunaEuropaeaDistributionTaxon fauEuTaxon = new FaunaEuropaeaDistributionTaxon();\r
-                               fauEuTaxon.setTaxonId(taxonId);\r
-                               fauEuTaxon.setDistributionId(disId);\r
-                               fauEuTaxon.setOccurrenceStatusId(occStatusId);\r
-                               fauEuTaxon.setAreaId(areaId);\r
-                               fauEuTaxon.setAreaName(areaName);\r
-                               fauEuTaxon.setAreaCode(areaCode);\r
-                               fauEuTaxon.setExtraLimital(extraLimital);\r
-                               fauEuTaxon.setTaxonUuid(fauEuTaxonUuid);\r
+                               FaunaEuropaeaDistribution fauEuDistribution = new FaunaEuropaeaDistribution();\r
+                               fauEuDistribution.setTaxonId(taxonId);\r
+                               fauEuDistribution.setDistributionId(disId);\r
+                               fauEuDistribution.setOccurrenceStatusId(occStatusId);\r
+                               fauEuDistribution.setAreaId(areaId);\r
+                               fauEuDistribution.setAreaName(areaName);\r
+                               fauEuDistribution.setAreaCode(areaCode);\r
+                               fauEuDistribution.setExtraLimital(extraLimital);\r
+                               fauEuDistribution.setTaxonUuid(currentTaxonUuid);\r
                                \r
-                               if (!taxonUuids.contains(fauEuTaxonUuid)) {\r
-                                       taxonUuids.add(fauEuTaxonUuid);\r
-                                       fauEuTaxonMap.put(fauEuTaxonUuid, fauEuTaxon);\r
+                               if (!taxonUuids.contains(currentTaxonUuid)) {\r
+                                       taxonUuids.add(currentTaxonUuid);\r
+                                       FaunaEuropaeaDistributionTaxon fauEuDistributionTaxon = \r
+                                               new FaunaEuropaeaDistributionTaxon(currentTaxonUuid);\r
+                                       fauEuTaxonMap.put(currentTaxonUuid, fauEuDistributionTaxon);\r
                                } else {\r
-                                       if (logger.isDebugEnabled()) { \r
-                                               logger.debug("Taxon (" + fauEuTaxonUuid + ") already stored.");\r
+                                       if (logger.isTraceEnabled()) { \r
+                                               logger.trace("Taxon (" + currentTaxonUuid + ") already stored.");\r
                                                continue;\r
                                        }\r
                                }\r
                                \r
+                               fauEuTaxonMap.get(currentTaxonUuid).addDistribution(fauEuDistribution);\r
+                               \r
                                if ((i % limit) == 0 && i != 1 ) {\r
                                        \r
                                        try {\r
@@ -204,14 +208,16 @@ public class FaunaEuropaeaDistributionImport extends FaunaEuropaeaImportBase {
                                                                UUID taxonUuid = taxonBase.getUuid();\r
                                                                FaunaEuropaeaDistributionTaxon fauEuHelperTaxon = fauEuTaxonMap.get(taxonUuid);\r
                                                                \r
-                                                               PresenceAbsenceTermBase<?> presenceAbsenceStatus \r
-                                                               = FaunaEuropaeaTransformer.occStatus2PresenceAbsence(fauEuHelperTaxon.getOccurrenceStatusId());\r
-                                                               NamedArea namedArea = \r
-                                                                       FaunaEuropaeaTransformer.areaId2TdwgArea(fauEuHelperTaxon);\r
+                                                               for (FaunaEuropaeaDistribution fauEuHelperDistribution : fauEuHelperTaxon.getDistributions()) {\r
 \r
-                                                               Distribution newDistribution = Distribution.NewInstance(namedArea, presenceAbsenceStatus);\r
-                                                               taxonDescription.addElement(newDistribution);\r
+                                                                       PresenceAbsenceTermBase<?> presenceAbsenceStatus \r
+                                                                       = FaunaEuropaeaTransformer.occStatus2PresenceAbsence(fauEuHelperDistribution.getOccurrenceStatusId());\r
+                                                                       NamedArea namedArea = \r
+                                                                               FaunaEuropaeaTransformer.areaId2TdwgArea(fauEuHelperDistribution);\r
 \r
+                                                                       Distribution newDistribution = Distribution.NewInstance(namedArea, presenceAbsenceStatus);\r
+                                                                       taxonDescription.addElement(newDistribution);\r
+                                                               }\r
                                                        }\r
                                                }\r
                                                if(logger.isInfoEnabled()) { logger.info("Saving taxa..."); }\r
@@ -228,14 +234,13 @@ public class FaunaEuropaeaDistributionImport extends FaunaEuropaeaImportBase {
                                                e.printStackTrace();\r
                                        }\r
                                }\r
-\r
-                       if(logger.isInfoEnabled()) { logger.info("End making distributions..."); }\r
-                       \r
                        }               \r
                } catch (SQLException e) {\r
                        logger.error("SQLException:" +  e);\r
                        return false;\r
                }\r
+               if(logger.isInfoEnabled()) { logger.info("End making distributions..."); }\r
+               \r
                return true;\r
        }\r
 \r
index 1750c3588414e31d6f662b926702456be9ecdd28..50898fdc50bd2ef47c8d3ba798fb7871dada2b4c 100644 (file)
@@ -9,25 +9,34 @@
 \r
 package eu.etaxonomy.cdm.io.faunaEuropaea;\r
 \r
+import java.util.HashSet;\r
+import java.util.Set;\r
 import java.util.UUID;\r
 \r
 /**\r
  * @author a.babadshanjan\r
- * @created 26.05.2009\r
+ * @created 10.09.2009\r
  * @version 1.0\r
  */\r
 public class FaunaEuropaeaDistributionTaxon {\r
        \r
        private UUID taxonUuid;\r
        private int taxonId;\r
-       private int distributionId;\r
-       private int occurrenceStatusId;\r
-       private int areaId;\r
-       private String areaName;\r
-       private String areaCode;\r
-       private int extraLimital;\r
-       \r
+       private Set<FaunaEuropaeaDistribution> distributions;   \r
        \r
+       /**\r
+        * @param distributions\r
+        */\r
+       public FaunaEuropaeaDistributionTaxon() {\r
+               this.distributions = new HashSet<FaunaEuropaeaDistribution>();\r
+       }\r
+       /**\r
+        * @param taxonUuid\r
+        */\r
+       public FaunaEuropaeaDistributionTaxon(UUID taxonUuid) {\r
+               this();\r
+               this.taxonUuid = taxonUuid;\r
+       }\r
        /**\r
         * @return the taxonUuid\r
         */\r
@@ -53,77 +62,19 @@ public class FaunaEuropaeaDistributionTaxon {
                this.taxonId = taxonId;\r
        }\r
        /**\r
-        * @return the distributionId\r
-        */\r
-       public int getDistributionId() {\r
-               return distributionId;\r
-       }\r
-       /**\r
-        * @param distributionId the distributionId to set\r
-        */\r
-       public void setDistributionId(int distributionId) {\r
-               this.distributionId = distributionId;\r
-       }\r
-       /**\r
-        * @return the occurrenceStatusId\r
-        */\r
-       public int getOccurrenceStatusId() {\r
-               return occurrenceStatusId;\r
-       }\r
-       /**\r
-        * @param occurrenceStatusId the occurrenceStatusId to set\r
-        */\r
-       public void setOccurrenceStatusId(int occurrenceStatusId) {\r
-               this.occurrenceStatusId = occurrenceStatusId;\r
-       }\r
-       /**\r
-        * @return the areaId\r
+        * @return the distributions\r
         */\r
-       public int getAreaId() {\r
-               return areaId;\r
+       public Set<FaunaEuropaeaDistribution> getDistributions() {\r
+               return distributions;\r
        }\r
        /**\r
-        * @param areaId the areaId to set\r
+        * @param distributions the distributions to set\r
         */\r
-       public void setAreaId(int areaId) {\r
-               this.areaId = areaId;\r
-       }\r
-       /**\r
-        * @return the areaName\r
-        */\r
-       public String getAreaName() {\r
-               return areaName;\r
-       }\r
-       /**\r
-        * @param areaName the areaName to set\r
-        */\r
-       public void setAreaName(String areaName) {\r
-               this.areaName = areaName;\r
-       }\r
-       /**\r
-        * @return the areaCode\r
-        */\r
-       public String getAreaCode() {\r
-               return areaCode;\r
-       }\r
-       /**\r
-        * @param areaCode the areaCode to set\r
-        */\r
-       public void setAreaCode(String areaCode) {\r
-               this.areaCode = areaCode;\r
-       }\r
-       /**\r
-        * @return the extraLimital\r
-        */\r
-       public int getExtraLimital() {\r
-               return extraLimital;\r
-       }\r
-       /**\r
-        * @param extraLimital the extraLimital to set\r
-        */\r
-       public void setExtraLimital(int extraLimital) {\r
-               this.extraLimital = extraLimital;\r
+       public void setDistributions(Set<FaunaEuropaeaDistribution> distributions) {\r
+               this.distributions = distributions;\r
        }\r
        \r
-\r
+       public void addDistribution(FaunaEuropaeaDistribution fauEuDistribution) {\r
+               distributions.add(fauEuDistribution);\r
+       }\r
 }\r
index ce3f2fede79aa6c63609b86bedb9cb5eae6cc835..a4b059434de429422209471240518994f39d6bf2 100644 (file)
@@ -181,16 +181,16 @@ public final class FaunaEuropaeaTransformer {
        }\r
        \r
        \r
-       public static NamedArea areaId2TdwgArea (FaunaEuropaeaDistributionTaxon fauEuTaxon) \r
+       public static NamedArea areaId2TdwgArea (FaunaEuropaeaDistribution fauEuDistribution) \r
        throws UnknownCdmTypeException {\r
                \r
                NamedArea tdwgArea = null;\r
                \r
                try {\r
-                       int areaId = fauEuTaxon.getAreaId();\r
-                       String areaName = fauEuTaxon.getAreaName();\r
-                       String areaCode = fauEuTaxon.getAreaCode();\r
-                       int extraLimital = fauEuTaxon.getExtraLimital();\r
+                       int areaId = fauEuDistribution.getAreaId();\r
+                       String areaName = fauEuDistribution.getAreaName();\r
+                       String areaCode = fauEuDistribution.getAreaCode();\r
+                       int extraLimital = fauEuDistribution.getExtraLimital();\r
                        \r
                        //TODO: Verify mappings with comments. Those don't map to TDWG areas.\r
                        \r