Project

General

Profile

Download (19.1 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
	public static ICdmDataSource cdm_test_useSummary(){
28
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
29
		String cdmServer = "localhost";
30
		String cdmDB = "palmae_2011_07_17";
31
		String cdmUserName = "root";
32
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
33
	}
34

    
35
	public static ICdmDataSource cdm_test_local_mysql(){
36
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
37
		String cdmServer = "127.0.0.1";
38
		String cdmDB = "cdm_test";
39
		String cdmUserName = "root";
40
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
41
	}
42

    
43

    
44
	public static ICdmDataSource cdm_test_local_mysql_moose(){
45
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
46
		String cdmServer = "127.0.0.1";
47
		String cdmDB = "moose";
48
		String cdmUserName = "root";
49
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
50
	}
51

    
52
	public static ICdmDataSource cdm_test_local_mysql_standardliste(){
53
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
54
		String cdmServer = "127.0.0.1";
55
		String cdmDB = "standardliste";
56
		String cdmUserName = "root";
57
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
58
	}
59
	public static ICdmDataSource cdm_test_local_mysql_standardliste2(){
60
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
61
		String cdmServer = "127.0.0.1";
62
		String cdmDB = "standardliste2"; 
63
		String cdmUserName = "root";
64
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
65
	}
66

    
67

    
68
	public static ICdmDataSource cdm_test_local_mysql_dwca(){
69
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
70
		String cdmServer = "127.0.0.1";
71
		String cdmDB = "dwca";
72
		String cdmUserName = "edit";
73
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
74
	}
75

    
76

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

    
85
	public static ICdmDataSource cdm_test_local_mysql_test(){
86
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
87
		String cdmServer = "127.0.0.1";
88
		String cdmDB = "test";
89
		String cdmUserName = "root";     //root on pesiimport2
90
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
91
	}
92

    
93
	public static ICdmDataSource cdm_test_local_euromed(){
94
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
95
		String cdmServer = "127.0.0.1";
96
		String cdmDB = "euroMed";
97
		String cdmUserName = "root";
98
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
99
	}
100
	
101
	public static ICdmDataSource cdm_local_EDITImport(){
102
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
103
		String cdmServer = "127.0.0.1";
104
		String cdmDB = "EDITImport";
105
		String cdmUserName = "edit";     //root on pesiimport2
106
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
107
	}
108

    
109
	public static ICdmDataSource cdm_corvidae_dev(){
110
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
111
		String cdmServer = "160.45.63.175";
112
		String cdmDB = "cdm_corvidae";
113
		String cdmUserName = "edit";
114
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
115
	}
116

    
117
	public static ICdmDataSource cdm_ildis_dev(){
118
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
119
		String cdmServer = "160.45.63.175";
120
		String cdmDB = "cdm_edit_ildis";
121
		String cdmUserName = "edit";
122
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
123
	}
124

    
125
//
126
//	public static ICdmDataSource cdm_ildis_production(){
127
//		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
128
//		String cdmServer = "160.45.63.171";
129
//		String cdmDB = "cdm_edit_ildis";
130
//		String cdmUserName = "edit";
131
//		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
132
//	}
133

    
134

    
135
	public static ICdmDataSource cdm_redlist_moose_dev(){
136
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
137
		String cdmServer = "160.45.63.175";
138
		String cdmDB = "cdm_mt_moose";
139
		String cdmUserName = "edit";
140
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
141
	}
142

    
143
	public static ICdmDataSource cdm_redlist_standardlist_dev(){
144
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
145
		String cdmServer = "160.45.63.175";
146
		String cdmDB = "cdm_mt_standardliste";
147
		String cdmUserName = "edit";
148
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
149
	}
150

    
151
	public static ICdmDataSource cdm_cyprus_dev(){
152
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
153
		String cdmServer = "160.45.63.175";
154
		String cdmDB = "cdm_cyprus";
155
		String cdmUserName = "edit";
156
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
157
	}
158

    
159
	public static ICdmDataSource cdm_cyprus_production(){
160
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
161
		String cdmServer = "160.45.63.171";
162
		String cdmDB = "cdm_production_cyprus";
163
		String cdmUserName = "edit";
164
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
165
	}
166

    
167
	public static ICdmDataSource cdm_cyprus_production_tunnel(){
168
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
169
		String cdmServer = "127.0.0.1";
170
		int port = 13306;
171
		String cdmDB = "cdm_production_cyprus";
172
		String cdmUserName = "edit";
173
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
174
	}
175

    
176
	public static ICdmDataSource cdm_cyprus_dev_tunnel(){
177
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
178
		String cdmServer = "127.0.0.1";
179
		int port = 13306;
180
		String cdmDB = "cdm_cyprus";
181
		String cdmUserName = "edit";
182
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
183
	}
184

    
185
	public static ICdmDataSource cdm_campanulaceae_production(){
186
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
187
		String cdmServer = "160.45.63.171";
188
		String cdmDB = "cdm_production_campanulaceae";
189
		String cdmUserName = "edit";
190
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
191
	}
192

    
193
	public static ICdmDataSource cdm_flora_malesiana_preview(){
194
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
195
		String cdmServer = "160.45.63.175";
196
		String cdmDB = "cdm_edit_flora_malesiana";
197
		String cdmUserName = "edit";
198
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
199
	}
200

    
201
	public static ICdmDataSource cdm_flora_malesiana_production(){
202
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
203
		String cdmServer = "160.45.63.171";
204
		String cdmDB = "cdm_production_flora_malesiana";
205
		String cdmUserName = "edit";
206
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
207
	}
208

    
209
	public static ICdmDataSource cdm_portal_test_localhost(){
210
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
211
		String cdmServer = "127.0.0.1";
212
		String cdmDB = "cdm_portal_test";
213
		String cdmUserName = "edit";
214
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
215
	}
216

    
217
	public static ICdmDataSource cdm_portal_test_localhost2(){
218
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
219
		String cdmServer = "127.0.0.1";
220
		String cdmDB = "cdm_portal_test2";
221
		String cdmUserName = "edit";
222
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
223
	}
224

    
225
	public static ICdmDataSource cdm_local_cichorieae(){
226
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
227
		String cdmServer = "127.0.0.1";
228
		String cdmDB = "cdm_edit_cichorieae";
229
		String cdmUserName = "edit";
230
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
231
	}
232

    
233
	public static ICdmDataSource cdm_local_dipera(){
234
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
235
		String cdmServer = "127.0.0.1";
236
		String cdmDB = "cdm_edit_diptera";
237
		String cdmUserName = "edit";
238
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
239
	}
240

    
241
	public static ICdmDataSource cdm_local_palmae(){
242
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
243
		String cdmServer = "127.0.0.1";
244
		String cdmDB = "cdm_edit_palmae";
245
		String cdmUserName = "edit";
246
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
247
	}
248

    
249
	public static ICdmDataSource cdm_globis_dev(){
250
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
251
		String cdmServer = "160.45.63.175";
252
		String cdmDB = "cdm_edit_globis";
253
		String cdmUserName = "edit";
254
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
255
	}
256
	
257
	public static ICdmDataSource cdm_globis_production(){
258
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
259
		String cdmServer = "160.45.63.171";
260
		String cdmDB = "cdm_production_globis";
261
		String cdmUserName = "edit";
262
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
263
	}
264

    
265
	public static ICdmDataSource cdm_local_globis(){
266
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
267
		String cdmServer = "127.0.0.1";
268
		String cdmDB = "cdm_globis";
269
		String cdmUserName = "edit";
270
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
271
	}
272

    
273
	public static ICdmDataSource cdm_local_postgres_CdmTest(){
274
		DatabaseTypeEnum dbType = DatabaseTypeEnum.PostgreSQL;
275
		String cdmServer = "127.0.0.1";
276
		String cdmDB = "CdmTest";
277
		String cdmUserName = "edit";
278
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
279
	}
280

    
281
	public static ICdmDataSource cdm_local_tdwg2010(){
282
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
283
		String cdmServer = "127.0.0.1";
284
		String cdmDB = "cdm_tdwg2010";
285
		String cdmUserName = "edit";
286
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
287
	}
288

    
289

    
290
	public static ICdmDataSource NULL(){
291
		return null;
292
	}
293

    
294

    
295
	public static ICdmDataSource localH2(){
296
		return CdmDataSource.NewH2EmbeddedInstance("cdm", "sa", "");
297
	}
298

    
299
	public static ICdmDataSource localH2(String database, String username, String filePath){
300
		return CdmDataSource.NewH2EmbeddedInstance(database, "sa", "", filePath, null);
301
	}
302

    
303
	public static ICdmDataSource localH2Salvador(){
304
		return CdmDataSource.NewH2EmbeddedInstance("salvador", "sa", "");
305
	}
306

    
307
	public static ICdmDataSource localH2Armeria(){
308
		return CdmDataSource.NewH2EmbeddedInstance("armeria", "sa", "");
309
	}
310

    
311

    
312
	public static ICdmDataSource localH2Cichorieae(){
313
		return CdmDataSource.NewH2EmbeddedInstance("cichorieae", "sa", "");
314
	}
315

    
316
	public static ICdmDataSource localH2Palmae(){
317
		return CdmDataSource.NewH2EmbeddedInstance("palmae", "sa", "");
318
	}
319

    
320
	public static ICdmDataSource localH2EuroMed(){
321
		return CdmDataSource.NewH2EmbeddedInstance("euroMed", "sa", "");
322
	}
323

    
324
	public static ICdmDataSource localH2Erms(){
325
		return CdmDataSource.NewH2EmbeddedInstance("erms", "sa", "");
326
	}
327

    
328

    
329
	public static ICdmDataSource cdm_algaterra_preview(){
330
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
331
		String cdmServer = "160.45.63.175";
332
		String cdmDB = "cdm_edit_algaterra";
333
		String cdmUserName = "edit";
334
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
335
	}
336

    
337
	public static ICdmDataSource cdm_algaterra_production(){
338
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
339
		String cdmServer = "160.45.63.171";
340
		String cdmDB = "cdm_production_algaterra";
341
		String cdmUserName = "edit";
342
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
343
	}
344

    
345
	public static ICdmDataSource cdm_edit_cichorieae_local_PG(){
346
		DatabaseTypeEnum dbType = DatabaseTypeEnum.PostgreSQL;
347
		String cdmServer = "127.0.0.1";
348
		String cdmDB = "cdm_edit_cichorieae_a";
349
		String cdmUserName = "edit";
350
		int port = 15432;
351
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
352
	}
353

    
354
	public static ICdmDataSource cdm_cichorieae_preview(){
355
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
356
		String cdmServer = "160.45.63.175";
357
		String cdmDB = "cdm_edit_cichorieae";
358
		String cdmUserName = "edit";
359
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
360
	}
361

    
362
	public static ICdmDataSource cdm_production_cichorieae(){
363
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
364
		String cdmServer = "160.45.63.171";
365
//		String cdmServer = "127.0.0.1";
366
		String cdmDB = "cdm_production_cichorieae";
367
		String cdmUserName = "edit";
368
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
369
	}
370

    
371
	public static ICdmDataSource cdm_production_palmae(){
372
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
373
		String cdmServer = "160.45.63.171";
374
		String cdmDB = "cdm_production_palmae";
375
		String cdmUserName = "edit";
376
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
377
	}
378

    
379

    
380
	public static ICdmDataSource cdm_production_diptera(){
381
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
382
		String cdmServer = "160.45.63.171";
383
		String cdmDB = "cdm_production_diptera";
384
		String cdmUserName = "edit";
385
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
386
	}
387

    
388
	public static ICdmDataSource cdm_edit_cichorieae_preview(){
389
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
390
		String cdmServer = "127.0.0.1";
391
		String cdmDB = "cdm_edit_cichorieae";
392
		String cdmUserName = "edit";
393
		int port = 13306;
394
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
395
	}
396

    
397
	public static ICdmDataSource cdm_edit_cichorieae_preview_direct(){
398
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
399
		String cdmServer = "160.45.63.175";
400
		String cdmDB = "cdm_edit_cichorieae";
401
		String cdmUserName = "edit";
402
		int port = 3306;
403
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
404
	}
405

    
406
	public static ICdmDataSource cdm_production_piB(String database){
407
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
408
		String cdmServer = "160.45.63.171";
409
		String cdmDB = "cdm_production_" + database + "_pilot";
410
		String cdmUserName = "edit";
411
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
412
	}
413
	
414
	public static ICdmDataSource cdm_local_piB(String database){
415
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
416
		String cdmServer = "127.0.0.1";
417
		String cdmDB = "piB_" + database;
418
		String cdmUserName = "root";
419
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
420
	}
421
	
422
	/**
423
     * patricia
424
     */
425
    public static ICdmDataSource mon_cdm() {
426
        DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
427
        String cdmServer = "localhost";
428
        String cdmDB = "cdm_local";
429
        String cdmUserName = "root";
430
        return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
431
    }
432

    
433
    public static ICdmDataSource mon_corvids() {
434
        DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
435
        String cdmServer = "localhost";
436
        String cdmDB = "cdm_production_corvidae";
437
        String cdmUserName = "root";
438
        return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, "mysqlr00t");
439
    }
