Project

General

Profile

Download (3.61 KB) Statistics
| Branch: | Revision:
1
/**
2
* Copyright (C) 2017 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
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.
8
*/
9
package eu.etaxonomy.cdm.app.salvador;
10

    
11
import java.io.IOException;
12
import java.net.URI;
13

    
14
import org.apache.log4j.Logger;
15

    
16
import eu.etaxonomy.cdm.app.common.CdmDestinations;
17
import eu.etaxonomy.cdm.app.mexico.MexicoBorhidiActivator;
18
import eu.etaxonomy.cdm.database.DbSchemaValidation;
19
import eu.etaxonomy.cdm.database.ICdmDataSource;
20
import eu.etaxonomy.cdm.database.update.CdmUpdater;
21
import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
22
import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
23
import eu.etaxonomy.cdm.io.common.ImportResult;
24
import eu.etaxonomy.cdm.io.salvador.SalvadorSpecimenImportConfigurator;
25
import eu.etaxonomy.cdm.model.reference.Reference;
26
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
27

    
28
/**
29
 * @author a.mueller
30
 * @date 08.07.2017
31
 *
32
 */
33
public class SalvadorSpecimenActivator {
34
    private static final Logger logger = Logger.getLogger(MexicoBorhidiActivator.class);
35

    
36
    //database validation status (create, update, validate ...)
37
    static DbSchemaValidation hbm2dll = DbSchemaValidation.VALIDATE;
38

    
39
//    static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_mysql_test();
40
    static final ICdmDataSource cdmDestination = CdmDestinations.cdm_salvador_preview();
41
//    static final ICdmDataSource cdmDestination = CdmDestinations.cdm_salvador_production();
42

    
43
    //check - import
44
    static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
45

    
46
    protected void doImport(ICdmDataSource cdmDestination){
47

    
48
        URI source = salvadorSpecimen();
49

    
50
        //make Source
51
        SalvadorSpecimenImportConfigurator config;
52
        try {
53
            config = SalvadorSpecimenImportConfigurator.NewInstance(source, cdmDestination);
54
        } catch (IOException e) {
55
            String message = "IO Exception when configuring import: " + e.getMessage();
56
            logger.warn(message);
57
            return;
58
        }
59
        config.setCheck(check);
60
        config.setDbSchemaValidation(hbm2dll);
61
        config.setTransactionLineCount(100);
62

    
63
        String fileName = source.toString();
64
        fileName = fileName.substring(fileName.lastIndexOf("/") + 1 );
65

    
66
        String message = "Start import from ("+ fileName + ") ...";
67
        System.out.println(message);
68
        logger.warn(message);
69

    
70
        config.setSourceReference(getSourceReference());
71

    
72
        CdmDefaultImport<SalvadorSpecimenImportConfigurator> myImport
73
                = new CdmDefaultImport<>();
74

    
75
        ImportResult result = myImport.invoke(config);
76
        String report = result.createReport().toString();
77
        System.out.println(report);
78
        System.out.println("End import from ("+ source.toString() + ")...");
79

    
80
    }
81

    
82

    
83
    //SalvadorSpecimen
84
    public static URI salvadorSpecimen() {
85
        return URI.create("file:////BGBM-PESIHPC/Salvador/Specimen3.csv");
86
    }
87

    
88

    
89
    private Reference getSourceReference() {
90
        Reference result = ReferenceFactory.newDatabase();
91
        result.setTitle("Specimen3.csv");
92
        return result;
93
    }
94

    
95
    public void doUpdate(ICdmDataSource cdmDestination){
96
        CdmUpdater updater = CdmUpdater.NewInstance();
97
        updater.updateToCurrentVersion(cdmDestination, null);
98
    }
99

    
100
    /**
101
     * @param args
102
     */
103
    public static void main(String[] args) {
104
        SalvadorSpecimenActivator me = new SalvadorSpecimenActivator();
105
        me.doImport(cdmDestination);
106
//        me.doUpdate(cdmDestination);
107
        System.exit(0);
108
    }
109
}
    (1-1/1)