latest DwcA improvements
[cdmlib-apps.git] / app-import / src / main / java / eu / etaxonomy / cdm / app / tcs / TcsRdfTestActivator.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.tcsrdf.TcsRdfImportConfigurator;
26 import eu.etaxonomy.cdm.model.common.TimePeriod;
27 import eu.etaxonomy.cdm.model.reference.IBook;
28 import eu.etaxonomy.cdm.model.reference.Reference;
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 TcsRdfTestActivator {
37 private static final Logger logger = Logger.getLogger(TcsRdfTestActivator.class);
38
39 //database validation status (create, update, validate ...)
40 static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;
41 static final String tcsSource = TcsSources.tcsRdf_globis();
42 static final ICdmDataSource cdmDestination = CdmDestinations.localH2();
43
44 static final UUID treeUuid = UUID.fromString("00000000-0c97-48ac-8d33-6099ed68345");
45 static final String sourceSecId = "XXX";
46
47 //check - import
48 static final CHECK check = CHECK.CHECK_AND_IMPORT;
49
50 //authors
51 static final boolean doMetaData = true;
52 //references
53 static final DO_REFERENCES doReferences = DO_REFERENCES.ALL;
54 //names
55 static final boolean doTaxonNames = true;
56 static final boolean doRelNames = true;
57
58 //taxa
59 static final boolean doTaxa = true;
60 static final boolean doRelTaxa = true;
61
62
63 private void doImport(){
64 System.out.println("Start import from Tcs("+ tcsSource.toString() + ") ...");
65
66 //make BerlinModel Source
67 URI source;
68 try {
69 source = new URI(tcsSource);
70 ICdmDataSource destination = cdmDestination;
71
72 TcsRdfImportConfigurator tcsImportConfigurator = TcsRdfImportConfigurator.NewInstance(source, destination);
73
74 tcsImportConfigurator.setClassificationUuid(treeUuid);
75 tcsImportConfigurator.setSourceSecId(sourceSecId);
76
77 tcsImportConfigurator.setDoReferences(doReferences);
78 tcsImportConfigurator.setDoTaxonNames(doTaxonNames);
79 tcsImportConfigurator.setDoRelNames(doRelNames);
80
81 tcsImportConfigurator.setDoTaxa(doTaxa);
82 tcsImportConfigurator.setDoRelTaxa(doRelTaxa);
83
84 tcsImportConfigurator.setCheck(check);
85 tcsImportConfigurator.setDbSchemaValidation(hbm2dll);
86
87 // invoke import
88 CdmDefaultImport<TcsRdfImportConfigurator> tcsImport = new CdmDefaultImport<TcsRdfImportConfigurator>();
89 tcsImport.invoke(tcsImportConfigurator);
90
91
92 IReferenceService refService = tcsImport.getCdmAppController().getReferenceService();
93 ReferenceFactory refFactory = ReferenceFactory.newInstance();
94 IBook book = refFactory.newBook();
95 //book.setDatePublished(TimePeriod.NewInstance(1945));
96 book.setDatePublished(TimePeriod.NewInstance(1945).setEndDay(12).setEndMonth(4));
97 refService.saveOrUpdate((Reference)book);
98 tcsImport.getCdmAppController().close();
99 logger.info("End");
100 System.out.println("End import from TCS ("+ source.toString() + ")...");
101 } catch (URISyntaxException e) {
102 e.printStackTrace();
103 }
104
105 }
106
107 /**
108 * @param args
109 */
110 public static void main(String[] args) {
111 TcsRdfTestActivator me = new TcsRdfTestActivator();
112 me.doImport();
113 }
114
115 }