Project

General

Profile

Download (19 KB) Statistics
| Branch: | Revision:
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.common;
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_alex(){
38
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
39
		String cdmServer = "192.168.2.10";
40
		String cdmDB = "cdm_production_palmae"; 
41
		String cdmUserName = "edit";
42
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
43
	}
44
	
45

    
46
	public static ICdmDataSource cdm_test_useSummary(){
47
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
48
		String cdmServer = "localhost";
49
		String cdmDB = "palmae_2011_07_17"; 
50
		String cdmUserName = "root";
51
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
52
	}
53
	
54
	public static ICdmDataSource cdm_test_local_mysql(){
55
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
56
		String cdmServer = "127.0.0.1";
57
		String cdmDB = "cdm_test"; 
58
		String cdmUserName = "edit";
59
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
60
	}
61
	
62
	public static ICdmDataSource cdm_test_local_mysql_pesi(){
63
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
64
		String cdmServer = "127.0.0.1";
65
		String cdmDB = "cdm_test"; 
66
		String cdmUserName = "root";
67
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
68
	}
69
	
70
	public static ICdmDataSource cdm_test_local_mysql_pesi_test(){
71
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
72
		String cdmServer = "127.0.0.1";
73
		String cdmDB = "test"; 
74
		String cdmUserName = "root";
75
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
76
	}
77

    
78
	public static ICdmDataSource cdm_test_local_mysql_dwca(){
79
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
80
		String cdmServer = "127.0.0.1";
81
		String cdmDB = "dwca"; 
82
		String cdmUserName = "edit";
83
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
84
	}
85

    
86
	
87
	public static ICdmDataSource cdm_test_local_mysql_fdac(){
88
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
89
		String cdmServer = "127.0.0.1";
90
		String cdmDB = "fdac"; 
91
		String cdmUserName = "edit";
92
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
93
	}
94
	
95
	public static ICdmDataSource cdm_test_local_mysql_test(){
96
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
97
		String cdmServer = "127.0.0.1";
98
		String cdmDB = "test"; 
99
		String cdmUserName = "edit";
100
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
101
	}
102
	
103
	public static ICdmDataSource cdm_corvidae_dev(){
104
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
105
		String cdmServer = "160.45.63.201";
106
		String cdmDB = "cdm_corvidae"; 
107
		String cdmUserName = "edit";
108
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
109
	}
110

    
111
	public static ICdmDataSource cdm_ildis_dev(){
112
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
113
		String cdmServer = "160.45.63.201";
114
		String cdmDB = "cdm_edit_ildis";
115
		String cdmUserName = "edit";
116
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
117
	}
118
	
119
//
120
//	public static ICdmDataSource cdm_ildis_production(){
121
//		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
122
//		String cdmServer = "160.45.63.151";
123
//		String cdmDB = "cdm_edit_ildis";
124
//		String cdmUserName = "edit";
125
//		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
126
//	}
127
	
128

    
129
	public static ICdmDataSource cdm_redlist_moose_dev(){
130
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
131
		String cdmServer = "160.45.63.201";
132
		String cdmDB = "cdm_redlist_moose";
133
		String cdmUserName = "edit";
134
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
135
	}
136
	
137
	public static ICdmDataSource cdm_redlist_standardlist_dev(){
138
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
139
		String cdmServer = "160.45.63.201";
140
		String cdmDB = "cdm_redlist_standardlist";
141
		String cdmUserName = "edit";
142
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
143
	}
144
	
145
	public static ICdmDataSource cdm_cyprus_dev(){
146
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
147
		String cdmServer = "160.45.63.201";
148
		String cdmDB = "cdm_cyprus";
149
		String cdmUserName = "edit";
150
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
151
	}
152
	
153
	public static ICdmDataSource cdm_cyprus_production(){
154
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
155
		String cdmServer = "160.45.63.151";
156
		String cdmDB = "cdm_production_cyprus";
157
		String cdmUserName = "edit";
158
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
159
	}
160

    
161
	public static ICdmDataSource cdm_cyprus_production_tunnel(){
162
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
163
		String cdmServer = "127.0.0.1";
164
		int port = 13306;
165
		String cdmDB = "cdm_production_cyprus";
166
		String cdmUserName = "edit";
167
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
168
	}
169
	
170
	public static ICdmDataSource cdm_cyprus_dev_tunnel(){
171
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
172
		String cdmServer = "127.0.0.1";
173
		int port = 13306;
174
		String cdmDB = "cdm_cyprus";
175
		String cdmUserName = "edit";
176
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
177
	}
178
	
179
	public static ICdmDataSource cdm_campanulaceae_production(){
180
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
181
		String cdmServer = "160.45.63.151";
182
		String cdmDB = "cdm_production_campanulaceae";
183
		String cdmUserName = "edit";
184
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
185
	}
