Update for tcs import
[cdmlib.git] / app-import / src / main / java / eu / etaxonomy / cdm / app / tcs / TcsXmlTestActivator.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
10 package eu.etaxonomy.cdm.app.tcs;
11
12 import java.net.URI;
13 import java.net.URISyntaxException;
14 import java.util.UUID;
15
16 import org.apache.log4j.Logger;
17
18 import eu.etaxonomy.cdm.api.service.IReferenceService;
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.common.IImportConfigurator.DO_REFERENCES;
25 import eu.etaxonomy.cdm.io.tcsxml.in.TcsXmlImportConfigurator;
26 import eu.etaxonomy.cdm.model.common.TimePeriod;
27 import eu.etaxonomy.cdm.model.reference.IBook;
28 import eu.etaxonomy.cdm.model.reference.ReferenceBase;
29 import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
30
31 /**
32 * @author a.mueller
33 * @created 20.06.2008
34 * @version 1.0
35 */
36 public class TcsXmlTestActivator {
37 private static final Logger logger = Logger.getLogger(TcsXmlTestActivator.class);
38
39 //database validation status (create, update, validate ...)
40 static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;
41 static final String tcsSource = TcsSources.tcsXml_cichorium();
42 // static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_andreasM();
43 // static final ICdmDataSource cdmDestination = CdmDestinations.localH2();
44 static final ICdmDataSource cdmDestination = CdmDestinations.cdm_local_postgres_CdmTest();
45
46 static final UUID treeUuid = UUID.fromString("00000000-0c97-48ac-8d33-6099ed68c625");
47 static final String sourceSecId = "TestTCS";
48
49 //check - import
50 static final CHECK check = CHECK.CHECK_AND_IMPORT;
51
52 //authors
53 static final boolean doMetaData = true;
54 //references
55 static final DO_REFERENCES doReferences = DO_REFERENCES.ALL;
56 //names
57 static final boolean doTaxonNames = true;
58 static final boolean doRelNames = true;
59
60 //taxa
61 static final boolean doTaxa = true;
62 static final boolean doRelTaxa = true;
63
64
65 private void doImport(){
66 System.out.println("Start import from Tcs("+ tcsSource.toString() + ") ...");
67
68 //make Source
69 URI source;
70 try {
71 source = new URI(tcsSource);
72 ICdmDataSource destination = cdmDestination;
73
74 TcsXmlImportConfigurator tcsImportConfigurator = TcsXmlImportConfigurator.NewInstance(source, destination);
75
76 tcsImportConfigurator.setTaxonomicTreeUuid(treeUuid);
77 tcsImportConfigurator.setSourceSecId(sourceSecId);
78
79 tcsImportConfigurator.setDoMetaData(doMetaData);
80 tcsImportConfigurator.setDoReferences(doReferences);
81 tcsImportConfigurator.setDoTaxonNames(doTaxonNames);
82 tcsImportConfigurator.setDoRelNames(doRelNames);
83
84 tcsImportConfigurator.setDoTaxa(doTaxa);
85 tcsImportConfigurator.setDoRelTaxa(doRelTaxa);
86
87 tcsImportConfigurator.setCheck(check);
88 tcsImportConfigurator.setDbSchemaValidation(hbm2dll);
89
90 // invoke import
91 CdmDefaultImport<TcsXmlImportConfigurator> tcsImport = new CdmDefaultImport<TcsXmlImportConfigurator>();
92 //new Test().invoke(tcsImportConfigurator);
93 tcsImport.invoke(tcsImportConfigurator);
94
95
96 IReferenceService refService = tcsImport.getCdmAppController().getReferenceService();
97 IBook book = ReferenceFactory.newBook();
98 //book.setDatePublished(TimePeriod.NewInstance(1945));
99 book.setDatePublished(TimePeriod.NewInstance(1945).setEndDay(12).setEndMonth(4));
100 refService.saveOrUpdate((ReferenceBase)book);
101 tcsImport.getCdmAppController().close();
102 logger.info("End");
103 System.out.println("End import from TCS ("+ source.toString() + ")...");
104 } catch (URISyntaxException e) {
105 e.printStackTrace();
106 }
107
108 }
109
110 /**
111 * @param args
112 */
113 public static void main(String[] args) {
114 TcsXmlTestActivator me = new TcsXmlTestActivator();
115 me.doImport();
116 }
117
118 }