improvements to DwcA export
[cdmlib-apps.git] / app-import / src / main / java / eu / etaxonomy / cdm / app / dwca / DwcaExportActivator.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.dwca;
11
12 import org.apache.log4j.Logger;
13
14 import eu.etaxonomy.cdm.app.common.CdmDestinations;
15 import eu.etaxonomy.cdm.database.ICdmDataSource;
16 import eu.etaxonomy.cdm.io.common.CdmDefaultExport;
17 import eu.etaxonomy.cdm.io.common.IExportConfigurator.CHECK;
18 import eu.etaxonomy.cdm.io.dwca.out.DwcaTaxExportConfigurator;
19
20
21 /**
22 *
23 * @author a.mueller
24 *
25 */
26 public class DwcaExportActivator {
27 @SuppressWarnings("unused")
28 private static final Logger logger = Logger.getLogger(DwcaExportActivator.class);
29
30 //database validation status (create, update, validate ...)
31 private static final String fileDestination = "C:\\tmp\\dwcaTmp";
32 // private static final ICdmDataSource cdmSource = CdmDestinations.cdm_test_local_mysql();
33 private static final ICdmDataSource cdmSource = CdmDestinations.cdm_production_cichorieae();
34
35 //check - import
36 private static final CHECK check = CHECK.EXPORT_WITHOUT_CHECK;
37
38 // ****************** ALL *****************************************
39 private boolean doTaxa = false;
40 private boolean doResourceRelation = true;
41 private boolean doTypesAndSpecimen = true;
42 private boolean doVernacularNames = true;
43 private boolean doReferences = false;
44 private boolean doDescription = true;
45 private boolean doDistributions = true;
46 private boolean doImages = true;
47
48
49 // ************************ NONE **************************************** //
50 // private boolean doTaxa = false;
51 // private boolean doResourceRelation = false;
52 // private boolean doTypesAndSpecimen = false;
53 // private boolean doVernacularNames = false;
54 // private boolean doReferences = false;
55 // private boolean doDescription = false;
56 // private boolean doDistributions = false;
57 // private boolean doImages = false;
58
59
60 public boolean doExport(ICdmDataSource source){
61 System.out.println("Start export to DWC-A ("+ fileDestination + ") ...");
62
63 // CdmUpdater su = CdmUpdater.NewInstance();
64 // IProgressMonitor monitor = DefaultProgressMonitor.NewInstance();
65 //
66 // try {
67 // su.updateToCurrentVersion(source, monitor);
68 // } catch (Exception e) {
69 // e.printStackTrace();
70 // }
71 // if (true){
72 // return true;
73 // }
74
75 //make file destination
76 String destination = fileDestination;
77
78 DwcaTaxExportConfigurator config = DwcaTaxExportConfigurator.NewInstance(source, destination);
79
80 config.setDoTaxa(doTaxa);
81 config.setDoResourceRelation(doResourceRelation);
82 config.setDoTypesAndSpecimen(doTypesAndSpecimen);
83 config.setDoVernacularNames(doVernacularNames);
84 config.setDoReferences(doReferences);
85 config.setDoDescription(doDescription);
86 config.setDoDistributions(doDistributions);
87 config.setDoImages(doImages);
88 config.setCheck(check);
89
90 // invoke import
91 CdmDefaultExport<DwcaTaxExportConfigurator> bmExport = new CdmDefaultExport<DwcaTaxExportConfigurator>();
92 boolean result = bmExport.invoke(config);
93
94 System.out.println("End export to DWC-A ("+ fileDestination + ")..." + (result? "(successful)":"(with errors)"));
95 return result;
96 }
97
98
99
100 /**
101 * @param args
102 */
103 public static void main(String[] args) {
104 DwcaExportActivator ex = new DwcaExportActivator();
105 ICdmDataSource source = CdmDestinations.chooseDestination(args) != null ? CdmDestinations.chooseDestination(args) : cdmSource;
106
107 ex.doExport(source);
108 }
109
110
111
112
113 }