186
	
187
	public static ICdmDataSource cdm_flora_malesiana_preview(){
188
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
189
		String cdmServer = "160.45.63.201";
190
		String cdmDB = "cdm_edit_flora_malesiana";
191
		String cdmUserName = "edit";
192
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
193
	}
194

    
195
	public static ICdmDataSource cdm_flora_malesiana_production(){
196
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
197
		String cdmServer = "160.45.63.151";
198
		String cdmDB = "cdm_production_flora_malesiana";
199
		String cdmUserName = "edit";
200
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
201
	}
202
	
203
	public static ICdmDataSource cdm_flora_central_africa_preview(){
204
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
205
		String cdmServer = "160.45.63.201";
206
		String cdmDB = "cdm_edit_flora_central_africa";
207
		String cdmUserName = "edit";
208
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
209
	}
210
	
211
	public static ICdmDataSource cdm_flora_central_africa_production(){
212
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
213
		String cdmServer = "160.45.63.151";
214
		String cdmDB = "cdm_production_flora_central_africa";
215
		String cdmUserName = "edit";
216
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
217
	}
218
	
219
	public static ICdmDataSource cdm_pesi_euroMed(){
220
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
221
		String cdmServer = "192.168.2.10";
222
		String cdmDB = "cdm_pesi_euroMed";
223
		String cdmUserName = "edit";
224
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
225
	}
226
	
227
	public static ICdmDataSource cdm_pesi_all(){
228
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
229
		String cdmServer = "192.168.2.10";
230
		String cdmDB = "cdm_pesi_all";
231
		String cdmUserName = "edit";
232
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
233
	}
234
	
235
	public static ICdmDataSource cdm_portal_test_localhost(){
236
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
237
		String cdmServer = "127.0.0.1";
238
		String cdmDB = "cdm_portal_test";
239
		String cdmUserName = "edit";
240
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
241
	}
242
	
243
	public static ICdmDataSource cdm_portal_test_localhost2(){
244
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
245
		String cdmServer = "127.0.0.1";
246
		String cdmDB = "cdm_portal_test2";
247
		String cdmUserName = "edit";
248
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
249
	}
250
	
251
	public static ICdmDataSource cdm_local_cichorieae(){
252
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
253
		String cdmServer = "127.0.0.1";
254
		String cdmDB = "cdm_edit_cichorieae";
255
		String cdmUserName = "edit";
256
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
257
	}
258
	
259
	public static ICdmDataSource cdm_local_dipera(){
260
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
261
		String cdmServer = "127.0.0.1";
262
		String cdmDB = "cdm_edit_diptera";
263
		String cdmUserName = "edit";
264
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
265
	}
266
	
267
	public static ICdmDataSource cdm_local_palmae(){
268
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
269
		String cdmServer = "127.0.0.1";
270
		String cdmDB = "cdm_edit_palmae";
271
		String cdmUserName = "edit";
272
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
273
	}
274
	
275
	public static ICdmDataSource cdm_local_globis(){
276
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
277
		String cdmServer = "127.0.0.1";
278
		String cdmDB = "cdm_globis";
279
		String cdmUserName = "edit";
280
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
281
	}
282

    
283
	public static ICdmDataSource cdm_local_postgres_CdmTest(){
284
		DatabaseTypeEnum dbType = DatabaseTypeEnum.PostgreSQL;
285
		String cdmServer = "127.0.0.1";
286
		String cdmDB = "CdmTest";
287
		String cdmUserName = "edit";
288
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
289
	}
290

    
291
	public static ICdmDataSource cdm_local_tdwg2010(){
292
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
293
		String cdmServer = "127.0.0.1";
294
		String cdmDB = "cdm_tdwg2010";
295
		String cdmUserName = "edit";
296
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
297
	}
298
	
299
	
300
	public static ICdmDataSource NULL(){
301
		return null;
302
	}
303
	
304
	
305
	public static ICdmDataSource localH2(){
306
		return CdmDataSource.NewH2EmbeddedInstance("cdm", "sa", "");
307
	}
308
	
309
	public static ICdmDataSource localH2(String database, String username, String filePath){
310
		return CdmDataSource.NewH2EmbeddedInstance(database, "sa", "", filePath, null);
311
	}
312
	
313
	public static ICdmDataSource localH2Salvador(){
314
		return CdmDataSource.NewH2EmbeddedInstance("salvador", "sa", "");
315
	}
316
	
317
	public static ICdmDataSource localH2Diptera(){
318
		return CdmDataSource.NewH2EmbeddedInstance("diptera", "sa", "");
319
	}
320
	
321
	
