a76cda494077dd8b2b4245fb13ac19e1c08c9958
[cdmlib-apps.git] / app-import / src / main / java / eu / etaxonomy / cdm / app / caryophyllales / KewNyctaginaceaeActivator.java
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 package eu.etaxonomy.cdm.app.caryophyllales;
10
11 import java.io.File;
12 import java.util.UUID;
13
14 import org.apache.logging.log4j.LogManager;
15 import org.apache.logging.log4j.Logger;
16
17 import eu.etaxonomy.cdm.app.berlinModelImport.SourceBase;
18 import eu.etaxonomy.cdm.app.common.CdmDestinations;
19 import eu.etaxonomy.cdm.common.URI;
20 import eu.etaxonomy.cdm.database.DbSchemaValidation;
21 import eu.etaxonomy.cdm.database.ICdmDataSource;
22 import eu.etaxonomy.cdm.io.caryo.KewExcelTaxonImportConfigurator;
23 import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
24 import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
25 import eu.etaxonomy.cdm.model.reference.Reference;
26 import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
27
28 /**
29 * Import Kew WCVP Nyctabinaceae data to CDM Caryophyllales.
30 *
31 * @author a.mueller
32 * @since 12.01.2023
33 */
34 public class KewNyctaginaceaeActivator extends SourceBase{
35
36 @SuppressWarnings("unused")
37 private static final Logger logger = LogManager.getLogger();
38
39 //database validation status (create, update, validate ...)
40 private static final DbSchemaValidation hbm2dll = DbSchemaValidation.VALIDATE;
41 private static final URI source = nyctaginaceae();
42
43 private static final ICdmDataSource cdmDestination = CdmDestinations.cdm_local_caryo_spp();
44 // private static final ICdmDataSource cdmDestination = CdmDestinations.cdm_production_caryophyllales_spp();
45
46
47 //classification
48 static final UUID classificationUuid = UUID.fromString("9edc58b5-de3b-43aa-9f31-1ede7c009c2b");
49
50 static final UUID rootTaxonUuid = UUID.fromString("7040cc71-4f0d-4fd9-9384-eb4d003274aa"); //taxon.uuid not taxonNode.uuid , here Nyctaginaceae
51 //for taxa/names declared as unplaced
52 static final UUID unplacedTaxonUuid = UUID.fromString("9835a6e5-3b8a-49b5-a692-5da531ef8634");
53 //for orphaned synonyms
54 static final UUID orphanedPlaceholderTaxonUuid = UUID.fromString("cc5cec9b-b0c7-432a-8d10-31cbb3685d35");
55
56
57 //check - import
58 static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
59
60 //taxa
61 static final boolean doTaxa = true;
62
63 private void doImport(ICdmDataSource cdmDestination){
64
65 //make Source
66 KewExcelTaxonImportConfigurator config= KewExcelTaxonImportConfigurator.NewInstance(source, cdmDestination);
67 config.setClassificationUuid(classificationUuid);
68 config.setRootTaxonUuid(rootTaxonUuid);
69 config.setUnplacedTaxonUuid(unplacedTaxonUuid);
70 config.setOrphanedPlaceholderTaxonUuid(orphanedPlaceholderTaxonUuid);
71 config.setCheck(check);
72 // config.setDoTaxa(doTaxa);
73 config.setDbSchemaValidation(hbm2dll);
74 config.setSourceReferenceTitle("Nyctaginaceae_Export_Kew4CDM-Import.xlsx");
75
76 CdmDefaultImport<KewExcelTaxonImportConfigurator> myImport = new CdmDefaultImport<>();
77
78 //...
79 if (true){
80 System.out.println("Start import from ("+ source.toString() + ") ...");
81 config.setSourceReference(getSourceReference(config.getSourceReferenceTitle()));
82 myImport.invoke(config);
83 System.out.println("End import from ("+ source.toString() + ")...");
84 }
85 }
86
87 private Reference getSourceReference(String string) {
88 Reference result = ReferenceFactory.newGeneric();
89 result.setTitleCache(string, true);
90 return result;
91 }
92
93
94 public static URI nyctaginaceae(){
95 String fileName = "Nyctaginaceae_Export_Kew4CDM-Import.xlsx";
96 // URI uri = URI.create("file:////BGBM-PESIHPC/Caryophyllales/Kew/" + fileName);
97 File file = new File("E://data/Caryophyllales/Kew/" + fileName);
98 if (!file.exists()) {
99 System.exit(0);
100 }
101 URI uri = URI.fromFile(file);
102 // URI uri = URI.create("file://E:/Caryophyllales/Kew/" + fileName);
103 return uri;
104 }
105
106 public static void main(String[] args) {
107 KewNyctaginaceaeActivator me = new KewNyctaginaceaeActivator();
108 me.doImport(cdmDestination);
109 System.exit(0);
110 }
111 }