/**\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
\r
import org.apache.log4j.Logger;\r
\r
-import eu.etaxonomy.cdm.api.application.CdmApplicationController;\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.berlinModelImport.TreeCreator;\r
import eu.etaxonomy.cdm.app.common.CdmDestinations;\r
import eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportConfigurator;\r
import eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelTaxonImport.PublishMarkerChooser;\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.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
import eu.etaxonomy.cdm.model.description.FeatureTree;\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
+ * 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
//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
\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
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
// 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
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
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
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
logger.warn("NameTypeDesignationStatus could not be defined for: " + note);\r
return null;\r
}\r
- \r
- \r
+\r
+\r
}\r
- \r
+\r
}\r