--- /dev/null
+/**\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\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
+\r
+package eu.etaxonomy.cdm.app.berlinModelImport;\r
+\r
+import java.util.UUID;\r
+\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.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.tcs.TcsImportConfigurator;\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
+ * 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
+ * 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
+ * @author a.mueller\r
+ *\r
+ */\r
+public class ErmsActivator {\r
+ private static final Logger logger = Logger.getLogger(ErmsActivator.class);\r
+\r
+ //database validation status (create, update, validate ...)\r
+ static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;\r
+ static final Source berlinModelSource = BerlinModelSources.PESI_ERMS();\r
+ static final ICdmDataSource cdmDestination = CdmDestinations.cdm_pesi_erms();\r
+ static final UUID secUuid = UUID.fromString("8bd27d84-fd4f-4bfa-bde0-3e6b7311b334");\r
+ static final int sourceSecId = 500000;\r
+ static final UUID featureTreeUuid = UUID.fromString("33cbf7a8-0c47-4d47-bd11-b7d77a38d0f6");\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
+\r
+\r
+ //NomeclaturalCode\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
+ static final DO_REFERENCES doReferences = DO_REFERENCES.ALL;\r
+ //names\r
+ static final boolean doTaxonNames = true;\r
+ 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
+ //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
+ \r
+// //authors\r
+// static final boolean doAuthors = false;\r
+// //references\r
+// static final DO_REFERENCES doReferences = DO_REFERENCES.ALL;\r
+// //names\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 = false;\r
+// static final boolean doOccurences = false;\r
+ \r
+ \r
+ \r
+ /**\r
+ * @param args\r
+ */\r
+ public static void main(String[] args) {\r
+ System.out.println("Start import from BerlinModel("+ berlinModelSource.getDatabase() + ") ...");\r
+ \r
+ //make BerlinModel Source\r
+ Source source = berlinModelSource;\r
+ ICdmDataSource destination = cdmDestination;\r
+ \r
+ BerlinModelImportConfigurator bmImportConfigurator = BerlinModelImportConfigurator.NewInstance(source, destination);\r
+ \r
+ bmImportConfigurator.setSecUuid(secUuid);\r
+ 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
+ bmImportConfigurator.setDoRelNames(doRelNames);\r
+ bmImportConfigurator.setDoNameStatus(doNameStatus);\r
+ bmImportConfigurator.setDoTypes(doTypes);\r
+ bmImportConfigurator.setDoNameFacts(doNameFacts);\r
+ \r
+ bmImportConfigurator.setDoTaxa(doTaxa);\r
+ bmImportConfigurator.setDoRelTaxa(doRelTaxa);\r
+ bmImportConfigurator.setDoFacts(doFacts);\r
+ bmImportConfigurator.setDoOccurrence(doOccurences);\r
+ bmImportConfigurator.setDbSchemaValidation(hbm2dll);\r
+\r
+ bmImportConfigurator.setCheck(check);\r
+ \r
+ // invoke import\r
+ CdmDefaultImport<TcsImportConfigurator> bmImport = new CdmDefaultImport<TcsImportConfigurator>();\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
+ //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
+}\r