Project

General

Profile

Download (4.23 KB) Statistics
| Branch: | Revision:
1
/**
2
* Copyright (C) 2007 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

    
10
package eu.etaxonomy.cdm.app.iapt;
11

    
12
import java.io.File;
13
import java.net.URI;
14
import java.util.UUID;
15

    
16
import eu.etaxonomy.cdm.database.DatabaseTypeEnum;
17
import org.apache.log4j.Appender;
18
import org.apache.log4j.Logger;
19

    
20
import eu.etaxonomy.cdm.app.common.CdmDestinations;
21
import eu.etaxonomy.cdm.database.DbSchemaValidation;
22
import eu.etaxonomy.cdm.database.ICdmDataSource;
23
import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
24
import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
25
import eu.etaxonomy.cdm.io.iapt.IAPTImportConfigurator;
26
import eu.etaxonomy.cdm.model.reference.Reference;
27
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
28
import org.apache.log4j.RollingFileAppender;
29

    
30

    
31
/**
32
 * @author a.kohlbecker
33
 * @date Jul 26, 2016
34
 *
35
 */
36
public class IAPTActivator {
37
    private static final Logger logger = Logger.getLogger(IAPTActivator.class);
38

    
39
    //database validation status (create, update, validate ...)
40
    static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;
41

    
42
    static ICdmDataSource cdmDestination = null;
43
    static {
44
        DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
45
        String cdmServer = "127.0.0.1";
46
        String cdmDB = "cdm_algea_registry";
47
        String cdmUserName = "edit";
48
        cdmDestination =  CdmDestinations.makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
49
        // cdmDestination = CdmDestinations.localH2();
50
    }
51

    
52
    static boolean invers = true;
53

    
54
    static boolean include = !invers;
55

    
56
    //classification
57
    static final UUID classificationUuid = UUID.fromString("8c51efb4-3d67-4bea-8f87-4bc1cba1310d");
58
    private static final String classificationName = "IAPT";
59
    static final String sourceReferenceTitle = "IAPT Import";
60

    
61
    //check - import
62
    static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
63

    
64
    static final boolean doTaxa = false;
65

    
66

    
67
    private void doImport(ICdmDataSource cdmDestination){
68

    
69
        URI source = iapt();  //just any
70

    
71
        Reference secRef = ReferenceFactory.newDatabase();
72
        secRef.setTitle("IAPT");
73

    
74
        //make Source
75
        IAPTImportConfigurator config= IAPTImportConfigurator.NewInstance(source, cdmDestination);
76
        config.setClassificationUuid(classificationUuid);
77
        config.setClassificationName(classificationName);
78
        config.setCheck(check);
79
        config.setDbSchemaValidation(hbm2dll);
80
        config.setSourceReferenceTitle(sourceReferenceTitle);
81
        config.setSecReference(secRef);
82

    
83
        CdmDefaultImport<IAPTImportConfigurator> myImport = new CdmDefaultImport<>();
84

    
85
        doSingleSource(iapt(), config, myImport);
86

    
87
        System.exit(0);
88

    
89
    }
90

    
91
    /**
92
     * @param source
93
     * @param config
94
     * @param myImport
95
     */
96
    private void doSingleSource(URI source, IAPTImportConfigurator config, CdmDefaultImport<IAPTImportConfigurator> myImport) {
97
        config.setSource(source);
98
        String fileName = source.toString();
99
        fileName = fileName.substring(fileName.lastIndexOf("/") + 1 );
100

    
101
        String message = "Start import from ("+ fileName + ") ...";
102
        System.out.println(message);
103
        logger.warn(message);
104
        config.setSourceReference(getSourceReference(fileName));
105
        myImport.invoke(config);
106

    
107
        System.out.println("End import from ("+ source.toString() + ")...");
108
    }
109

    
110
    private final Reference inRef = ReferenceFactory.newGeneric();
111
    private Reference getSourceReference(String string) {
112
        Reference result = ReferenceFactory.newGeneric();
113
        result.setTitleCache(string, true);
114
        result.setInReference(inRef);
115
        inRef.setTitleCache(sourceReferenceTitle, true);
116
        return result;
117
    }
118

    
119

    
120

    
121
    public static URI iapt() {
122
        File f = new File(System.getProperty("user.home") + "/data/Projekte/Algea Name Registry/registry/sources/IAPT/Registration_DB_from_BGBM17-cleaned.xls");
123
        return f.toURI();
124
    }
125

    
126
    /**
127
     * @param args
128
     */
129
    public static void main(String[] args) {
130

    
131
        IAPTActivator me = new IAPTActivator();
132
        me.doImport(cdmDestination);
133
    }
134

    
135
}
    (1-1/1)