7d28e7d26cc1423c2a8f7295fe3ed7e4aad57672
[cdmlib-apps.git] / app-import / src / main / java / eu / etaxonomy / cdm / io / plantglossary / PlantGlossaryActivator.java
1 package eu.etaxonomy.cdm.io.plantglossary;
2
3 import java.io.FileInputStream;
4 import java.io.FileNotFoundException;
5 import java.io.InputStreamReader;
6
7 import org.apache.log4j.Logger;
8
9 import eu.etaxonomy.cdm.app.common.CdmDestinations;
10 import eu.etaxonomy.cdm.database.DatabaseTypeEnum;
11 import eu.etaxonomy.cdm.database.DbSchemaValidation;
12 import eu.etaxonomy.cdm.database.ICdmDataSource;
13 import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
14 import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
15
16 public class PlantGlossaryActivator {
17 @SuppressWarnings("unused")
18 private static final Logger logger = Logger.getLogger(PlantGlossaryActivator.class);
19
20 private void doImport(ICdmDataSource cdmDestination) throws FileNotFoundException{
21
22 /*
23 * Source file:
24 * https://github.com/biosemantics/glossaries/blob/925f2c1691ed00bf2b9a9cd7f83609cffae47145/Plant/0.11/Plant_glossary_term_category.csv
25 *
26 * Cleaning data:
27 * - remove all comments in csv file
28 * - fix "coetaneouser" by adding missing paramater for "remarks" -> "active"
29 */
30 FileInputStream inStream = new FileInputStream("/home/pplitzner/plantglossary.csv");
31 PlantGlossaryCsvImportConfigurator config = PlantGlossaryCsvImportConfigurator.NewInstance(new InputStreamReader(inStream), cdmDestination);
32 config.setCheck(CHECK.IMPORT_WITHOUT_CHECK);
33 config.setDbSchemaValidation(DbSchemaValidation.VALIDATE);
34
35 CdmDefaultImport<PlantGlossaryCsvImportConfigurator> myImport = new CdmDefaultImport<>();
36
37 System.out.println("Start import from ("+ cdmDestination.toString() + ") ...");
38 myImport.invoke(config);
39 System.out.println("End import from ("+ cdmDestination.toString() + ")...");
40 }
41
42 public static void main(String[] args) {
43 PlantGlossaryActivator activator = new PlantGlossaryActivator();
44 try {
45 ICdmDataSource dataSource = CdmDestinations.makeDestination(DatabaseTypeEnum.MySQL, "127.0.0.1", "additivity", 3306, "root", null);
46 activator.doImport(dataSource);
47 } catch (FileNotFoundException e) {
48 e.printStackTrace();
49 }
50 }
51 }