322
	public static ICdmDataSource localH2Cichorieae(){
323
		return CdmDataSource.NewH2EmbeddedInstance("cichorieae", "sa", "");
324
	}
325
	
326
	public static ICdmDataSource localH2Palmae(){
327
		return CdmDataSource.NewH2EmbeddedInstance("palmae", "sa", "");
328
	}
329
	
330
	public static ICdmDataSource localH2EuroMed(){
331
		return CdmDataSource.NewH2EmbeddedInstance("euroMed", "sa", "");
332
	}
333
	
334
	public static ICdmDataSource localH2Erms(){
335
		return CdmDataSource.NewH2EmbeddedInstance("erms", "sa", "");
336
	}
337
	
338
	public static ICdmDataSource localH2_viola(){
339
		return CdmDataSource.NewH2EmbeddedInstance("testViola", "sa", "");
340
	}
341
	
342
	public static ICdmDataSource localH2_LIAS(){
343
		return CdmDataSource.NewH2EmbeddedInstance("testLIAS", "sa", "");
344
	}
345
	
346
	public static ICdmDataSource localH2_Erythroneura(){
347
		return CdmDataSource.NewH2EmbeddedInstance("testErythroneura", "sa", "");
348
	}
349
	
350
	public static ICdmDataSource localH2_Cicad(){
351
		return CdmDataSource.NewH2EmbeddedInstance("testCicad", "sa", "");
352
	}
353
	
354
	public static ICdmDataSource localH2_ValRosandraFRIDAKey(){
355
		return CdmDataSource.NewH2EmbeddedInstance("testValRosandraFRIDAKey", "sa", "");
356
	}
357
	
358
	public static ICdmDataSource localH2_FreshwaterAquaticInsects(){
359
		return CdmDataSource.NewH2EmbeddedInstance("testFreshwaterAquaticInsects", "sa", "");
360
	}
361
	
362
	public static ICdmDataSource cdm_portal_test_pollux(){
363
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
364
		String cdmServer = "192.168.2.11";
365
		String cdmDB = "cdm_portal_test";
366
		String cdmUserName = "edit";
367
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
368
	}
369

    
370
	public static ICdmDataSource cdm_algaterra_preview(){
371
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
372
		String cdmServer = "160.45.63.201";
373
		String cdmDB = "cdm_edit_algaterra"; 
374
		String cdmUserName = "edit";
375
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
376
	}
377
	
378
	public static ICdmDataSource cdm_edit_cichorieae_local_PG(){
379
		DatabaseTypeEnum dbType = DatabaseTypeEnum.PostgreSQL;
380
		String cdmServer = "127.0.0.1";
381
		String cdmDB = "cdm_edit_cichorieae_a"; 
382
		String cdmUserName = "edit";
383
		int port = 15432;
384
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
385
	}
386

    
387
	public static ICdmDataSource cdm_cichorieae_preview(){
388
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
389
		String cdmServer = "160.45.63.201";
390
		String cdmDB = "cdm_edit_cichorieae"; 
391
		String cdmUserName = "edit";
392
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
393
	}
394
	
395
	public static ICdmDataSource cdm_production_cichorieae(){
396
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
397
		String cdmServer = "160.45.63.171";
398
//		String cdmServer = "127.0.0.1";
399
		String cdmDB = "cdm_production_cichorieae"; 
400
		String cdmUserName = "edit";
401
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
402
	}
403
	
404
	public static ICdmDataSource cdm_production_palmae(){
405
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
406
		String cdmServer = "160.45.63.151";
407
		String cdmDB = "cdm_production_palmae"; 
408
		String cdmUserName = "edit";
409
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
410
	}
411
	
412
	
413
	public static ICdmDataSource cdm_production_diptera(){
414
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
415
		String cdmServer = "160.45.63.151";
416
		String cdmDB = "cdm_production_diptera"; 
417
		String cdmUserName = "edit";
418
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
419
	}
420
	
421
	public static ICdmDataSource local_cdm_edit_cichorieae_a(){
422
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
423
		String cdmServer = "127.0.0.1";
424
		String cdmDB = "cdm_edit_cichorieae_a"; 
425
		String cdmUserName = "edit";
426
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
427
	}
428

    
429
	public static ICdmDataSource cdm_edit_palmae_a(){
430
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
431
		String cdmServer = "192.168.2.10";
432
		String cdmDB = "cdm_edit_palmae_a";
433
		String cdmUserName = "edit";
434
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
435
	}
436
	
437
	public static ICdmDataSource cdm_edit_cichorieae_preview(){
438
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
439
		String cdmServer = "127.0.0.1";
440
		String cdmDB = "cdm_edit_cichorieae"; 
441
		String cdmUserName = "edit";
442
		int port = 13306;
443
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
444
	}