440

    
441
   public static ICdmDataSource proibiosphere_chenopodium_local() {
442
        DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
443
        String cdmServer = "localhost";
444
        String cdmDB = "cdm_production_proibiosphere_chenopodium_pilot";
445
        String cdmUserName = "root";
446
        return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
447
    }
448

    
449
   public static ICdmDataSource proibiosphere_ants_local() {
450
       DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
451
       String cdmServer = "localhost";
452
       String cdmDB = "cdm_production_proibiosphere_ants_pilot";
453
       String cdmUserName = "root";
454
       return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
455
   }
456

    
457
   public static ICdmDataSource proibiosphere_fungi_local() {
458
       DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
459
       String cdmServer = "localhost";
460
       String cdmDB = "cdm_production_proibiosphere_fungi_pilot";
461
       String cdmUserName = "root";
462
       return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
463
   }
464

    
465
   public static ICdmDataSource proibiosphere_campylopus_local() {
466
       DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
467
       String cdmServer = "localhost";
468
       String cdmDB = "cdm_production_proibiosphere_campylopus_pilot";
469
       String cdmUserName = "root";
470
       return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
471
   }
472

    
473

    
474
   public static ICdmDataSource proibiosphere_eupolybothrus_local() {
475
       DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
476
       String cdmServer = "localhost";
477
       String cdmDB = "cdm_production_proibiosphere_eupolybothrus_pilot";
478
       String cdmUserName = "root";
479
       return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
480
   }
