Project

General

Profile

Download (4.45 KB) Statistics
| Branch: | Revision:
1
/**
2
* Copyright (C) 2015 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.caryophyllales;
10

    
11
import java.io.IOException;
12
import java.util.UUID;
13

    
14
import org.apache.log4j.Logger;
15

    
16
import eu.etaxonomy.cdm.app.common.CdmDestinations;
17
import eu.etaxonomy.cdm.common.URI;
18
import eu.etaxonomy.cdm.database.DbSchemaValidation;
19
import eu.etaxonomy.cdm.database.ICdmDataSource;
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.tropicos.in.TropicosNameImportConfigurator;
24
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
25
import eu.etaxonomy.cdm.model.reference.Reference;
26
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
27

    
28
/**
29
 * @author a.mueller
30
 * @since 18.10.2017
31
 */
32
public class PlumbaginaceaeTropicosActivator {
33

    
34
    @SuppressWarnings("unused")
35
    private static final Logger logger = Logger.getLogger(PlumbaginaceaeTropicosActivator.class);
36

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

    
40
//    static final ICdmDataSource cdmDestination = CdmDestinations.localH2();
41
//    static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_test1();
42
    static final ICdmDataSource cdmDestination = CdmDestinations.cdm_production_caryophyllales_spp();
43
//    static final ICdmDataSource cdmDestination = CdmDestinations.cdm_local_caryo_spp();
44

    
45
    static final boolean createTaxa = true;
46
    static int transactionLineCount = 100;
47
    static boolean allowTropicosDuplicates = true;
48
    static boolean allowIpniDuplicates = true;
49
    static boolean allowWfoDuplicates = false;
50
    static boolean addAuthorsToReferences = true;
51
    static boolean reportDuplicateIdentifier = true;
52

    
53
    static final String classificationName = "Tropicos Plumbaginaceae";
54
    static final UUID parentNodeUuid = UUID.fromString("46755269-5b06-4308-9871-c55850610769");
55

    
56
    //check - import
57
    static CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
58

    
59
    private void doImport(ICdmDataSource cdmDestination){
60

    
61
        URI source = getPlumbaginaceaeTropicosUri();
62
        TropicosNameImportConfigurator config;
63
        try {
64
            config = TropicosNameImportConfigurator.NewInstance(source, cdmDestination);
65

    
66
            config.setDbSchemaValidation(dbSchemaValidation);
67
            config.setCheck(check);
68
            config.setNomenclaturalCode(NomenclaturalCode.ICNAFP);
69
            config.setCreateTaxa(createTaxa);
70
            config.setClassificationName(classificationName);
71
            config.setSourceReference(getSourceReference());
72
            config.setParentNodeUuid(parentNodeUuid);
73
            config.setTransactionLineCount(transactionLineCount);
74
            config.setAllowIpniDuplicates(allowIpniDuplicates);
75
            config.setAllowTropicosDuplicates(allowTropicosDuplicates);
76
            config.setAllowWfoDuplicates(allowWfoDuplicates);
77
            config.setAddAuthorsToReference(addAuthorsToReferences);
78
            config.setReportDuplicateIdentifier(reportDuplicateIdentifier);
79

    
80
            CdmDefaultImport<TropicosNameImportConfigurator> myImport = new CdmDefaultImport<>();
81
            ImportResult result = myImport.invoke(config);
82
            System.out.println(result.createReport());
83
        } catch (IOException e) {
84
            System.out.println("URI not 'found': " + source);
85
        }
86
    }
87

    
88
    private URI getPlumbaginaceaeTropicosUri(){
89
//        String fileName = "TropicosNameImportTest-input.txt";
90
        String fileName = "TropicosOutput2CDM-rev-output_Plumbaginaceae.txt";
91
//        String fileName = "TropicosOutput2CDM_Plumbaginaceae.txt";
92

    
93
        URI uri = URI.create("file:////BGBM-PESIHPC/Caryophyllales/" +  fileName);
94
        return uri;
95
    }
96

    
97
    private Reference getSourceReference(){
98
        Reference result = ReferenceFactory.newDatabase();
99
        result.setTitle("Tropicos Plumbaginaceae import");
100
        result.setUuid(UUID.fromString("937f3a38-dbb4-4888-9ea3-2f52d47f7953"));
101
        return result;
102
    }
103

    
104

    
105
    /**
106
     * @param args
107
     */
108
    public static void main(String[] args) {
109
        PlumbaginaceaeTropicosActivator me = new PlumbaginaceaeTropicosActivator();
110
        me.doImport(cdmDestination);
111
        System.exit(0);
112
    }
113
}
(13-13/17)