cleanup and add AizoaceaeIdentifierActivator
[cdmlib-apps.git] / app-import / src / main / java / eu / etaxonomy / cdm / app / caryophyllales / CaryoSppIdentifierActivator.java
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.File;
12 import java.io.FileReader;
13 import java.io.IOException;
14 import java.io.InputStreamReader;
15 import java.util.UUID;
16
17 import org.apache.log4j.Logger;
18
19 import eu.etaxonomy.cdm.app.common.CdmDestinations;
20 import eu.etaxonomy.cdm.database.DbSchemaValidation;
21 import eu.etaxonomy.cdm.database.ICdmDataSource;
22 import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
23 import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
24 import eu.etaxonomy.cdm.io.identifier.IdentifierImportConfigurator;
25 import eu.etaxonomy.cdm.model.name.TaxonName;
26 import eu.etaxonomy.cdm.model.term.DefinedTerm;
27
28 /**
29 * @author a.mueller
30 * @since 18.10.2017
31 */
32 public class CaryoSppIdentifierActivator {
33
34 @SuppressWarnings("unused")
35 private static final Logger logger = Logger.getLogger(CaryoSppIdentifierActivator.class);
36
37 //database validation status (create, update, validate ...)
38 static DbSchemaValidation dbSchemaValidation = DbSchemaValidation.VALIDATE;
39
40 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_local_caryo_spp();
41 static final ICdmDataSource cdmDestination = CdmDestinations.cdm_production_caryophyllales_spp();
42
43 private static final UUID idTypeUuid = DefinedTerm.uuidWfoNameIdentifier;
44 // private static final UUID idTypeUuid = DefinedTerm.uuidIpniNameIdentifier;
45
46 //check - import
47 static CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
48
49 private void doImport(ICdmDataSource cdmDestination){
50
51 InputStreamReader source = getIdentifierStream();
52 IdentifierImportConfigurator config= IdentifierImportConfigurator.NewInstance(source, cdmDestination);
53 config.setDbSchemaValidation(dbSchemaValidation);
54 config.setIdentifierTypeUuid(idTypeUuid);
55 config.setCdmClass(TaxonName.class);
56 config.setCheck(check);
57 config.setIgnoreEmptyIdentifier(true);
58
59 CdmDefaultImport<IdentifierImportConfigurator> myImport = new CdmDefaultImport<>();
60 myImport.invoke(config);
61
62 }
63
64 private InputStreamReader getIdentifierStream() {
65 String filename = "Cactaceae-SpeciesAndBelowWithoutWFO-ID3.csv";
66
67 // URI.create("file:////BGBM-PESIHPC/FloraMalesianaXml/fmvol14_final2.xml")
68 String path = "C://opt//data//Caryophyllales";
69 File file = new File(path + File.separator + filename);
70 if (!file.exists()){
71 System.exit(-1);
72 return null;
73 }
74 try {
75 InputStreamReader input = new FileReader(file);
76 return input;
77 } catch (IOException e) {
78 e.printStackTrace();
79 System.exit(-1);
80 return null;
81 }
82 }
83
84 /**
85 * @param args
86 */
87 public static void main(String[] args) {
88 CaryoSppIdentifierActivator me = new CaryoSppIdentifierActivator();
89 me.doImport(cdmDestination);
90 System.exit(0);
91 }
92 }