Project

General

Profile

Download (1.9 KB) Statistics
| Branch: | Revision:
1
package eu.etaxonomy.cdm.io.plantglossary;
2

    
3
import java.io.IOException;
4
import java.net.URI;
5

    
6
import org.apache.log4j.Logger;
7

    
8
import eu.etaxonomy.cdm.app.common.CdmDestinations;
9
import eu.etaxonomy.cdm.database.DatabaseTypeEnum;
10
import eu.etaxonomy.cdm.database.DbSchemaValidation;
11
import eu.etaxonomy.cdm.database.ICdmDataSource;
12
import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
13
import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
14

    
15
public class PlantGlossaryActivator {
16
	@SuppressWarnings("unused")
17
	private static final Logger logger = Logger.getLogger(PlantGlossaryActivator.class);
18

    
19
	private void doImport(ICdmDataSource cdmDestination) throws IOException{
20

    
21
	    /*
22
	     * Source file:
23
	     * extracted data from https://terms.tdwg.org
24
	     *
25
	     * Cleaning data with OpenRefine:
26
	     *  - generated URI column
27
	     *  - parsed term description by crawling term html pages (description are not retrieved via web interface)
28
	     */
29
	    URI uri = URI.create("file:/home/pplitzner/projects/Additivity/plant_glossary_states.csv");
30
		PlantGlossaryCsvImportConfigurator config = PlantGlossaryCsvImportConfigurator.NewInstance(uri, cdmDestination);
31
		config.setCheck(CHECK.IMPORT_WITHOUT_CHECK);
32
		config.setDbSchemaValidation(DbSchemaValidation.VALIDATE);
33

    
34
		CdmDefaultImport<PlantGlossaryCsvImportConfigurator> myImport = new CdmDefaultImport<>();
35

    
36
		System.out.println("Start import from ("+ cdmDestination.toString() + ") ...");
37
		myImport.invoke(config);
38
		System.out.println("End import from ("+ cdmDestination.toString() + ")...");
39
	}
40

    
41
	public static void main(String[] args) {
42
		PlantGlossaryActivator activator = new PlantGlossaryActivator();
43
		try {
44
	        ICdmDataSource dataSource = CdmDestinations.makeDestination(DatabaseTypeEnum.MySQL, "127.0.0.1", "empty", 3306, "root", null);
45
            activator.doImport(dataSource);
46
        } catch (IOException e) {
47
            e.printStackTrace();
48
        }
49
	}
50
}
(1-1/5)