481

    
482
   public static ICdmDataSource proibiosphere_spiders_local() {
483
       DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
484
       String cdmServer = "localhost";
485
       String cdmDB = "cdm_production_proibiosphere_spiders_pilot";
486
       String cdmUserName = "root";
487
       return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
488
   }
489
//	public static ICdmDataSource LAPTOP_HP(){
490
//		DatabaseTypeEnum dbType = DatabaseTypeEnum.SqlServer2005;
491
//		String cdmServer = "LAPTOPHP";
492
//		String cdmDB = "cdmTest";
493
//		String cdmUserName = "edit";
494
//		return makeDestination(cdmServer, cdmDB, -1, cdmUserName, null);
495
//	}
496

    
497

    
498

    
499

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

    
526
	}
527

    
528

    
529
	/**
530
	 * Accepts a string array and tries to find a method returning an ICdmDataSource with
531
	 * the name of the given first string in the array
532
	 *
533
	 * @param args
534
	 * @return
535
	 */
536
	public static ICdmDataSource chooseDestination(String[] args) {
537
		if(args == null) {
538
            return null;
539
        }
540

    
541
		if(args.length != 1) {
542
            return null;
543
        }
544

    
545
		String possibleDestination = args[0];
546

    
547
		Method[] methods = CdmDestinations.class.getMethods();
548

    
549
		for (Method method : methods){
550
			if(method.getName().equals(possibleDestination)){
551
				try {
552
					return (ICdmDataSource) method.invoke(null, null);
553
				} catch (IllegalArgumentException e) {
554
					// TODO Auto-generated catch block
555
					e.printStackTrace();
556
				} catch (IllegalAccessException e) {
557
					// TODO Auto-generated catch block
558
					e.printStackTrace();
559
				} catch (InvocationTargetException e) {
560
					// TODO Auto-generated catch block
561
					e.printStackTrace();
562
				}
563
			}
564
		}
565
		return null;
566
	}
567

    
568
}
569

    
(3-3/6)