taxonomicTree
authorAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Tue, 30 Jun 2009 08:01:36 +0000 (08:01 +0000)
committerAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Tue, 30 Jun 2009 08:01:36 +0000 (08:01 +0000)
app-import/src/main/java/eu/etaxonomy/cdm/app/wp6/cichorieae/CichorieaeActivator.java
app-import/src/main/java/eu/etaxonomy/cdm/app/wp6/cichorieae/TaraxacumActivator.java
app-import/src/main/java/eu/etaxonomy/cdm/app/wp6/diptera/DipteraActivator.java
app-import/src/main/java/eu/etaxonomy/cdm/app/wp6/diptera/DipteraImageActivator.java
app-import/src/main/java/eu/etaxonomy/cdm/app/wp6/palmae/PalmaeActivator.java

index 6c61924b94a5cf3f6a0ea2dd05b5667456a55d12..9dcd70202c093e1d5257539f5198bcca6dd70177 100644 (file)
@@ -77,6 +77,8 @@ public class CichorieaeActivator {
 \r
        //ignore null\r
        static final boolean ignoreNull = true;\r
+       \r
+       static boolean useTaxonomicTree = true;\r
 \r
 \r
 // **************** ALL *********************  \r
@@ -89,7 +91,7 @@ public class CichorieaeActivator {
        static final boolean doRelNames = true;\r
        static final boolean doNameStatus = true;\r
        static final boolean doTypes = true;\r
-       static final boolean doNameFacts = false;\r
+       static final boolean doNameFacts = true;\r
        \r
        //taxa\r
        static final boolean doTaxa = true;\r
@@ -151,6 +153,7 @@ public class CichorieaeActivator {
                bmImportConfigurator.setDoNameStatus(doNameStatus);\r
                bmImportConfigurator.setDoTypes(doTypes);\r
                bmImportConfigurator.setDoNameFacts(doNameFacts);\r
+               bmImportConfigurator.setUseTaxonomicTree(useTaxonomicTree);\r
                \r
                bmImportConfigurator.setDoTaxa(doTaxa);\r
                bmImportConfigurator.setDoRelTaxa(doRelTaxa);\r
index a012b0a8d8ae2d2ac1f2d203f85ab3f7b00acdac..6f455ae326f5ab02b125d02637a9dc090c0233f8 100644 (file)
@@ -12,6 +12,7 @@ package eu.etaxonomy.cdm.app.wp6.cichorieae;
 import java.io.File;\r
 import java.sql.ResultSet;\r
 import java.sql.SQLException;\r
+import java.util.Set;\r
 import java.util.UUID;\r
 \r
 import org.apache.log4j.Logger;\r
@@ -35,6 +36,8 @@ import eu.etaxonomy.cdm.model.description.FeatureTree;
 import eu.etaxonomy.cdm.model.name.NomenclaturalCode;\r
 import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
 import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
+import eu.etaxonomy.cdm.model.taxon.TaxonomicTree;\r
 \r
 \r
 /**\r
@@ -52,7 +55,7 @@ public class TaraxacumActivator {
        //database validation status (create, update, validate ...)\r
        static DbSchemaValidation hbm2dll = DbSchemaValidation.UPDATE;\r
        static final Source berlinModelSource = BerlinModelSources.EDIT_Taraxacum();\r
-       static final ICdmDataSource cdmDestination = CdmDestinations.localH2();\r
+       static final ICdmDataSource cdmDestination = CdmDestinations.cdm_import_cichorieae();\r
 \r
        org.h2.jdbc.JdbcSQLException h;\r
        static final UUID secUuid = UUID.fromString("ba7120ce-4fab-49dc-aaa4-f36276426aa8");\r
@@ -196,63 +199,23 @@ public class TaraxacumActivator {
                if (taraxacumInCich != null) {\r
                        logger.info("Merge Taraxacum");\r
                        Taxon parent = taraxacumInCich.getTaxonomicParent();\r
+                       Set<TaxonNode> parentNodes = parent.getTaxonNodes();\r
+                       if(parentNodes.size() != 1){\r
+                               throw new RuntimeException("Exactly one Taxon Node expected, but found " + parentNodes.size());\r
+                       }\r
+                       TaxonNode parentNode = parentNodes.iterator().next();\r
                        UUID taraxacumTaraxUUID = UUID.fromString(taraxTaraxacum);\r
                        Taxon taraxacumInTarax = (Taxon)app.getTaxonService().findByUuid(taraxacumTaraxUUID);\r
-                       \r
+       \r
                        //TODO reference\r
                        ReferenceBase citation = null;\r
                        String microcitation = null;\r
-                       parent.addTaxonomicChild(taraxacumInTarax, citation, microcitation);\r
+                       parentNode.addChild(taraxacumInTarax, citation, microcitation);\r
                        app.getTaxonService().save(parent);\r
-                       parent.removeTaxonomicChild(taraxacumInCich);\r
+                       TaxonNode taraxacumInCichNode = parentNode.getTaxonomicTree().getNode(taraxacumInCich);\r
+                       parentNode.removeChild(taraxacumInCichNode);\r
                        app.getTaxonService().delete(taraxacumInCich);\r
-                       \r
-                       // Replace sec ID of Taraxacum in Taraxacum DB by sec ID of Taraxacum in Cichorieae DB\r
-                       //  = workaround to display Taraxacum Genus correctly in Data Portal Taxon Tree\r
-                       // Currently only one sec ID can be specified in Data Portal\r
-                       try {\r
-\r
-                               int secIdTarax = 0;\r
-                               int secIdCich = 0;\r
-                               \r
-                               String sqlString = \r
-                                       " SELECT titleCache, sec_id FROM TaxonBase WHERE uuid = '" + taraxTaraxacum +  "'";\r
-\r
-                               ResultSet rs = ((CdmDataSource)cdmDestination).executeQuery(sqlString);\r
-                               while (rs.next()) {\r
-                                       secIdTarax = rs.getInt("sec_id");\r
-                                       if (logger.isInfoEnabled()) {\r
-                                               String titleCache = rs.getString("titleCache");\r
-                                               logger.info("secId of " + titleCache + " (" + taraxTaraxacum + ") in Taraxacum DB: " + secIdTarax);\r
-                                       }\r
-                               }\r
-                               \r
-                               sqlString = \r
-                                       " SELECT titleCache, sec_id FROM TaxonBase WHERE titleCache like 'Crepis%' ";\r
-\r
-                               rs = ((CdmDataSource)cdmDestination).executeQuery(sqlString);\r
-                               while (rs.next()) {\r
-                                       secIdCich = rs.getInt("sec_id");\r
-                                       if (logger.isInfoEnabled()) {\r
-                                               String titleCache = rs.getString("titleCache");\r
-                                               logger.info("secId of " + titleCache + " (" + cichTaraxacum + ") in Cichorieae DB: " + secIdCich);\r
-                                       }\r
-                                       if (secIdCich != 0) { break; }\r
-                               }\r
-                               \r
-                               sqlString = \r
-                                       " UPDATE TaxonBase SET sec_id = " + secIdCich + " WHERE sec_id = " + secIdTarax;\r
-\r
-                               int result = ((CdmDataSource)cdmDestination).executeUpdate(sqlString);\r
-                               if (logger.isInfoEnabled()) {\r
-                                       logger.info("Update result = " + result);\r
-                               }\r
-\r
-                       } catch (SQLException e) {\r
-                               logger.error("SQLException:" +  e);\r
-                       }\r
                }\r
-               \r
        }\r
        \r
        public static void main(String[] args) {\r
index 58ca6e35ecd7043f386ea06ecfa5eafb8b36847a..d78ec01e873f1d155052996aec778f9bff0bf76a 100644 (file)
@@ -80,7 +80,7 @@ public class DipteraActivator {
        static final boolean doTaxa = true;\r
        static final boolean doRelTaxa = true;\r
        static final boolean doFacts = true;\r
-       static final boolean doOccurences = false;\r
+       static final boolean doOccurences = true;\r
        \r
        //etc.\r
        static final boolean doMarker = true;\r
index b91607fc899a11897a8ae37ee14952a355b87a1b..300de7cc3ae5989427ebe4cfc04d446ceab943da 100644 (file)
@@ -35,7 +35,7 @@ public class DipteraImageActivator  {
        
        private static final File sourceFile = new File("src/main/resources/images/images_diptera.xls");
 
-       private static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_jaxb();
+       private static final ICdmDataSource cdmDestination = CdmDestinations.localH2Diptera();
        
 //     static final UUID secUuid = UUID.fromString("6924c75d-e0d0-4a6d-afb7-3dd8c71195ca");
        
index 214071b4a9202c3fbd6f7d1f809226c2af9cddc9..f55984054dd2b55c1c56cc8cae3a93fbe64f91a8 100644 (file)
@@ -57,7 +57,9 @@ public class PalmaeActivator {
        static final boolean includeMediaProtologue = true;\r
        \r
        //check - import\r
-       static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;\r
+       static final CHECK check = CHECK.CHECK_AND_IMPORT;\r
+       \r
+       static boolean useTaxonomicTree = true;\r
        \r
        //authors\r
        static final boolean doAuthors = true;\r
@@ -71,7 +73,6 @@ public class PalmaeActivator {
        static final boolean doTaxa = true;\r
        static final boolean doRelTaxa = true;\r
        static final boolean doFacts = true;\r
-       \r
 \r
        \r
        private boolean doImport(){\r
@@ -95,6 +96,7 @@ public class PalmaeActivator {
                tcsImportConfigurator.setDoTaxa(doTaxa);\r
                tcsImportConfigurator.setDoRelTaxa(doRelTaxa);\r
                tcsImportConfigurator.setDoFacts(doFacts);\r
+               tcsImportConfigurator.setUseTaxonomicTree(useTaxonomicTree);\r
                \r
                tcsImportConfigurator.setCheck(check);\r
                tcsImportConfigurator.setDbSchemaValidation(hbm2dll);\r