final commit of Taraxacum import on behalf of anahit
authorAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Thu, 8 Oct 2009 09:15:51 +0000 (09:15 +0000)
committerAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Thu, 8 Oct 2009 09:15:51 +0000 (09:15 +0000)
app-import/src/main/java/eu/etaxonomy/cdm/app/common/CdmDestinations.java
app-import/src/main/java/eu/etaxonomy/cdm/app/wp6/cichorieae/CichorieaeActivator.java
app-import/src/main/java/eu/etaxonomy/cdm/app/wp6/cichorieae/CichorieaeImageActivator.java
app-import/src/main/java/eu/etaxonomy/cdm/app/wp6/cichorieae/TaraxacumActivator.java

index b5d90129ee81fbd987ce690e94fd7f33e992278d..c7e0f41dbf1a157eaaaf2a8f688f923010e4ed00 100644 (file)
@@ -244,6 +244,59 @@ public class CdmDestinations {
                return makeDestination(cdmServer, cdmDB, -1, cdmUserName, null);\r
        }\r
        \r
+       public static ICdmDataSource cdm_bgbm24_palmae_a(){\r
+               DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;\r
+               String cdmServer = "192.168.2.10";\r
+               int port = 3306;\r
+               String cdmDB = "cdm_edit_palmae_a";\r
+               String cdmUserName = "edit";\r
+               return makeDestination(cdmServer, cdmDB, port, cdmUserName, null);\r
+       }\r
+       \r
+       public static ICdmDataSource cdm_bgbm24_cichorieae_a(){\r
+               DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;\r
+               String cdmServer = "192.168.2.10";\r
+               int port = 3306;\r
+               String cdmDB = "cdm_edit_cichorieae_a";\r
+               String cdmUserName = "edit";\r
+               return makeDestination(cdmServer, cdmDB, port, cdmUserName, null);\r
+       }\r
+       \r
+       public static ICdmDataSource cdm_bgbm24_dipera_a(){\r
+               DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;\r
+               String cdmServer = "192.168.2.10";\r
+               int port = 3306;\r
+               String cdmDB = "cdm_edit_diptera_a";\r
+               String cdmUserName = "edit";\r
+               return makeDestination(cdmServer, cdmDB, port, cdmUserName, null);\r
+       }\r
+       public static ICdmDataSource cdm_bgbm24_palmae_b(){\r
+               DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;\r
+               String cdmServer = "192.168.2.10";\r
+               int port = 3306;\r
+               String cdmDB = "cdm_edit_palmae_b";\r
+               String cdmUserName = "edit";\r
+               return makeDestination(cdmServer, cdmDB, port, cdmUserName, null);\r
+       }\r
+       \r
+       public static ICdmDataSource cdm_bgbm24_cichorieae_b(){\r
+               DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;\r
+               String cdmServer = "192.168.2.10";\r
+               int port = 3306;\r
+               String cdmDB = "cdm_edit_cichorieae_b";\r
+               String cdmUserName = "edit";\r
+               return makeDestination(cdmServer, cdmDB, port , cdmUserName, null);\r
+       }\r
+       \r
+       public static ICdmDataSource cdm_bgbm24_dipera_b(){\r
+               DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;\r
+               String cdmServer = "127.0.0.1";\r
+               int port = 3306;\r
+               String cdmDB = "cdm_edit_diptera_b";\r
+               String cdmUserName = "edit";\r
+               return makeDestination(cdmServer, cdmDB, port, cdmUserName, null);\r
+       }\r
+       \r
        public static ICdmDataSource cdm_local_palmae(){\r
                DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;\r
                String cdmServer = "127.0.0.1";\r
index 64ca2d6b0014a2cde4f33ef28ad833476cff9a3c..a33f16f4202bc4bc1265f5b6b682470d19600a3b 100644 (file)
@@ -52,7 +52,7 @@ public class CichorieaeActivator {
        //database validation status (create, update, validate ...)\r
        static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;\r
        static final Source berlinModelSource = BerlinModelSources.EDIT_CICHORIEAE();\r
-       static final ICdmDataSource cdmDestination = CdmDestinations.localH2Cichorieae();\r
+       static final ICdmDataSource cdmDestination = CdmDestinations.cdm_bgbm24_cichorieae_b();\r
 \r
        static final UUID secUuid = UUID.fromString("6924c75d-e0d0-4a6d-afb7-3dd8c71195ca");\r
        static final UUID taxonomicTreeUuid = UUID.fromString("534e190f-3339-49ba-95d9-fa27d5493e3e");\r
index 1fa23b62484b4f03763dfe5c963022f0303f298c..242c7962419c87ff373b9f78c87531149ecc9731 100644 (file)
@@ -32,7 +32,7 @@ public class CichorieaeImageActivator  {
        
        public static final File sourceFolder  = new File("\\\\media\\editwp6\\photos");
 //     private static final File sourceFile = new File("src/main/resources/images/images_cich.xls");
-       private static final ICdmDataSource cdmDestination = CdmDestinations.localH2Cichorieae();
+       private static final ICdmDataSource cdmDestination = CdmDestinations.cdm_bgbm24_cichorieae_b();
 //     private static final ICdmDataSource cdmDestination = CdmDestinations.cdm_import_cichorieae();
        
        static final UUID secUuid = UUID.fromString("6924c75d-e0d0-4a6d-afb7-3dd8c71195ca");
index 1bbc710825ac38c5b01c15d7bd5a415bf9faaea2..0a49e56c52daa6baacdcab7d13aeebdc0816f2e4 100644 (file)
@@ -51,10 +51,12 @@ 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.cdm_import_cichorieae();\r
+       static final ICdmDataSource cdmDestination = CdmDestinations.cdm_bgbm24_cichorieae_b();\r
 \r
        org.h2.jdbc.JdbcSQLException h;\r
-       static final UUID treeUuid = UUID.fromString("ba7120ce-4fab-49dc-aaa4-f36276426aa8");\r
+       static final UUID treeUuid = UUID.fromString("019c4b4d-736b-4d2e-883c-e3244167080a");\r
+//     static final UUID treeUuid = UUID.fromString("00db28a7-50e1-4abc-86ec-b2a8ce870de9");\r
+//     static final UUID treeUuid = UUID.fromString("534e190f-3339-49ba-95d9-fa27d5493e3e");\r
        static final int sourceSecId = 7700000;\r
        \r
        static final UUID featureTreeUuid = UUID.fromString("ab007336-d853-4f2f-a490-7c8232eafe7b");\r
@@ -82,7 +84,7 @@ public class TaraxacumActivator {
 \r
 \r
 // **************** ALL *********************  \r
-////   authors\r
+    //authors\r
        static final boolean doAuthors = true;\r
        //references\r
        static final DO_REFERENCES doReferences =  DO_REFERENCES.ALL;\r
@@ -105,17 +107,17 @@ public class TaraxacumActivator {
 //     //authors\r
 //     static final boolean doAuthors = false;\r
 //     //references\r
-//     static final DO_REFERENCES doReferences =  DO_REFERENCES.NONE;\r
+//     static final DO_REFERENCES doReferences =  DO_REFERENCES.CONCEPT_REFERENCES;\r
 //     //names\r
-//     static final boolean doTaxonNames = false;\r
+//     static final boolean doTaxonNames = true;\r
 //     static final boolean doRelNames = false;\r
 //     static final boolean doNameStatus = false;\r
 //     static final boolean doTypes = false;\r
 //     static final boolean doNameFacts = false;\r
 //     \r
 //     //taxa \r
-//     static final boolean doTaxa = false;\r
-//     static final boolean doRelTaxa = false;\r
+//     static final boolean doTaxa = true;\r
+//     static final boolean doRelTaxa = true;\r
 //     static final boolean doFacts = false;\r
 //     static final boolean doOccurences = false;\r
        \r
@@ -131,6 +133,7 @@ public class TaraxacumActivator {
                \r
                BerlinModelImportConfigurator bmImportConfigurator = BerlinModelImportConfigurator.NewInstance(source,  destination);\r
                \r
+               bmImportConfigurator.setTreeUuid(treeUuid);\r
 //             bmImportConfigurator.setSecUuid(secUuid);\r
                bmImportConfigurator.setSourceSecId(sourceSecId);\r
                \r
@@ -177,7 +180,9 @@ public class TaraxacumActivator {
                        FeatureNode imageNode = FeatureNode.NewInstance(Feature.IMAGE());\r
                        tree.getRoot().addChild(imageNode);\r
                        FeatureNode distributionNode = FeatureNode.NewInstance(Feature.DISTRIBUTION());\r
-                       tree.getRoot().addChild(distributionNode, 2);\r
+                       FeatureNode featureNode = tree.getRoot();\r
+//                     tree.getRoot().addChild(distributionNode, 2);\r
+                       tree.getRoot().addChild(distributionNode, featureNode.getChildCount() + 1);\r
                        app.getDescriptionService().saveFeatureTree(tree);\r
                        mergeIntoCichorieae(app);\r
                        app.commitTransaction(tx);\r
@@ -186,7 +191,7 @@ public class TaraxacumActivator {
                logger.info("End import from BerlinModel ("+ source.getDatabase() + ")...");\r
        }\r
        \r
-       public void mergeIntoCichorieae(CdmApplicationController app){\r
+               public void mergeIntoCichorieae(CdmApplicationController app){\r
                \r
                String taraxTaraxacum = "9a7bced0-fa1a-432e-9cca-57b62219cde6";\r
                String cichTaraxacum = "c946ac62-b6c6-493b-8ed9-278fa38b931a";\r
@@ -194,22 +199,39 @@ public class TaraxacumActivator {
                Taxon taraxacumInCich = (Taxon)app.getTaxonService().findByUuid(taraxacumCichUUID);\r
                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
+                       Set<TaxonNode> taxonNodesInCich = taraxacumInCich.getTaxonNodes();\r
+                       TaxonNode taxonNodeInCich = null;\r
+                       TaxonNode parentNodeInCich = null;\r
+                       Taxon parentInCich = null;\r
+                       \r
+                       if (taxonNodesInCich == null) {\r
+                               logger.error("No taxon nodes found for Taraxacum in Cich DB");\r
+                       } else {\r
+                               logger.info(taxonNodesInCich .size()+ " taxon node(s) found for Taraxacum in Cich DB");\r
+                               taxonNodeInCich = taxonNodesInCich.iterator().next();\r
+                               parentNodeInCich = taxonNodeInCich.getParent();\r
+                               parentInCich = parentNodeInCich.getTaxon();\r
                        }\r
-                       TaxonNode parentNode = parentNodes.iterator().next();\r
+                       \r
                        UUID taraxacumTaraxUUID = UUID.fromString(taraxTaraxacum);\r
                        Taxon taraxacumInTarax = (Taxon)app.getTaxonService().findByUuid(taraxacumTaraxUUID);\r
+                       \r
+                       Set<TaxonNode> taxonNodesInTarax = taraxacumInTarax.getTaxonNodes();\r
+                       \r
+                       if (taxonNodesInTarax == null) {\r
+                               logger.warn("No taxon nodes found for Taraxacum in Taraxacum DB");\r
+                       }\r
        \r
                        //TODO reference\r
                        ReferenceBase citation = null;\r
                        String microcitation = null;\r
-                       parentNode.addChild(taraxacumInTarax, citation, microcitation);\r
-                       app.getTaxonService().save(parent);\r
-                       TaxonNode taraxacumInCichNode = parentNode.getTaxonomicTree().getNode(taraxacumInCich);\r
-                       parentNode.removeChild(taraxacumInCichNode);\r
+                       \r
+                       TaxonNode taxonNodeInTarax = \r
+                               parentNodeInCich.addChild(taraxacumInTarax, citation, microcitation);\r
+                       parentNodeInCich.getTaxonomicTree().addParentChild(parentInCich, taraxacumInTarax, null, null);\r
+                       parentNodeInCich.removeChild(taxonNodeInCich);\r
+                       \r
+                       app.getTaxonService().save(parentInCich);\r
                        app.getTaxonService().delete(taraxacumInCich);\r
                }\r
        }\r