445
	
446
	public static ICdmDataSource cdm_edit_cichorieae_preview_direct(){
447
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
448
		String cdmServer = "160.45.63.201";
449
		String cdmDB = "cdm_edit_cichorieae"; 
450
		String cdmUserName = "edit";
451
		int port = 3306;
452
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
453
	}
454
	
455
	public static ICdmDataSource cdm_edit_cichorieae_integration(){
456
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
457
		String cdmServer = "127.0.0.1";
458
		String cdmDB = "cdm_integration_cichorieae"; 
459
		String cdmUserName = "edit";
460
		int port = 13306;
461
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
462
	}
463

    
464
	public static ICdmDataSource cdm_edit_palmae_preview(){
465
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
466
		String cdmServer = "127.0.0.1";
467
		String cdmDB = "cdm_edit_palmae"; 
468
		String cdmUserName = "edit";
469
		int port = 13306;
470
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
471
	}		
472
	
473
	public static ICdmDataSource cdm_edit_salvador(){
474
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
475
		String cdmServer = "192.168.2.10";
476
		String cdmDB = "cdm_edit_salvador"; 
477
		String cdmUserName = "edit";
478
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
479
	}
480
	
481
	public static ICdmDataSource cdm_import_salvador() {
482
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
483
		String cdmServer = "192.168.2.10";
484
		String cdmDB = "cdm_import_salvador"; 
485
		String cdmUserName = "edit";
486
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
487
	}
488
	
489
	public static ICdmDataSource cdm_salvador_production() {
490
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
491
		String cdmServer = "192.168.2.10";
492
		String cdmDB = "salvador_cdm"; 
493
		String cdmUserName = "salvador";
494
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
495
	}
496
	
497
	
498
//	public static ICdmDataSource LAPTOP_HP(){
499
//		DatabaseTypeEnum dbType = DatabaseTypeEnum.SqlServer2005;
500
//		String cdmServer = "LAPTOPHP";
501
//		String cdmDB = "cdmTest"; 
502
//		String cdmUserName = "edit";
503
//		return makeDestination(cdmServer, cdmDB, -1, cdmUserName, null);
504
//	}
505
	
506
	
507

    
508
	 
509
	/**
510
	 * initializes source
511
	 * TODO only supports MySQL and PostgreSQL
512
	 * 
513
	 * @param dbType
514
	 * @param cdmServer
515
	 * @param cdmDB
516
	 * @param port
517
	 * @param cdmUserName
518
	 * @param pwd
519
	 * @return
520
	 */
521
	public static ICdmDataSource makeDestination(DatabaseTypeEnum dbType, String cdmServer, String cdmDB, int port, String cdmUserName, String pwd ){
522
		//establish connection
523
		pwd = AccountStore.readOrStorePassword(cdmServer, cdmDB, cdmUserName, pwd);
524
		ICdmDataSource destination;
525
		if(dbType.equals(DatabaseTypeEnum.MySQL)){
526
			destination = CdmDataSource.NewMySqlInstance(cdmServer, cdmDB, port, cdmUserName, pwd, null);			
527
		} else if(dbType.equals(DatabaseTypeEnum.PostgreSQL)){
528
			destination = CdmDataSource.NewPostgreSQLInstance(cdmServer, cdmDB, port, cdmUserName, pwd, null);			
529
		} else {
530
			//TODO others
531
			throw new RuntimeException("Unsupported DatabaseType");
532
		}
533
		return destination;
534

    
535
	}
536

    
537

    
538
	/**
539
	 * Accepts a string array and tries to find a method returning an ICdmDataSource with 
540
	 * the name of the given first string in the array
541
	 * 
542
	 * @param args
543
	 * @return
544
	 */
545
	public static ICdmDataSource chooseDestination(String[] args) {
546
		if(args == null)
547
			return null;
548
		
549
		if(args.length != 1)
550
			return null;
551
		
552
		String possibleDestination = args[0];
553
		
554
		Method[] methods = CdmDestinations.class.getMethods();
555
		
556
		for (Method method : methods){
557
			if(method.getName().equals(possibleDestination)){
558
				try {
559
					return (ICdmDataSource) method.invoke(null, null);
560
				} catch (IllegalArgumentException e) {
561
					// TODO Auto-generated catch block
562
					e.printStackTrace();
563
				} catch (IllegalAccessException e) {
564
					// TODO Auto-generated catch block
565
					e.printStackTrace();
566
				} catch (InvocationTargetException e) {
567
					// TODO Auto-generated catch block
568
					e.printStackTrace();
569
				}
570
			}
571
		}
572
		return null;
573
	}
574

    
575
}
576

    
(3-3/6)