Updated the SDDImportActivator to use a MySQL datasource. Added an SDDExportActivator...
[cdmlib-apps.git] / app-import / src / main / java / eu / etaxonomy / cdm / app / sdd / ViolaExportActivator.java
1 /**
2 * Copyright (C) 2008 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 */
6
7 package eu.etaxonomy.cdm.app.sdd;
8
9 import java.io.File;
10
11 import org.apache.log4j.Logger;
12
13 import eu.etaxonomy.cdm.database.CdmDataSource;
14 import eu.etaxonomy.cdm.database.DbSchemaValidation;
15 import eu.etaxonomy.cdm.database.ICdmDataSource;
16 import eu.etaxonomy.cdm.io.common.CdmDefaultExport;
17 import eu.etaxonomy.cdm.io.common.IExportConfigurator.DO_REFERENCES;
18 import eu.etaxonomy.cdm.io.sdd.out.SDDExportConfigurator;
19
20 /**
21 * @author h.fradin (from a.babadshanjan eu.etaxonomy.cdm.app.jaxb.CdmExportImportActivator)
22 * @created 09.12.2008
23 */
24 public class ViolaExportActivator {
25
26 /* SerializeFrom DB **/
27 private static final String sourceDbName = "cdm";
28 private static final String destinationFileName = "ViolaFromCDM.xml";
29 private static final String destinationFolder = "/Developer/exports SDD";
30 //private static final String destinationFolder = "C:/tmp/viola/exports_SDD";
31
32 /** NUMBER_ROWS_TO_RETRIEVE = 0 is the default case to retrieve all rows.
33 * For testing purposes: If NUMBER_ROWS_TO_RETRIEVE >0 then retrieve
34 * as many rows as specified for agents, references, etc.
35 * Only root taxa and no synonyms and relationships are retrieved. */
36 private static final int NUMBER_ROWS_TO_RETRIEVE = 0;
37
38 private static final String server = "134.157.190.207";
39 private static final String username = "sa";
40
41 public static ICdmDataSource CDM_DB(String dbname) {
42
43 logger.info("Setting DB " + dbname);
44 ICdmDataSource datasource = CdmDataSource.NewH2EmbeddedInstance(dbname, username, "");
45 return datasource;
46 }
47
48 private static final Logger logger = Logger.getLogger(ViolaExportActivator.class);
49
50 private static final ICdmDataSource sourceDb = ViolaExportActivator.CDM_DB(sourceDbName);
51 private static final File destinationFile = new File(destinationFolder + File.separator + destinationFileName);
52
53 private static boolean doAgents = true;
54 private static boolean doAgentData = true;
55 private static boolean doLanguageData = true;
56 private static boolean doFeatureData = true;
57 private static boolean doDescriptions = true;
58 private static boolean doMedia = true;
59 private static boolean doOccurrences = true;
60 //private static boolean doReferences = true;
61 private static final DO_REFERENCES doReferences = DO_REFERENCES.ALL;
62 private static boolean doReferencedEntities = true;
63 private static boolean doRelationships = true;
64 private static boolean doSynonyms = true;
65 private static boolean doTaxonNames = true;
66 private static boolean doTaxa = true;
67 private static boolean doTerms = true;
68 private static boolean doTermVocabularies = true;
69 private static boolean doHomotypicalGroups = true;
70
71 private void invokeExport() {
72
73 SDDExportConfigurator sddExportConfigurator =
74 SDDExportConfigurator.NewInstance(sourceDb, destinationFileName, destinationFolder);
75
76 CdmDefaultExport<SDDExportConfigurator> sddExport =
77 new CdmDefaultExport<SDDExportConfigurator>();
78
79 sddExportConfigurator.setSource(sourceDb);
80 sddExportConfigurator.setDestination(destinationFile);
81 sddExportConfigurator.setDbSchemaValidation(DbSchemaValidation.VALIDATE);
82
83 sddExportConfigurator.setMaxRows(NUMBER_ROWS_TO_RETRIEVE);
84
85 sddExportConfigurator.setDoAuthors(doAgents);
86 sddExportConfigurator.setDoAgentData(doAgentData);
87 sddExportConfigurator.setDoLanguageData(doLanguageData);
88 sddExportConfigurator.setDoFeatureData(doFeatureData);
89 sddExportConfigurator.setDoDescriptions(doDescriptions);
90 sddExportConfigurator.setDoMedia(doMedia);
91 sddExportConfigurator.setDoOccurrence(doOccurrences);
92 sddExportConfigurator.setDoReferences(doReferences);
93 sddExportConfigurator.setDoReferencedEntities(doReferencedEntities);
94 sddExportConfigurator.setDoRelTaxa(doRelationships);
95 sddExportConfigurator.setDoSynonyms(doSynonyms);
96 sddExportConfigurator.setDoTaxonNames(doTaxonNames);
97 sddExportConfigurator.setDoTaxa(doTaxa);
98 sddExportConfigurator.setDoTerms(doTerms);
99 sddExportConfigurator.setDoTermVocabularies(doTermVocabularies);
100 sddExportConfigurator.setDoHomotypicalGroups(doHomotypicalGroups);
101
102 // invoke export
103 logger.debug("Invoking SDD export");
104 sddExport.invoke(sddExportConfigurator);
105
106 }
107
108 /**
109 * @param args
110 */
111 public static void main(String[] args) {
112
113 ViolaExportActivator vea = new ViolaExportActivator();
114
115 // CdmApplicationController appCtr = null;
116 // appCtr = sc.initDb(sourceDb);
117 // sc.loadTestData(appCtr);
118
119
120 vea.invokeExport();
121
122 }
123
124 }