ref #8162 adapt cdmlip-app to new term package structure
[cdmlib-apps.git] / app-import / src / main / java / eu / etaxonomy / cdm / app / wp6 / diptera / DipteraActivator.java
index 695c781dc6626e2f4bd07caca4ac4cf85cd5466e..a8eef2c702758861fe508190584f3f4650ad178e 100644 (file)
@@ -1,8 +1,8 @@
 /**\r
 * Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
 * http://www.e-taxonomy.eu\r
-* \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
@@ -14,10 +14,10 @@ import java.util.UUID;
 \r
 import org.apache.log4j.Logger;\r
 \r
-import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;\r
+import eu.etaxonomy.cdm.api.application.ICdmRepository;\r
 import eu.etaxonomy.cdm.app.berlinModelImport.BerlinModelSources;\r
-import eu.etaxonomy.cdm.app.common.CdmDestinations;\r
 import eu.etaxonomy.cdm.app.berlinModelImport.TreeCreator;\r
+import eu.etaxonomy.cdm.app.common.CdmDestinations;\r
 import eu.etaxonomy.cdm.common.CdmUtils;\r
 import eu.etaxonomy.cdm.database.DbSchemaValidation;\r
 import eu.etaxonomy.cdm.database.ICdmDataSource;\r
@@ -27,6 +27,7 @@ import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
 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.IImportConfigurator.EDITOR;\r
+import eu.etaxonomy.cdm.io.common.ImportResult;\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
@@ -37,10 +38,10 @@ import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
 \r
 /**\r
  * TODO add the following to a wiki page:\r
- * HINT: If you are about to import into a mysql data base running under windows and if you wish to dump and restore the resulting data bas under another operation systen \r
+ * HINT: If you are about to import into a mysql data base running under windows and if you wish to dump and restore the resulting data bas under another operation systen\r
  * you must set the mysql system variable lower_case_table_names = 0 in order to create data base with table compatible names.\r
- * \r
- * \r
+ *\r
+ *\r
  * @author a.mueller\r
  *\r
  */\r
@@ -50,14 +51,14 @@ 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.localH2Diptera();\r
+       static final ICdmDataSource cdmDestination = CdmDestinations.localH2();\r
 \r
        static final UUID secUuid = UUID.fromString("06fd671f-1226-4e3b-beca-1959b3b32e20");\r
        static final UUID treeUuid = UUID.fromString("1e3093f6-c761-4e96-8065-2c1334ddd0c1");\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, 99};\r
-       \r
+\r
        static boolean useClassification = true;\r
        //editor - import\r
        static final EDITOR editor = EDITOR.EDITOR_AS_EDITOR;\r
