2 * Copyright (C) 2017 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
9 package eu
.etaxonomy
.cdm
.app
.salvador
;
11 import java
.io
.IOException
;
14 import org
.apache
.log4j
.Logger
;
16 import eu
.etaxonomy
.cdm
.app
.common
.CdmDestinations
;
17 import eu
.etaxonomy
.cdm
.database
.DbSchemaValidation
;
18 import eu
.etaxonomy
.cdm
.database
.ICdmDataSource
;
19 import eu
.etaxonomy
.cdm
.database
.update
.CdmUpdater
;
20 import eu
.etaxonomy
.cdm
.io
.common
.CdmDefaultImport
;
21 import eu
.etaxonomy
.cdm
.io
.common
.IImportConfigurator
.CHECK
;
22 import eu
.etaxonomy
.cdm
.io
.common
.ImportResult
;
23 import eu
.etaxonomy
.cdm
.io
.salvador
.SalvadorSpecimenImportConfigurator
;
24 import eu
.etaxonomy
.cdm
.model
.reference
.Reference
;
25 import eu
.etaxonomy
.cdm
.model
.reference
.ReferenceFactory
;
32 public class SalvadorSpecimenActivator
{
33 private static final Logger logger
= Logger
.getLogger(SalvadorSpecimenActivator
.class);
35 //database validation status (create, update, validate ...)
36 static DbSchemaValidation hbm2dll
= DbSchemaValidation
.VALIDATE
;
38 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_mysql_test();
39 static final ICdmDataSource cdmDestination
= CdmDestinations
.cdm_test_salvador();
40 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_salvador_production();
43 static final CHECK check
= CHECK
.IMPORT_WITHOUT_CHECK
;
45 protected void doImport(ICdmDataSource cdmDestination
){
47 URI source
= salvadorSpecimen();
50 SalvadorSpecimenImportConfigurator config
;
52 config
= SalvadorSpecimenImportConfigurator
.NewInstance(source
, cdmDestination
);
53 } catch (IOException e
) {
54 String message
= "IO Exception when configuring import: " + e
.getMessage();
58 config
.setCheck(check
);
59 config
.setDbSchemaValidation(hbm2dll
);
60 config
.setTransactionLineCount(100);
62 String fileName
= source
.toString();
63 fileName
= fileName
.substring(fileName
.lastIndexOf("/") + 1 );
65 String message
= "Start import from ("+ fileName
+ ") ...";
66 System
.out
.println(message
);
69 config
.setSourceReference(getSourceReference());
71 CdmDefaultImport
<SalvadorSpecimenImportConfigurator
> myImport
72 = new CdmDefaultImport
<>();
74 ImportResult result
= myImport
.invoke(config
);
75 String report
= result
.createReport().toString();
76 System
.out
.println(report
);
77 System
.out
.println("End import from ("+ source
.toString() + ")...");
83 public static URI
salvadorSpecimen() {
84 return URI
.create("file:////BGBM-PESIHPC/Salvador/Specimen3.csv");
88 private Reference
getSourceReference() {
89 Reference result
= ReferenceFactory
.newDatabase();
90 result
.setTitle("Specimen3.csv");
94 public void doUpdate(ICdmDataSource cdmDestination
){
95 CdmUpdater updater
= CdmUpdater
.NewInstance();
96 updater
.updateToCurrentVersion(cdmDestination
, null);
102 public static void main(String
[] args
) {
103 SalvadorSpecimenActivator me
= new SalvadorSpecimenActivator();
104 me
.doImport(cdmDestination
);
105 // me.doUpdate(cdmDestination);