DipteraDistribution and Cichorieae Feature Tree
[cdmlib.git] / app-import / src / main / java / eu / etaxonomy / cdm / app / berlinModelImport / DipteraActivator.java
index 0476c044af75f3d3041d3acac3651f0f99c91cca..7157c4ced76afe2ef7b7aaf56f987906a513f389 100644 (file)
@@ -13,15 +13,19 @@ import java.util.UUID;
 \r
 import org.apache.log4j.Logger;\r
 \r
+import eu.etaxonomy.cdm.api.application.CdmApplicationController;\r
 import eu.etaxonomy.cdm.app.common.CdmDestinations;\r
 import eu.etaxonomy.cdm.database.DbSchemaValidation;\r
 import eu.etaxonomy.cdm.database.ICdmDataSource;\r
-import eu.etaxonomy.cdm.io.berlinModel.BerlinModelImport;\r
 import eu.etaxonomy.cdm.io.berlinModel.BerlinModelImportConfigurator;\r
+import eu.etaxonomy.cdm.io.common.CdmDefaultImport;\r
+import eu.etaxonomy.cdm.io.common.Source;\r
 import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;\r
 import eu.etaxonomy.cdm.io.common.IImportConfigurator.DO_REFERENCES;\r
-import eu.etaxonomy.cdm.io.common.Source;\r
+import eu.etaxonomy.cdm.model.common.ISourceable;\r
+import eu.etaxonomy.cdm.model.description.FeatureTree;\r
 import eu.etaxonomy.cdm.model.name.NomenclaturalCode;\r
+import eu.etaxonomy.cdm.model.name.ZoologicalName;\r
 \r
 \r
 /**\r
@@ -39,17 +43,22 @@ public class DipteraActivator {
        //database validation status (create, update, validate ...)\r
        static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;\r
        static final Source berlinModelSource = BerlinModelSources.EDIT_Diptera();\r
-       static final ICdmDataSource cdmDestination = CdmDestinations.cdm_edit_diptera();\r
+       static final ICdmDataSource cdmDestination = CdmDestinations.localH2();\r
        static final UUID secUuid = UUID.fromString("06fd671f-1226-4e3b-beca-1959b3b32e20");\r
        static final int sourceSecId = 1000000;\r
+       static final UUID featureTreeUuid = UUID.fromString("ae9615b8-bc60-4ed0-ad96-897f9226d568");\r
+       static final Object[] featureKeyList = new Integer[]{1,4,5,10,11,12,13,99}; \r
        \r
        //check - import\r
-       static final CHECK check = CHECK.CHECK_AND_IMPORT;\r
+       static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;\r
 \r
 \r
        //NomeclaturalCode\r
-       static final NomenclaturalCode nomenclaturalCode = NomenclaturalCode.ICBN();\r
+       static final NomenclaturalCode nomenclaturalCode = NomenclaturalCode.ICZN();\r
 \r
+       //ignore null\r
+       static final boolean ignoreNull = true;\r
+       \r
        //authors\r
        static final boolean doAuthors = true;\r
        //references\r
@@ -81,7 +90,7 @@ public class DipteraActivator {
 //     //taxa\r
 //     static final boolean doTaxa = false;\r
 //     static final boolean doRelTaxa = false;\r
-//     static final boolean doFacts = true;\r
+//     static final boolean doFacts = false;\r
 //     static final boolean doOccurences = false;\r
        \r
        \r
@@ -102,6 +111,7 @@ public class DipteraActivator {
                bmImportConfigurator.setSourceSecId(sourceSecId);\r
                bmImportConfigurator.setNomenclaturalCode(nomenclaturalCode);\r
 \r
+               bmImportConfigurator.setIgnoreNull(ignoreNull);\r
                bmImportConfigurator.setDoAuthors(doAuthors);\r
                bmImportConfigurator.setDoReferences(doReferences);\r
                bmImportConfigurator.setDoTaxonNames(doTaxonNames);\r
@@ -119,9 +129,23 @@ public class DipteraActivator {
                bmImportConfigurator.setCheck(check);\r
                \r
                // invoke import\r
-               BerlinModelImport bmImport = new BerlinModelImport();\r
+               CdmDefaultImport<BerlinModelImportConfigurator> bmImport = new CdmDefaultImport<BerlinModelImportConfigurator>();\r
                bmImport.invoke(bmImportConfigurator);\r
                \r
+               if (bmImportConfigurator.getCheck().equals(CHECK.CHECK_AND_IMPORT)  || bmImportConfigurator.getCheck().equals(CHECK.IMPORT_WITHOUT_CHECK)    ){\r
+                       CdmApplicationController app = bmImportConfigurator.getCdmAppController();\r
+                       ISourceable obj = app.getCommonService().getSourcedObjectByIdInSource(ZoologicalName.class, "1000027", null);\r
+                       logger.info(obj);\r
+               \r
+                       //parse distributions\r
+                       DipteraDistributionParser dipDist = new DipteraDistributionParser();\r
+                       dipDist.doDistribution(app);\r
+                                               \r
+                       //make feature tree\r
+                       FeatureTree tree = TreeCreator.flatTree(featureTreeUuid, bmImportConfigurator.getFeatureMap(), featureKeyList);\r
+                       app = bmImportConfigurator.getCdmAppController();\r
+                       app.getDescriptionService().saveFeatureTree(tree);\r
+               }\r
                System.out.println("End import from BerlinModel ("+ source.getDatabase() + ")...");\r
        }\r
 \r