Project

General

Profile

Download (15.6 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.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.config.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 = "edit";
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_nepenthes_production(){
103
        DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
104
        String cdmServer = "160.45.63.171";
105
        String cdmDB = "cdm_production_caryo_nepenthaceae";
106
        String cdmUserName = "edit";
107
        return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
108
    }
109

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

    
118

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

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

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

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

    
151

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

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

    
168
	public static ICdmDataSource cdm_flora_central_africa_production(){
169
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
170
		String cdmServer = "160.45.63.171";
171
		String cdmDB = "cdm_production_flora_central_africa";
172
		String cdmUserName = "edit";
173
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
174
	}
175

    
176
	public static ICdmDataSource cdm_portal_test_localhost(){
177
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
178
		String cdmServer = "127.0.0.1";
179
		String cdmDB = "cdm_portal_test";
180
		String cdmUserName = "edit";
181
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
182
	}
183

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

    
192
	public static ICdmDataSource cdm_local_postgres_CdmTest(){
193
		DatabaseTypeEnum dbType = DatabaseTypeEnum.PostgreSQL;
194
		String cdmServer = "127.0.0.1";
195
		String cdmDB = "CdmTest";
196
		String cdmUserName = "edit";
197
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
198
	}
199

    
200

    
201

    
202
	public static ICdmDataSource NULL(){
203
		return null;
204
	}
205

    
206

    
207
	public static ICdmDataSource localH2(){
208
		return CdmDataSource.NewH2EmbeddedInstance("cdm", "sa", "");
209
	}
210

    
211
	public static ICdmDataSource localH2(String database, String username, String filePath){
212
		return CdmDataSource.NewH2EmbeddedInstance(database, username, "", filePath);
213
	}
214

    
215
	public static ICdmDataSource localH2Salvador(){
216
		return CdmDataSource.NewH2EmbeddedInstance("salvador", "sa", "");
217
	}
218

    
219
	public static ICdmDataSource localH2Diptera(){
220
		return CdmDataSource.NewH2EmbeddedInstance("diptera", "sa", "");
221
	}
222

    
223

    
224
	public static ICdmDataSource localH2Cichorieae(){
225
		return CdmDataSource.NewH2EmbeddedInstance("cichorieae", "sa", "");
226
	}
227

    
228
	public static ICdmDataSource localH2Palmae(){
229
		return CdmDataSource.NewH2EmbeddedInstance("palmae", "sa", "");
230
	}
231

    
232
	public static ICdmDataSource localH2EuroMed(){
233
		return CdmDataSource.NewH2EmbeddedInstance("euroMed", "sa", "");
234
	}
235

    
236
	public static ICdmDataSource localH2Erms(){
237
		return CdmDataSource.NewH2EmbeddedInstance("erms", "sa", "");
238
	}
239

    
240
	public static ICdmDataSource localH2_viola(){
241
		return CdmDataSource.NewH2EmbeddedInstance("testViola", "sa", "");
242
	}
243

    
244
	public static ICdmDataSource localH2_LIAS(){
245
		return CdmDataSource.NewH2EmbeddedInstance("testLIAS", "sa", "");
246
	}
247

    
248
	public static ICdmDataSource localH2_Erythroneura(){
249
		return CdmDataSource.NewH2EmbeddedInstance("testErythroneura", "sa", "");
250
	}
251

    
252
	public static ICdmDataSource localH2_Cicad(){
253
		return CdmDataSource.NewH2EmbeddedInstance("testCicad", "sa", "");
254
	}
255

    
256
	public static ICdmDataSource localH2_ValRosandraFRIDAKey(){
257
		return CdmDataSource.NewH2EmbeddedInstance("testValRosandraFRIDAKey", "sa", "");
258
	}
259

    
260
	public static ICdmDataSource localH2_FreshwaterAquaticInsects(){
261
		return CdmDataSource.NewH2EmbeddedInstance("testFreshwaterAquaticInsects", "sa", "");
262
	}
263

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

    
272
	public static ICdmDataSource cdm_algaterra_preview(){
273
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
274
		String cdmServer = "160.45.63.201";
275
		String cdmDB = "cdm_edit_algaterra";
276
		String cdmUserName = "edit";
277
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
278
	}
279

    
280
	public static ICdmDataSource cdm_edit_cichorieae_PG(){
281
		DatabaseTypeEnum dbType = DatabaseTypeEnum.PostgreSQL;
282
		String cdmServer = "127.0.0.1";
283
		String cdmDB = "cdm_edit_cichorieae_a";
284
		String cdmUserName = "edit";
285
		int port = 15432;
286
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
287
	}
288

    
289
	public static ICdmDataSource cdm_cichorieae_preview(){
290
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
291
		String cdmServer = "160.45.63.201";
292
		String cdmDB = "cdm_edit_cichorieae";
293
		String cdmUserName = "edit";
294
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
295
	}
296

    
297
	public static ICdmDataSource cdm_production_cichorieae(){
298
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
299
		String cdmServer = "160.45.63.151";
300
//		String cdmServer = "127.0.0.1";
301
		String cdmDB = "cdm_production_cichorieae";
302
		String cdmUserName = "edit";
303
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
304
	}
305

    
306
	public static ICdmDataSource cdm_production_palmae(){
307
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
308
		String cdmServer = "160.45.63.151";
309
		String cdmDB = "cdm_production_palmae";
310
		String cdmUserName = "edit";
311
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
312
	}
313

    
314

    
315
	public static ICdmDataSource cdm_production_diptera(){
316
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
317
		String cdmServer = "160.45.63.151";
318
		String cdmDB = "cdm_production_diptera";
319
		String cdmUserName = "edit";
320
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
321
	}
322

    
323
	public static ICdmDataSource local_cdm_edit_cichorieae_a(){
324
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
325
		String cdmServer = "127.0.0.1";
326
		String cdmDB = "cdm_edit_cichorieae_a";
327
		String cdmUserName = "edit";
328
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
329
	}
330

    
331
	public static ICdmDataSource local_cdm_edit_cichorieae_b(){
332
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
333
		String cdmServer = "127.0.0.1";
334
		String cdmDB = "cdm_edit_cichorieae_b";
335
		String cdmUserName = "edit";
336
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
337
	}
338

    
339
	public static ICdmDataSource cdm_edit_palmae_a(){
340
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
341
		String cdmServer = "192.168.2.10";
342
		String cdmDB = "cdm_edit_palmae_a";
343
		String cdmUserName = "edit";
344
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
345
	}
346

    
347
	public static ICdmDataSource cdm_edit_diptera_preview_B(){
348
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
349
		String cdmServer = "127.0.0.1";
350
		String cdmDB = "cdm_edit_diptera_b";
351
		String cdmUserName = "edit";
352
		int port = 13306;
353
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
354
	}
355

    
356
	public static ICdmDataSource cdm_edit_cichorieae_preview(){
357
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
358
		String cdmServer = "127.0.0.1";
359
		String cdmDB = "cdm_edit_cichorieae";
360
		String cdmUserName = "edit";
361
		int port = 13306;
362
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
363
	}
364

    
365
	public static ICdmDataSource cdm_edit_palmae_preview(){
366
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
367
		String cdmServer = "127.0.0.1";
368
		String cdmDB = "cdm_edit_palmae";
369
		String cdmUserName = "edit";
370
		int port = 13306;
371
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
372
	}
373

    
374
	public static ICdmDataSource cdm_edit_salvador(){
375
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
376
		String cdmServer = "192.168.2.10";
377
		String cdmDB = "cdm_edit_salvador";
378
		String cdmUserName = "edit";
379
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
380
	}
381

    
382
	public static ICdmDataSource cdm_import_salvador() {
383
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
384
		String cdmServer = "192.168.2.10";
385
		String cdmDB = "cdm_import_salvador";
386
		String cdmUserName = "edit";
387
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
388
	}
389

    
390
	public static ICdmDataSource cdm_salvador_production() {
391
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
392
		String cdmServer = "192.168.2.10";
393
		String cdmDB = "salvador_cdm";
394
		String cdmUserName = "salvador";
395
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
396
	}
397

    
398

    
399
//	public static ICdmDataSource LAPTOP_HP(){
400
//		DatabaseTypeEnum dbType = DatabaseTypeEnum.SqlServer2005;
401
//		String cdmServer = "LAPTOPHP";
402
//		String cdmDB = "cdmTest";
403
//		String cdmUserName = "edit";
404
//		return makeDestination(cdmServer, cdmDB, -1, cdmUserName, null);
405
//	}
406

    
407

    
408

    
409

    
410
	/**
411
	 * initializes source
412
	 * TODO only supports MySQL and PostgreSQL
413
	 *
414
	 * @param dbType
415
	 * @param cdmServer
416
	 * @param cdmDB
417
	 * @param port
418
	 * @param cdmUserName
419
	 * @param pwd
420
	 * @return
421
	 */
422
	private static ICdmDataSource makeDestination(DatabaseTypeEnum dbType, String cdmServer, String cdmDB, int port, String cdmUserName, String pwd ){
423
		//establish connection
424
		pwd = AccountStore.readOrStorePassword(cdmServer, cdmDB, cdmUserName, pwd);
425
		ICdmDataSource destination;
426
		if(dbType.equals(DatabaseTypeEnum.MySQL)){
427
			destination = CdmDataSource.NewMySqlInstance(cdmServer, cdmDB, port, cdmUserName, pwd);
428
		} else if(dbType.equals(DatabaseTypeEnum.PostgreSQL)){
429
			destination = CdmDataSource.NewPostgreSQLInstance(cdmServer, cdmDB, port, cdmUserName, pwd);
430
		} else {
431
			//TODO others
432
			throw new RuntimeException("Unsupported DatabaseType");
433
		}
434
		return destination;
435

    
436
	}
437

    
438

    
439
	/**
440
	 * Accepts a string array and tries to find a method returning an ICdmDataSource with
441
	 * the name of the given first string in the array
442
	 *
443
	 * @param args
444
	 * @return
445
	 */
446
	public static ICdmDataSource chooseDestination(String[] args) {
447
		if(args == null) {
448
            return null;
449
        }
450

    
451
		if(args.length != 1) {
452
            return null;
453
        }
454

    
455
		String possibleDestination = args[0];
456

    
457
		Method[] methods = CdmDestinations.class.getMethods();
458

    
459
		for (Method method : methods){
460
			if(method.getName().equals(possibleDestination)){
461
				try {
462
					return (ICdmDataSource) method.invoke(null, null);
463
				} catch (IllegalArgumentException e) {
464
					// TODO Auto-generated catch block
465
					e.printStackTrace();
466
				} catch (IllegalAccessException e) {
467
					// TODO Auto-generated catch block
468
					e.printStackTrace();
469
				} catch (InvocationTargetException e) {
470
					// TODO Auto-generated catch block
471
					e.printStackTrace();
472
				}
473
			}
474
		}
475
		return null;
476
	}
477

    
478
}
479

    
(1-1/15)