Use interface type for get/setCdmAppController in CdmDefaultIOBase (#2347)
[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 java.util.Arrays;
13 import java.util.HashSet;
14 import java.util.List;
15 import java.util.Set;
16 import java.util.UUID;
17
18 import org.apache.log4j.Logger;
19
20 import eu.etaxonomy.cdm.app.common.CdmDestinations;
21 import eu.etaxonomy.cdm.database.ICdmDataSource;
22 import eu.etaxonomy.cdm.io.common.CdmDefaultExport;
23 import eu.etaxonomy.cdm.io.common.IExportConfigurator.CHECK;
24 import eu.etaxonomy.cdm.io.dwca.out.DwcaTaxExportConfigurator;
25
26
27 /**
28 *
29 * @author a.mueller
30 *
31 */
32 public class DwcaExportActivator {
33 @SuppressWarnings("unused")
34 private static final Logger logger = Logger.getLogger(DwcaExportActivator.class);
35
36 //database validation status (create, update, validate ...)
37 private static final String fileDestination = "C:\\tmp\\dwcaTmp";
38 // private static final ICdmDataSource cdmSource = CdmDestinations.cdm_test_local_mysql();
39 private static final ICdmDataSource cdmSource = CdmDestinations.cdm_production_cichorieae();
40
41 //check - import
42 private static final CHECK check = CHECK.EXPORT_WITHOUT_CHECK;
43
44 private static List<UUID> featureExclusions = Arrays.asList(new UUID[]{
45 UUID.fromString("5deff505-1a32-4817-9a74-50e6936fd630"), //occurrences
46 UUID.fromString("8075074c-ace8-496b-ac82-47c14553f7fd"), //Editor_Parenthesis
47 UUID.fromString("c0cc5ebe-1f0c-4c31-af53-d486858ea415") //Image Sources
48 });
49
50
51 // ****************** ALL *****************************************
52 // private boolean doTaxa = false;
53 // private boolean doResourceRelation = true;
54 // private boolean doTypesAndSpecimen = true;
55 // private boolean doVernacularNames = true;
56 // private boolean doReferences = true;
57 // private boolean doDescription = true;
58 // private boolean doDistributions = true;
59 // private boolean doImages = true;
60
61
62 // ************************ NONE **************************************** //
63 private boolean doTaxa = false;
64 private boolean doResourceRelation = false;
65 private boolean doTypesAndSpecimen = false;
66 private boolean doVernacularNames = false;
67 private boolean doReferences = false;
68 private boolean doDescription = true;
69 private boolean doDistributions = false;
70 private boolean doImages = false;
71
72
73 public boolean doExport(ICdmDataSource source){
74 System.out.println("Start export to DWC-A ("+ fileDestination + ") ...");
75
76 // CdmUpdater su = CdmUpdater.NewInstance();
77 // IProgressMonitor monitor = DefaultProgressMonitor.NewInstance();
78 //
79 // try {
80 // su.updateToCurrentVersion(source, monitor);
81 // } catch (Exception e) {
82 // e.printStackTrace();
83 // }
84 // if (true){
85 // return true;
86 // }
87
88 //make file destination
89 String destination = fileDestination;
90
91 DwcaTaxExportConfigurator config = DwcaTaxExportConfigurator.NewInstance(source, destination);
92
93 config.setDoTaxa(doTaxa);
94 config.setDoResourceRelation(doResourceRelation);
95 config.setDoTypesAndSpecimen(doTypesAndSpecimen);
96 config.setDoVernacularNames(doVernacularNames);
97 config.setDoReferences(doReferences);
98 config.setDoDescription(doDescription);
99 config.setDoDistributions(doDistributions);
100 config.setDoImages(doImages);
101 config.setCheck(check);
102
103 config.setFeatureExclusions(featureExclusions);
104 // invoke import
105 CdmDefaultExport<DwcaTaxExportConfigurator> bmExport = new CdmDefaultExport<DwcaTaxExportConfigurator>();
106 boolean result = bmExport.invoke(config);
107
108 System.out.println("End export to DWC-A ("+ fileDestination + ")..." + (result? "(successful)":"(with errors)"));
109 return result;
110 }
111
112
113 /**
114 * @param args
115 */
116 public static void main(String[] args) {
117 DwcaExportActivator ex = new DwcaExportActivator();
118 ICdmDataSource source = CdmDestinations.chooseDestination(args) != null ? CdmDestinations.chooseDestination(args) : cdmSource;
119
120 ex.doExport(source);
121 }
122
123
124
125
126 }