be409e8cdf019b4cdda63278cb047ecf52ea1fb5
[cdmlib-apps.git] / app-import / src / main / java / eu / etaxonomy / cdm / app / proibiosphere / SynthesysCacheActivator.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.proibiosphere;
10
11 import java.io.File;
12 import java.net.URISyntaxException;
13
14 import org.apache.logging.log4j.LogManager;
15 import org.apache.logging.log4j.Logger;
16
17 import eu.etaxonomy.cdm.app.common.CdmDestinations;
18 import eu.etaxonomy.cdm.common.URI;
19 import eu.etaxonomy.cdm.database.DbSchemaValidation;
20 import eu.etaxonomy.cdm.database.ICdmDataSource;
21 import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
22 import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
23 import eu.etaxonomy.cdm.io.specimen.excel.in.SpecimenSynthesysExcelImportConfigurator;
24 import eu.etaxonomy.cdm.model.agent.Person;
25 import eu.etaxonomy.cdm.model.reference.Reference;
26 import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
27
28 /**
29 * @author PK
30 * @since 19.09.2008
31 */
32 public class SynthesysCacheActivator {
33
34 @SuppressWarnings("unused")
35 private static final Logger logger = LogManager.getLogger();
36
37 //database validation status (create, update, validate ...)
38
39 // final static String xmlSource = "/home/pkelbert/workspace/proibiosphere/cdmlib-io/target/test-classes/eu/etaxonomy/cdm/io/specimen/excel/in/ExcelImportConfiguratorTest-input.xls";
40 final static String xmlSource = "/home/pkelbert/Documents/Proibiosphere/ChenopodiumQuentin/dca UK records.xls";
41
42
43 static final ICdmDataSource cdmDestination = CdmDestinations.cdm_local_proibiosphere_spiders();
44 static DbSchemaValidation hbm2dll = DbSchemaValidation.VALIDATE;
45 // static final ICdmDataSource cdmDestination = CdmDestinations.proibiosphere_local();
46 // static DbSchemaValidation hbm2dll = DbSchemaValidation.VALIDATE;
47 static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
48
49 public static void main(String[] args) {
50 URI source;
51 try {
52 URI uri = URI.fromFile(new File(xmlSource));
53 source = new URI(uri.toString());
54 System.out.println(source.toString());
55 System.out.println("Start import from Excel Specimen data("+ source.toString() + ") ...");
56
57 ICdmDataSource destination = cdmDestination;
58 SpecimenSynthesysExcelImportConfigurator specimenImportConfigurator = SpecimenSynthesysExcelImportConfigurator.NewInstance(source, destination);
59
60 specimenImportConfigurator.setSourceSecId("specimen");
61 specimenImportConfigurator.setCheck(check);
62 specimenImportConfigurator.setDbSchemaValidation(hbm2dll);
63 specimenImportConfigurator.setDoAutomaticParsing(true);
64 specimenImportConfigurator.setReUseExistingMetadata(true);
65 specimenImportConfigurator.setAskForDate(true);
66 specimenImportConfigurator.setDefaultAuthor("L.");
67 // specimenImportConfigurator.setClassificationName("Chenopodium");
68
69 specimenImportConfigurator.setReUseTaxon(true);
70
71 Reference reference = ReferenceFactory.newGeneric();
72 reference.setTitleCache("Chenopodium vulvaria observations from the Botanical Society of the British Isles", true);
73 Person p = Person.NewInstance();
74 p.setGivenName("Quentin");
75 p.setFamilyName("Groom");
76 p.addEmailAddress("qgroom@bsbi.co.uk");
77 reference.setAuthorship(p);
78 reference.setOrganization("Botanical Society of the British Isles");
79
80 specimenImportConfigurator.setSourceReference(reference);
81 specimenImportConfigurator.setTaxonReference(null);
82
83 // invoke import
84 CdmDefaultImport<SpecimenSynthesysExcelImportConfigurator> specimenImport = new CdmDefaultImport<>();
85 //new Test().invoke(tcsImportConfigurator);
86 specimenImport.invoke(specimenImportConfigurator);
87 System.out.println("End import from SpecimenData ("+ source.toString() + ")...");
88 } catch (URISyntaxException e) {
89 e.printStackTrace();
90 }
91
92 }
93
94
95 }