Project

General

Profile

Download (18.3 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 = "edit";
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
	
104
	public static ICdmDataSource cdm_portal(){
105
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
106
		String cdmServer = "192.168.2.10";
107
		String cdmDB = "cdm_portal";
108
		String cdmUserName = "edit";
109
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
110
	}
111
	
112
	public static ICdmDataSource cdm_portal_test(){
113
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
114
		String cdmServer = "192.168.2.10";
115
		String cdmDB = "cdm_portal_test";
116
		String cdmUserName = "edit";
117
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
118
	}
119

    
120
	public static ICdmDataSource cdm_pesi_erms(){
121
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
122
		String cdmServer = "192.168.2.10";
123
		String cdmDB = "cdm_pesi_erms";
124
		String cdmUserName = "edit";
125
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
126
	}
127

    
128

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

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

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

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

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

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

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

    
430
	public static ICdmDataSource cdm_edit_palmae_a(){
431
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
432
		String cdmServer = "192.168.2.10";
433
		String cdmDB = "cdm_edit_palmae_a";
434
		String cdmUserName = "edit";
435
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
436
	}
437
	
438
	public static ICdmDataSource cdm_edit_cichorieae_preview(){
439
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
440
		String cdmServer = "127.0.0.1";
441
		String cdmDB = "cdm_edit_cichorieae"; 
442
		String cdmUserName = "edit";
443
		int port = 13306;
444
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
445
	}
446

    
447
	public static ICdmDataSource cdm_edit_palmae_preview(){
448
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
449
		String cdmServer = "127.0.0.1";
450
		String cdmDB = "cdm_edit_palmae"; 
451
		String cdmUserName = "edit";
452
		int port = 13306;
453
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
454
	}		
455
	
456
	public static ICdmDataSource cdm_edit_salvador(){
457
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
458
		String cdmServer = "192.168.2.10";
459
		String cdmDB = "cdm_edit_salvador"; 
460
		String cdmUserName = "edit";
461
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
462
	}
463
	
464
	public static ICdmDataSource cdm_import_salvador() {
465
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
466
		String cdmServer = "192.168.2.10";
467
		String cdmDB = "cdm_import_salvador"; 
468
		String cdmUserName = "edit";
469
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
470
	}
471
	
472
	public static ICdmDataSource cdm_salvador_production() {
473
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
474
		String cdmServer = "192.168.2.10";
475
		String cdmDB = "salvador_cdm"; 
476
		String cdmUserName = "salvador";
477
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
478
	}
479
	
480
	
481
//	public static ICdmDataSource LAPTOP_HP(){
482
//		DatabaseTypeEnum dbType = DatabaseTypeEnum.SqlServer2005;
483
//		String cdmServer = "LAPTOPHP";
484
//		String cdmDB = "cdmTest"; 
485
//		String cdmUserName = "edit";
486
//		return makeDestination(cdmServer, cdmDB, -1, cdmUserName, null);
487
//	}
488
	
489
	
490

    
491
	 
492
	/**
493
	 * initializes source
494
	 * TODO only supports MySQL and PostgreSQL
495
	 * 
496
	 * @param dbType
497
	 * @param cdmServer
498
	 * @param cdmDB
499
	 * @param port
500
	 * @param cdmUserName
501
	 * @param pwd
502
	 * @return
503
	 */
504
	public static ICdmDataSource makeDestination(DatabaseTypeEnum dbType, String cdmServer, String cdmDB, int port, String cdmUserName, String pwd ){
505
		//establish connection
506
		pwd = AccountStore.readOrStorePassword(cdmServer, cdmDB, cdmUserName, pwd);
507
		ICdmDataSource destination;
508
		if(dbType.equals(DatabaseTypeEnum.MySQL)){
509
			destination = CdmDataSource.NewMySqlInstance(cdmServer, cdmDB, port, cdmUserName, pwd, null);			
510
		} else if(dbType.equals(DatabaseTypeEnum.PostgreSQL)){
511
			destination = CdmDataSource.NewPostgreSQLInstance(cdmServer, cdmDB, port, cdmUserName, pwd, null);			
512
		} else {
513
			//TODO others
514
			throw new RuntimeException("Unsupported DatabaseType");
515
		}
516
		return destination;
517

    
518
	}
519

    
520

    
521
	/**
522
	 * Accepts a string array and tries to find a method returning an ICdmDataSource with 
523
	 * the name of the given first string in the array
524
	 * 
525
	 * @param args
526
	 * @return
527
	 */
528
	public static ICdmDataSource chooseDestination(String[] args) {
529
		if(args == null)
530
			return null;
531
		
532
		if(args.length != 1)
533
			return null;
534
		
535
		String possibleDestination = args[0];
536
		
537
		Method[] methods = CdmDestinations.class.getMethods();
538
		
539
		for (Method method : methods){
540
			if(method.getName().equals(possibleDestination)){
541
				try {
542
					return (ICdmDataSource) method.invoke(null, null);
543
				} catch (IllegalArgumentException e) {
544
					// TODO Auto-generated catch block
545
					e.printStackTrace();
546
				} catch (IllegalAccessException e) {
547
					// TODO Auto-generated catch block
548
					e.printStackTrace();
549
				} catch (InvocationTargetException e) {
550
					// TODO Auto-generated catch block
551
					e.printStackTrace();
552
				}
553
			}
554
		}
555
		return null;
556
	}
557

    
558
}
559

    
(3-3/6)