Revision 0d988e0a
Added by Andreas Müller over 4 years ago
cdm-pesi/src/main/java/eu/etaxonomy/cdm/app/pesi/PesiExportActivatorFE.java | ||
---|---|---|
24 | 24 |
* @author a.mueller |
25 | 25 |
* @author e.-m.lee |
26 | 26 |
* @since 16.02.2010 |
27 |
* |
|
28 | 27 |
*/ |
29 | 28 |
public class PesiExportActivatorFE { |
30 | 29 |
@SuppressWarnings("unused") |
... | ... | |
34 | 33 |
static final Source pesiDestination = PesiDestinations.pesi_test_local_CDM_FE2PESI(); |
35 | 34 |
// static final Source pesiDestination = PesiDestinations.pesi_test_local_CDM_ERMS2PESI(); |
36 | 35 |
|
37 |
static final ICdmDataSource cdmSource = CdmDestinations.cdm_test_local_faunaEu_mysql(); |
|
38 |
// static final ICdmDataSource cdmSource = CdmDestinations.cdm_test_local_mysql();
|
|
36 |
// static final ICdmDataSource cdmSource = CdmDestinations.cdm_test_local_faunaEu_mysql();
|
|
37 |
static final ICdmDataSource cdmSource = CdmDestinations.cdm_test_local_pesi_leer();
|
|
39 | 38 |
|
40 |
//Taxon names can't be mapped to their CDM ids as PESI Taxon table mainly holds taxa and there IDs. We ad nameIdStart to the TaxonName id to get a unique id |
|
41 |
static final int nameIdStart = 10000000; |
|
39 |
// ****************** ALL ***************************************** |
|
42 | 40 |
|
43 |
static final int partitionSize = 2000; |
|
41 |
boolean deleteAll = true; |
|
42 |
DO_REFERENCES doReferences = DO_REFERENCES.ALL; |
|
43 |
boolean doTaxa = true; |
|
44 |
boolean doTreeIndex = true; |
|
45 |
boolean doInferredSynonyms = false; //xx takes long, unclear what it does |
|
46 |
boolean doRelTaxa = true; |
|
47 |
boolean doAdditionalTaxonSource = true; |
|
48 |
boolean doDescriptions = true; |
|
49 |
boolean doEcologyAndLink = true; |
|
44 | 50 |
|
45 |
//check - export |
|
46 |
static final CHECK check = CHECK.EXPORT_WITHOUT_CHECK; |
|
51 |
// ************************ NONE **************************************** // |
|
47 | 52 |
|
48 |
static final boolean deleteAll = true; |
|
53 |
// boolean deleteAll = false; |
|
54 |
// static DO_REFERENCES doReferences = DO_REFERENCES.NONE; |
|
55 |
// boolean doTaxa = false; |
|
56 |
// boolean doTreeIndex = doTaxa; //only with doTaxa |
|
57 |
// boolean doInferredSynonyms = false; //only with doTaxa |
|
58 |
// boolean doRelTaxa = false; |
|
59 |
// boolean doAdditionalTaxonSource = false; |
|
60 |
// boolean doDescriptions = false; |
|
61 |
// boolean doEcologyAndLink = doDescriptions; |
|
49 | 62 |
|
50 |
static final IdType idType = IdType.CDM_ID_WITH_EXCEPTIONS;
|
|
63 |
static boolean doPureNames = false; //FE has no pure names; TODO test if true
|
|
51 | 64 |
|
52 |
// ****************** ALL ***************************************** |
|
65 |
//check - export |
|
66 |
static final CHECK check = CHECK.EXPORT_WITHOUT_CHECK; |
|
53 | 67 |
|
54 |
//references |
|
55 |
static final DO_REFERENCES doReferences = DO_REFERENCES.ALL; |
|
68 |
//Taxon names can't be mapped to their CDM ids as PESI Taxon table mainly holds taxa and there IDs. We ad nameIdStart to the TaxonName id to get a unique id |
|
69 |
static final int nameIdStart = 10000000; |
|
70 |
static final IdType idType = IdType.CDM_ID_WITH_EXCEPTIONS; |
|
56 | 71 |
|
57 |
//taxa |
|
58 |
static final boolean doTaxa = true; |
|
59 |
static final boolean doRelTaxa = true; |
|
60 |
static final boolean doNotes = true; |
|
61 |
static final boolean doNoteSources = true; |
|
62 |
static final boolean doAdditionalTaxonSource = true; |
|
63 |
static final boolean doOccurrence = true; |
|
64 |
static final boolean doOccurrenceSource = true; |
|
65 |
static final boolean doImage = true; |
|
66 |
static final boolean doTreeIndex = true; |
|
67 |
static final boolean doRank = true; |
|
68 |
static final boolean doInferredSynonyms = true; |
|
69 |
static final boolean doPureNames = false; // !!! |
|
70 |
static final boolean doDescription = true; |
|
72 |
static final int partitionSize = 1000; |
|
71 | 73 |
|
74 |
public boolean doExport(ICdmDataSource source, Source destination){ |
|
75 |
System.out.println("Start export from " + source.getDatabase() + " to PESI ("+ pesiDestination.getDatabase() + ") ..."); |
|
72 | 76 |
|
73 |
// ************************ NONE **************************************** //
|
|
77 |
PesiTransformer transformer = new PesiTransformer(destination);
|
|
74 | 78 |
|
75 |
// //references |
|
76 |
// static final DO_REFERENCES doReferences = DO_REFERENCES.NONE; |
|
77 |
// |
|
78 |
// //taxa |
|
79 |
// static final boolean doTaxa = false; |
|
80 |
// static final boolean doRelTaxa = false; |
|
81 |
// static final boolean doNotes = false; |
|
82 |
// static final boolean doNoteSources = false; |
|
83 |
// static final boolean doAdditionalTaxonSource = false; |
|
84 |
// static final boolean doOccurrence = false; |
|
85 |
// static final boolean doOccurrenceSource = false; |
|
86 |
// static final boolean doImage = false; |
|
87 |
// static final boolean doTreeIndex = true; |
|
88 |
// static final boolean doRank = true; |
|
89 |
// static final boolean doInferredSynonyms = true; |
|
90 |
// static final boolean doDescription = false; |
|
91 |
|
|
92 |
|
|
93 |
public boolean doExport(ICdmDataSource source){ |
|
94 |
System.out.println("Start export to PESI ("+ pesiDestination.getDatabase() + ") ..."); |
|
95 |
|
|
96 |
//make PESI Source |
|
97 |
Source destination = pesiDestination; |
|
98 |
PesiTransformer transformer = new PesiTransformer(destination); |
|
99 |
|
|
100 |
PesiExportConfigurator config = PesiExportConfigurator.NewInstance(destination, source, transformer); |
|
101 |
|
|
102 |
config.setDoTaxa(doTaxa); |
|
103 |
config.setDoRelTaxa(doRelTaxa); |
|
104 |
config.setDoOccurrence(doOccurrence); |
|
105 |
config.setDoReferences(doReferences); |
|
106 |
config.setDoImages(doImage); |
|
107 |
config.setDoNotes(doNotes); |
|
108 |
config.setDoNoteSources(doNoteSources); |
|
109 |
config.setDoOccurrenceSource(doOccurrenceSource); |
|
110 |
config.setDoTreeIndex(doTreeIndex); |
|
111 |
config.setDoInferredSynonyms(doInferredSynonyms); |
|
112 |
config.setDoPureNames(doPureNames); |
|
113 |
config.setDoDescription(doDescription); |
|
114 |
|
|
115 |
config.setCheck(check); |
|
116 |
config.setLimitSave(partitionSize); |
|
117 |
config.setIdType(idType); |
|
118 |
config.setNameIdStart(nameIdStart); |
|
119 |
if (deleteAll){ |
|
120 |
destination.update("EXEC sp_deleteAllData"); |
|
121 |
} |
|
122 |
|
|
123 |
|
|
124 |
// invoke export |
|
125 |
CdmDefaultExport<PesiExportConfigurator> pesiExport = new CdmDefaultExport<PesiExportConfigurator>(); |
|
126 |
|
|
127 |
boolean result = pesiExport.invoke(config).isSuccess(); |
|
128 |
|
|
129 |
System.out.println("End export to PESI ("+ destination.getDatabase() + ")..." + (result? "(successful)":"(with errors)")); |
|
130 |
return result; |
|
131 |
} |
|
79 |
PesiExportConfigurator config = PesiExportConfigurator.NewInstance(destination, source, transformer); |
|
80 |
|
|
81 |
config.setDoTreeIndex(doTreeIndex); //only with doTaxa |
|
82 |
config.setDoInferredSynonyms(doInferredSynonyms); //only with doTaxa |
|
83 |
|
|
84 |
config.setDoReferences(doReferences); |
|
85 |
config.setDoTaxa(doTaxa); |
|
86 |
config.setDoRelTaxa(doRelTaxa); |
|
87 |
config.setDoAdditionalTaxonSource(doAdditionalTaxonSource); |
|
88 |
config.setDoDescription(doDescriptions); |
|
89 |
config.setDoEcologyAndLink(doEcologyAndLink); |
|
90 |
|
|
91 |
// config.setDoOccurrence(doOccurrence); |
|
92 |
// config.setDoOccurrenceSource(doOccurrenceSource); |
|
93 |
// config.setDoNotes(doNotes); |
|
94 |
// config.setDoNoteSources(doNoteSources); |
|
95 |
// config.setDoImages(doImage); |
|
96 |
|
|
97 |
config.setDoPureNames(doPureNames); |
|
98 |
|
|
99 |
config.setCheck(check); |
|
100 |
config.setLimitSave(partitionSize); |
|
101 |
config.setIdType(idType); |
|
102 |
config.setNameIdStart(nameIdStart); |
|
103 |
if (deleteAll){ |
|
104 |
destination.update("EXEC sp_deleteAllData"); |
|
105 |
} |
|
106 |
|
|
107 |
// invoke export |
|
108 |
CdmDefaultExport<PesiExportConfigurator> pesiExport = new CdmDefaultExport<>(); |
|
109 |
boolean result = pesiExport.invoke(config).isSuccess(); |
|
110 |
|
|
111 |
System.out.println("End export to PESI ("+ destination.getDatabase() + ")..." + (result? "(successful)":"(with errors)")); |
|
112 |
return result; |
|
113 |
} |
|
132 | 114 |
|
133 |
/** |
|
134 |
* @param args |
|
135 |
*/ |
|
136 | 115 |
public static void main(String[] args) { |
137 | 116 |
PesiExportActivatorFE ex = new PesiExportActivatorFE(); |
138 | 117 |
ICdmDataSource source = CdmDestinations.chooseDestination(args) != null ? CdmDestinations.chooseDestination(args) : cdmSource; |
139 |
|
|
140 |
ex.doExport(source); |
|
118 |
ex.doExport(source, pesiDestination); |
|
141 | 119 |
} |
142 |
|
|
143 | 120 |
} |
Also available in: Unified diff
ref #8643 adapt PesiExportActivatorFE to current state