@@ -68,20 +69,20 @@ public class DipteraActivator {
 \r
        static final boolean doDistributionParser = true;  //also run DipteraDistributionParser\r
 \r
-       //NomeclaturalCode\r
+       //NomenclaturalCode\r
        static final NomenclaturalCode nomenclaturalCode = NomenclaturalCode.ICZN;\r
 \r
 //     //ignore null\r
        static final boolean ignoreNull = true;\r
 \r
 \r
-       \r
+\r
        //update citations ?\r
        static final boolean updateCitations = true;\r
-       \r
+\r
        //include collections and add to specimen\r
        static final boolean updateCollections = true;\r
-       \r
+\r
        //authors\r
        static final boolean doAuthors = true;\r
        //references\r
@@ -91,21 +92,21 @@ public class DipteraActivator {
        static final boolean doRelNames = true;\r
        static final boolean doNameStatus = true;\r
        static final boolean doTypes = true;\r
-       static final boolean doNameFacts = true; \r
-       \r
+       static final boolean doNameFacts = true;\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; //There are no occurrence data in diptera\r
        static final boolean doCommonNames = false; //no common names in diptera\r
-       \r
+\r
        //etc.\r
        static final boolean doMarker = true;\r
        static final boolean doUser = true;\r
 \r
 // **************** SELECTED *********************\r
-       \r
+\r
 //     //authors\r
 //     static final boolean doAuthors = false;\r
 //     //references\r
@@ -116,32 +117,32 @@ public class DipteraActivator {
 //     static final boolean doNameStatus = false;\r
 //     static final boolean doTypes = true;\r
 //     static final boolean doNameFacts = false;\r
-//     \r
+//\r
 //     //taxa\r
 //     static final boolean doTaxa = false;\r
 //     static final boolean doRelTaxa = false;\r
 //     static final boolean doFacts = false;\r
 //     static final boolean doOccurences = false;\r
-//     \r
+//\r
 //     //etc.\r
 //     static final boolean doMarker = false;\r
-//     static final boolean doUser = true;     \r
+//     static final boolean doUser = true;\r
+\r
 \r
-       \r
        /**\r
-        * @param destination \r
+        * @param destination\r
         * @param args\r
         */\r
-       public boolean doImport(ICdmDataSource destination) {\r
-               boolean success = true;\r
+       public ImportResult doImport(ICdmDataSource destination) {\r
+               ImportResult success;\r
                System.out.println("Start import from BerlinModel("+ berlinModelSource.getDatabase() + ") ...");\r
-               \r
+\r
                //make BerlinModel Source\r
                Source source = berlinModelSource;\r
 \r
-               \r
+\r
                BerlinModelImportConfigurator bmImportConfigurator = BerlinModelImportConfigurator.NewInstance(source,  destination);\r
-               \r
+\r
                bmImportConfigurator.setClassificationUuid(treeUuid);\r
                bmImportConfigurator.setSourceSecId(sourceSecId);\r
                bmImportConfigurator.setNomenclaturalCode(nomenclaturalCode);\r
@@ -155,13 +156,13 @@ public class DipteraActivator {
                bmImportConfigurator.setDoTypes(doTypes);\r
                bmImportConfigurator.setDoNameFacts(doNameFacts);\r
                bmImportConfigurator.setUseClassification(useClassification);\r
-               \r
+\r
                bmImportConfigurator.setDoTaxa(doTaxa);\r
                bmImportConfigurator.setDoRelTaxa(doRelTaxa);\r
                bmImportConfigurator.setDoFacts(doFacts);\r
                bmImportConfigurator.setDoOccurrence(doOccurences);\r
                bmImportConfigurator.setDoCommonNames(doCommonNames);\r
-               \r
+\r
                bmImportConfigurator.setDoMarker(doMarker);\r
                bmImportConfigurator.setDoUser(doUser);\r
                bmImportConfigurator.setEditor(editor);\r
@@ -171,20 +172,22 @@ public class DipteraActivator {
                        bmImportConfigurator.setNameTypeDesignationStatusMethod(nameTypeDesignationStatusMethod);\r
                } catch (Exception e) {\r
                        e.printStackTrace();\r
-                       return false;\r
+                       success = new ImportResult();\r
+                       success.addException(e);\r
+                       return success;\r
                }\r
-               \r
+\r
                bmImportConfigurator.setDbSchemaValidation(hbm2dll);\r
 \r
                bmImportConfigurator.setCheck(check);\r
-               \r
+\r
                // invoke import\r
                CdmDefaultImport<BerlinModelImportConfigurator> bmImport = new CdmDefaultImport<BerlinModelImportConfigurator>();\r
-               success &= bmImport.invoke(bmImportConfigurator);\r
-               \r
+               success = bmImport.invoke(bmImportConfigurator);\r
+\r
                if (bmImportConfigurator.getCheck().equals(CHECK.CHECK_AND_IMPORT)  || bmImportConfigurator.getCheck().equals(CHECK.IMPORT_WITHOUT_CHECK)    ){\r
-                       ICdmApplicationConfiguration app = bmImport.getCdmAppController();\r
-                       \r
+                       ICdmRepository app = bmImport.getCdmAppController();\r
+\r
                        //parse distributions\r
                        if (doDistributionParser){\r
                                DipteraDistributionParser dipDist = new DipteraDistributionParser();\r
@@ -204,29 +207,29 @@ public class DipteraActivator {
                System.out.println("End import from BerlinModel ("+ source.getDatabase() + ")...");\r
                return success;\r
        }\r
-       \r
+\r
        public static void main(String[] args) {\r
-               boolean success = true;\r
+               ImportResult success;\r
                logger.debug("start");\r
-               ICdmDataSource destination = CdmDestinations.chooseDestination(args) != null ? CdmDestinations.chooseDestination(args) : cdmDestination;        \r
+               ICdmDataSource destination = CdmDestinations.chooseDestination(args) != null ? CdmDestinations.chooseDestination(args) : cdmDestination;\r
                DipteraActivator me = new DipteraActivator();\r
-               success &= me.doImport(destination);\r
-               \r
+               success = me.doImport(destination);\r
+\r
                DipteraPostImportUpdater updater = new DipteraPostImportUpdater();\r
                if (updateCitations){\r
-                       success &= updater.updateCitations(destination);\r
+                       success = updater.updateCitations(destination);\r
                }\r
-               \r
+\r
                if (updateCollections){\r
-                       success &= updater.updateCollections(destination);\r
+                       success = updater.updateCollections(destination);\r
                }\r
 \r
-       \r
+\r
        }\r
-       \r
-       \r
-       \r
-       \r
+\r
+\r
+\r
+\r
 \r
        private static NameTypeDesignationStatus nameTypeDesignationStatueMethod(String note){\r
                if (CdmUtils.isEmpty(note)){\r
@@ -247,8 +250,8 @@ public class DipteraActivator {
                        logger.warn("NameTypeDesignationStatus could not be defined for: " + note);\r
                        return null;\r
                }\r
-               \r
-               \r
+\r
+\r
        }\r
-       \r
+\r
 }\r