Update eflora destinations
[cdmlib-apps.git] / cdm-eflora / src / main / java / eu / etaxonomy / cdm / app / eflora / CdmDestinations.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.eflora;
11
12 import java.lang.reflect.InvocationTargetException;
13 import java.lang.reflect.Method;
14
15 import org.apache.log4j.Logger;
16
17 import eu.etaxonomy.cdm.common.AccountStore;
18 import eu.etaxonomy.cdm.database.CdmDataSource;
19 import eu.etaxonomy.cdm.database.DatabaseTypeEnum;
20 import eu.etaxonomy.cdm.database.ICdmDataSource;
21
22 public class CdmDestinations {
23 @SuppressWarnings("unused")
24 private static Logger logger = Logger.getLogger(CdmDestinations.class);
25
26 /**
27 * Intended to be used for imports
28 */
29 public static ICdmDataSource import_a(){
30 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
31 String cdmServer = "localhost";
32 String cdmDB = "import_a";
33 String cdmUserName = "root";
34 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
35 }
36
37 public static ICdmDataSource cdm_test_local_mysql(){
38 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
39 String cdmServer = "127.0.0.1";
40 String cdmDB = "cdm_test";
41 String cdmUserName = "root";
42 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
43 }
44
45 public static ICdmDataSource cdm_test_local_mysql_fdac(){
46 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
47 String cdmServer = "127.0.0.1";
48 String cdmDB = "fdac";
49 String cdmUserName = "edit";
50 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
51 }
52
53 public static ICdmDataSource cdm_test_local_mysql_test(){
54 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
55 String cdmServer = "127.0.0.1";
56 String cdmDB = "test";
57 String cdmUserName = "edit";
58 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
59 }
60
61 public static ICdmDataSource cdm_test_local_fdac(){
62 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
63 String cdmServer = "127.0.0.1";
64 String cdmDB = "fdac";
65 String cdmUserName = "root";
66 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
67 }
68
69 public static ICdmDataSource cdm_ildis_dev(){
70 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
71 String cdmServer = "160.45.63.201";
72 String cdmDB = "cdm_edit_ildis";
73 String cdmUserName = "edit";
74 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
75 }
76
77
78 public static ICdmDataSource cdm_campanulaceae_production(){
79 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
80 String cdmServer = "160.45.63.171";
81 String cdmDB = "cdm_production_campanulaceae";
82 String cdmUserName = "edit";
83 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
84 }
85
86 public static ICdmDataSource cdm_flora_malesiana_preview(){
87 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
88 String cdmServer = "160.45.63.175";
89 String cdmDB = "cdm_edit_flora_malesiana";
90 String cdmUserName = "edit";
91 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
92 }
93
94 public static ICdmDataSource cdm_flora_malesiana_production(){
95 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
96 String cdmServer = "160.45.63.171";
97 String cdmDB = "cdm_production_flora_malesiana";
98 String cdmUserName = "edit";
99 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
100 }
101
102 public static ICdmDataSource cdm_flora_malesiana_prospective_production(){
103 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
104 String cdmServer = "160.45.63.171";
105 String cdmDB = "cdm_production_flora_malesiana_prospective";
106 String cdmUserName = "edit";
107 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
108 }
109
110
111 public static ICdmDataSource cdm_flora_guianas_preview(){
112 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
113 String cdmServer = "160.45.63.175";
114 String cdmDB = "cdm_flora_guianas";
115 String cdmUserName = "edit";
116 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
117 }
118
119 public static ICdmDataSource cdm_flora_guianas_production(){
120 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
121 String cdmServer = "160.45.63.171";
122 String cdmDB = "cdm_production_flora_guianas";
123 String cdmUserName = "edit";
124 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
125 }
126
127 public static ICdmDataSource cdm_flore_gabon_preview(){
128 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
129 String cdmServer = "160.45.63.175";
130 String cdmDB = "cdm_flore_gabon";
131 String cdmUserName = "edit";
132 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
133 }
134
135 public static ICdmDataSource cdm_flore_gabon_production(){
136 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
137 String cdmServer = "160.45.63.171";
138 String cdmDB = "cdm_production_flore_gabon";
139 String cdmUserName = "edit";
140 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
141 }
142
143
144 public static ICdmDataSource cdm_flora_central_africa_preview(){
145 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
146 String cdmServer = "160.45.63.175";
147 String cdmDB = "cdm_edit_flora_central_africa";
148 String cdmUserName = "edit";
149 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
150 }
151
152 public static ICdmDataSource cdm_flora_central_africa_production(){
153 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
154 String cdmServer = "160.45.63.171";
155 String cdmDB = "cdm_production_flora_central_africa";
156 String cdmUserName = "edit";
157 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
158 }
159
160 public static ICdmDataSource cdm_portal_test_localhost(){
161 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
162 String cdmServer = "127.0.0.1";
163 String cdmDB = "cdm_portal_test";
164 String cdmUserName = "edit";
165 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
166 }
167
168 public static ICdmDataSource cdm_portal_test_localhost2(){
169 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
170 String cdmServer = "127.0.0.1";
171 String cdmDB = "cdm_portal_test2";
172 String cdmUserName = "edit";
173 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
174 }
175
176 public static ICdmDataSource cdm_local_postgres_CdmTest(){
177 DatabaseTypeEnum dbType = DatabaseTypeEnum.PostgreSQL;
178 String cdmServer = "127.0.0.1";
179 String cdmDB = "CdmTest";
180 String cdmUserName = "edit";
181 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
182 }
183
184
185
186 public static ICdmDataSource NULL(){
187 return null;
188 }
189
190
191 public static ICdmDataSource localH2(){
192 return CdmDataSource.NewH2EmbeddedInstance("cdm", "sa", "");
193 }
194
195 public static ICdmDataSource localH2(String database, String username, String filePath){
196 return CdmDataSource.NewH2EmbeddedInstance(database, "sa", "", filePath, null);
197 }
198
199 public static ICdmDataSource localH2Salvador(){
200 return CdmDataSource.NewH2EmbeddedInstance("salvador", "sa", "");
201 }
202
203 public static ICdmDataSource localH2Diptera(){
204 return CdmDataSource.NewH2EmbeddedInstance("diptera", "sa", "");
205 }
206
207
208 public static ICdmDataSource localH2Cichorieae(){
209 return CdmDataSource.NewH2EmbeddedInstance("cichorieae", "sa", "");
210 }
211
212 public static ICdmDataSource localH2Palmae(){
213 return CdmDataSource.NewH2EmbeddedInstance("palmae", "sa", "");
214 }
215
216 public static ICdmDataSource localH2EuroMed(){
217 return CdmDataSource.NewH2EmbeddedInstance("euroMed", "sa", "");
218 }
219
220 public static ICdmDataSource localH2Erms(){
221 return CdmDataSource.NewH2EmbeddedInstance("erms", "sa", "");
222 }
223
224 public static ICdmDataSource localH2_viola(){
225 return CdmDataSource.NewH2EmbeddedInstance("testViola", "sa", "");
226 }
227
228 public static ICdmDataSource localH2_LIAS(){
229 return CdmDataSource.NewH2EmbeddedInstance("testLIAS", "sa", "");
230 }
231
232 public static ICdmDataSource localH2_Erythroneura(){
233 return CdmDataSource.NewH2EmbeddedInstance("testErythroneura", "sa", "");
234 }
235
236 public static ICdmDataSource localH2_Cicad(){
237 return CdmDataSource.NewH2EmbeddedInstance("testCicad", "sa", "");
238 }
239
240 public static ICdmDataSource localH2_ValRosandraFRIDAKey(){
241 return CdmDataSource.NewH2EmbeddedInstance("testValRosandraFRIDAKey", "sa", "");
242 }
243
244 public static ICdmDataSource localH2_FreshwaterAquaticInsects(){
245 return CdmDataSource.NewH2EmbeddedInstance("testFreshwaterAquaticInsects", "sa", "");
246 }
247
248 public static ICdmDataSource cdm_portal_test_pollux(){
249 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
250 String cdmServer = "192.168.2.11";
251 String cdmDB = "cdm_portal_test";
252 String cdmUserName = "edit";
253 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
254 }
255
256 public static ICdmDataSource cdm_algaterra_preview(){
257 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
258 String cdmServer = "160.45.63.201";
259 String cdmDB = "cdm_edit_algaterra";
260 String cdmUserName = "edit";
261 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
262 }
263
264 public static ICdmDataSource cdm_edit_cichorieae_PG(){
265 DatabaseTypeEnum dbType = DatabaseTypeEnum.PostgreSQL;
266 String cdmServer = "127.0.0.1";
267 String cdmDB = "cdm_edit_cichorieae_a";
268 String cdmUserName = "edit";
269 int port = 15432;
270 return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
271 }
272
273 public static ICdmDataSource cdm_cichorieae_preview(){
274 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
275 String cdmServer = "160.45.63.201";
276 String cdmDB = "cdm_edit_cichorieae";
277 String cdmUserName = "edit";
278 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
279 }
280
281 public static ICdmDataSource cdm_production_cichorieae(){
282 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
283 String cdmServer = "160.45.63.151";
284 // String cdmServer = "127.0.0.1";
285 String cdmDB = "cdm_production_cichorieae";
286 String cdmUserName = "edit";
287 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
288 }
289
290 public static ICdmDataSource cdm_production_palmae(){
291 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
292 String cdmServer = "160.45.63.151";
293 String cdmDB = "cdm_production_palmae";
294 String cdmUserName = "edit";
295 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
296 }
297
298
299 public static ICdmDataSource cdm_production_diptera(){
300 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
301 String cdmServer = "160.45.63.151";
302 String cdmDB = "cdm_production_diptera";
303 String cdmUserName = "edit";
304 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
305 }
306
307 public static ICdmDataSource local_cdm_edit_cichorieae_a(){
308 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
309 String cdmServer = "127.0.0.1";
310 String cdmDB = "cdm_edit_cichorieae_a";
311 String cdmUserName = "edit";
312 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
313 }
314
315 public static ICdmDataSource local_cdm_edit_cichorieae_b(){
316 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
317 String cdmServer = "127.0.0.1";
318 String cdmDB = "cdm_edit_cichorieae_b";
319 String cdmUserName = "edit";
320 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
321 }
322
323 public static ICdmDataSource cdm_edit_palmae_a(){
324 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
325 String cdmServer = "192.168.2.10";
326 String cdmDB = "cdm_edit_palmae_a";
327 String cdmUserName = "edit";
328 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
329 }
330
331 public static ICdmDataSource cdm_edit_diptera_preview_B(){
332 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
333 String cdmServer = "127.0.0.1";
334 String cdmDB = "cdm_edit_diptera_b";
335 String cdmUserName = "edit";
336 int port = 13306;
337 return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
338 }
339
340 public static ICdmDataSource cdm_edit_cichorieae_preview(){
341 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
342 String cdmServer = "127.0.0.1";
343 String cdmDB = "cdm_edit_cichorieae";
344 String cdmUserName = "edit";
345 int port = 13306;
346 return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
347 }
348
349 public static ICdmDataSource cdm_edit_palmae_preview(){
350 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
351 String cdmServer = "127.0.0.1";
352 String cdmDB = "cdm_edit_palmae";
353 String cdmUserName = "edit";
354 int port = 13306;
355 return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
356 }
357
358 public static ICdmDataSource cdm_edit_salvador(){
359 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
360 String cdmServer = "192.168.2.10";
361 String cdmDB = "cdm_edit_salvador";
362 String cdmUserName = "edit";
363 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
364 }
365
366 public static ICdmDataSource cdm_import_salvador() {
367 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
368 String cdmServer = "192.168.2.10";
369 String cdmDB = "cdm_import_salvador";
370 String cdmUserName = "edit";
371 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
372 }
373
374 public static ICdmDataSource cdm_salvador_production() {
375 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
376 String cdmServer = "192.168.2.10";
377 String cdmDB = "salvador_cdm";
378 String cdmUserName = "salvador";
379 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
380 }
381
382
383 // public static ICdmDataSource LAPTOP_HP(){
384 // DatabaseTypeEnum dbType = DatabaseTypeEnum.SqlServer2005;
385 // String cdmServer = "LAPTOPHP";
386 // String cdmDB = "cdmTest";
387 // String cdmUserName = "edit";
388 // return makeDestination(cdmServer, cdmDB, -1, cdmUserName, null);
389 // }
390
391
392
393
394 /**
395 * initializes source
396 * TODO only supports MySQL and PostgreSQL
397 *
398 * @param dbType
399 * @param cdmServer
400 * @param cdmDB
401 * @param port
402 * @param cdmUserName
403 * @param pwd
404 * @return
405 */
406 private static ICdmDataSource makeDestination(DatabaseTypeEnum dbType, String cdmServer, String cdmDB, int port, String cdmUserName, String pwd ){
407 //establish connection
408 pwd = AccountStore.readOrStorePassword(cdmServer, cdmDB, cdmUserName, pwd);
409 ICdmDataSource destination;
410 if(dbType.equals(DatabaseTypeEnum.MySQL)){
411 destination = CdmDataSource.NewMySqlInstance(cdmServer, cdmDB, port, cdmUserName, pwd, null);
412 } else if(dbType.equals(DatabaseTypeEnum.PostgreSQL)){
413 destination = CdmDataSource.NewPostgreSQLInstance(cdmServer, cdmDB, port, cdmUserName, pwd, null);
414 } else {
415 //TODO others
416 throw new RuntimeException("Unsupported DatabaseType");
417 }
418 return destination;
419
420 }
421
422
423 /**
424 * Accepts a string array and tries to find a method returning an ICdmDataSource with
425 * the name of the given first string in the array
426 *
427 * @param args
428 * @return
429 */
430 public static ICdmDataSource chooseDestination(String[] args) {
431 if(args == null)
432 return null;
433
434 if(args.length != 1)
435 return null;
436
437 String possibleDestination = args[0];
438
439 Method[] methods = CdmDestinations.class.getMethods();
440
441 for (Method method : methods){
442 if(method.getName().equals(possibleDestination)){
443 try {
444 return (ICdmDataSource) method.invoke(null, null);
445 } catch (IllegalArgumentException e) {
446 // TODO Auto-generated catch block
447 e.printStackTrace();
448 } catch (IllegalAccessException e) {
449 // TODO Auto-generated catch block
450 e.printStackTrace();
451 } catch (InvocationTargetException e) {
452 // TODO Auto-generated catch block
453 e.printStackTrace();
454 }
455 }
456 }
457 return null;
458 }
459
460 }
461