AlgaTerra categorical data and flat classifications
[cdmlib-apps.git] / app-import / src / main / java / eu / etaxonomy / cdm / app / berlinModelImport / AlgaTerraActivator.java
index bc7edb375f2eb8019d25a57ba7ab3d7bf5a88900..09415f15db76f81bebd64500f16209d16139ed7a 100644 (file)
@@ -17,17 +17,16 @@ import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
 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.algaterra.AlgaTerraImportConfigurator;\r
 import eu.etaxonomy.cdm.io.berlinModel.in.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.model.common.ISourceable;\r
+import eu.etaxonomy.cdm.io.common.Source;\r
 import eu.etaxonomy.cdm.model.description.Feature;\r
 import eu.etaxonomy.cdm.model.description.FeatureNode;\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
@@ -50,13 +49,17 @@ public class AlgaTerraActivator {
        \r
        static final UUID treeUuid = UUID.fromString("1f617402-78dc-4bf1-ac77-d260600a8879");\r
        static final int sourceSecId = 7331;\r
+       static final UUID sourceRefUuid = UUID.fromString("7e1a2500-93a5-40c2-ba34-0213d7822379");\r
        \r
        static final UUID featureTreeUuid = UUID.fromString("a970168a-36fd-4c7c-931e-87214a965c14");\r
        static final Object[] featureKeyList = new Integer[]{7,201,202,203,204,205,206,207}; \r
        \r
        //check - import\r
-       static final CHECK check = CHECK.CHECK_AND_IMPORT;\r
+       static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;\r
 \r
+       private boolean ignoreNull = true;\r
+       \r
+       private boolean includeFlatClassifications = true;\r
 \r
        //NomeclaturalCode\r
        static final NomenclaturalCode nomenclaturalCode = NomenclaturalCode.ICBN;\r
@@ -72,14 +75,17 @@ public class AlgaTerraActivator {
        static final boolean doRelNames = true;\r
        static final boolean doNameStatus = true;\r
        static final boolean doTypes = false;  \r
-       static final boolean doNameFacts = false;  \r
+       static final boolean doNameFacts = false;    //do not exist in Alga Terra\r
        \r
        //taxa\r
        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 doCommonNames = false;\r
+       static final boolean doCommonNames = false; //do not exist in Alga Terra\r
+       \r
+       //alga terra specific\r
+       static final boolean doSpecimen = true;\r
 \r
 // ************************ NONE **************************************** //\r
        \r
@@ -88,18 +94,21 @@ public class AlgaTerraActivator {
 //     //references\r
 //     static final DO_REFERENCES doReferences =  DO_REFERENCES.NONE;\r
 //     //names\r
-//     static final boolean doTaxonNames = true;\r
+//     static final boolean doTaxonNames = false;\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 doFacts = true;\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
+//     static final boolean doCommonNames = false;\r
+//     \r
+//  //alga terra specific\r
+//     static final boolean doSpecimen = true;\r
        \r
        public void invoke(String[] args){\r
                System.out.println("Start import from BerlinModel("+ berlinModelSource.getDatabase() + ") ...");\r
@@ -108,39 +117,45 @@ public class AlgaTerraActivator {
                Source source = berlinModelSource;\r
                ICdmDataSource destination = CdmDestinations.chooseDestination(args) != null ? CdmDestinations.chooseDestination(args) : cdmDestination;\r
                \r
-               BerlinModelImportConfigurator bmImportConfigurator = BerlinModelImportConfigurator.NewInstance(source,  destination);\r
+               AlgaTerraImportConfigurator config = AlgaTerraImportConfigurator.NewInstance(source,  destination);\r
                \r
-               bmImportConfigurator.setClassificationUuid(treeUuid);\r
-               bmImportConfigurator.setSourceSecId(sourceSecId);\r
-               bmImportConfigurator.setNomenclaturalCode(nomenclaturalCode);\r
+               config.setClassificationUuid(treeUuid);\r
+               config.setSourceSecId(sourceSecId);\r
+               config.setNomenclaturalCode(nomenclaturalCode);\r
 \r
-               bmImportConfigurator.setDoAuthors(doAuthors);\r
-               bmImportConfigurator.setDoReferences(doReferences);\r
-               bmImportConfigurator.setDoTaxonNames(doTaxonNames);\r
-               bmImportConfigurator.setDoRelNames(doRelNames);\r
-               bmImportConfigurator.setDoNameStatus(doNameStatus);\r
-               bmImportConfigurator.setDoTypes(doTypes);\r
-               bmImportConfigurator.setDoNameFacts(doNameFacts);\r
+               config.setDoAuthors(doAuthors);\r
+               config.setDoReferences(doReferences);\r
+               config.setDoTaxonNames(doTaxonNames);\r
+               config.setDoRelNames(doRelNames);\r
+               config.setDoNameStatus(doNameStatus);\r
+               config.setDoTypes(doTypes);\r
+               config.setDoNameFacts(doNameFacts);\r
+               \r
+               config.setDoTaxa(doTaxa);\r
+               config.setDoRelTaxa(doRelTaxa);\r
+               config.setDoFacts(doFacts);\r
+               config.setDoOccurrence(doOccurences);\r
+               config.setDoCommonNames(doCommonNames);\r
+               config.setDoSpecimen(doSpecimen);\r
+               \r
+               config.setSourceRefUuid(sourceRefUuid);\r
+               config.setIgnoreNull(ignoreNull);\r
                \r
-               bmImportConfigurator.setDoTaxa(doTaxa);\r
-               bmImportConfigurator.setDoRelTaxa(doRelTaxa);\r
-               bmImportConfigurator.setDoFacts(doFacts);\r
-               bmImportConfigurator.setDoOccurrence(doOccurences);\r
-               bmImportConfigurator.setDoCommonNames(doCommonNames);\r
+               config.setIncludeFlatClassifications(includeFlatClassifications);\r
                \r
-               bmImportConfigurator.setDbSchemaValidation(hbm2dll);\r
+               config.setDbSchemaValidation(hbm2dll);\r
 \r
-               bmImportConfigurator.setCheck(check);\r
+               config.setCheck(check);\r
                \r
                // invoke import\r
                CdmDefaultImport<BerlinModelImportConfigurator> bmImport = new CdmDefaultImport<BerlinModelImportConfigurator>();\r
-               bmImport.invoke(bmImportConfigurator);\r
+               bmImport.invoke(config);\r
 \r
-               if (doFacts && (bmImportConfigurator.getCheck().equals(CHECK.CHECK_AND_IMPORT)  || bmImportConfigurator.getCheck().equals(CHECK.IMPORT_WITHOUT_CHECK) )   ){\r
+               if (doFacts && (config.getCheck().equals(CHECK.CHECK_AND_IMPORT)  || config.getCheck().equals(CHECK.IMPORT_WITHOUT_CHECK) )   ){\r
                        ICdmApplicationConfiguration app = bmImport.getCdmAppController();\r
                        \r
                        //make feature tree\r
-                       FeatureTree tree = TreeCreator.flatTree(featureTreeUuid, bmImportConfigurator.getFeatureMap(), featureKeyList);\r
+                       FeatureTree tree = TreeCreator.flatTree(featureTreeUuid, config.getFeatureMap(), featureKeyList);\r
                        FeatureNode imageNode = FeatureNode.NewInstance(Feature.IMAGE());\r
                        tree.getRoot().addChild(imageNode);\r
                        FeatureNode distributionNode = FeatureNode.NewInstance(Feature.DISTRIBUTION());\r