Project

General

Profile

Download (15.2 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.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_local(){
145
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
146
		String cdmServer = "localhost";
147
		String cdmDB = "fdac";
148
		String cdmUserName = "edit";
149
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
150
	}
151

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

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

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

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

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

    
192

    
193

    
194
	public static ICdmDataSource NULL(){
195
		return null;
196
	}
197

    
198

    
199
	public static ICdmDataSource localH2(){
200
		return CdmDataSource.NewH2EmbeddedInstance("cdm", "sa", "");
201
	}
202

    
203
	public static ICdmDataSource localH2(String database, String username, String filePath){
204
		return CdmDataSource.NewH2EmbeddedInstance(database, username, "", filePath);
205
	}
206

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

    
211
	public static ICdmDataSource localH2Diptera(){
212
		return CdmDataSource.NewH2EmbeddedInstance("diptera", "sa", "");
213
	}
214

    
215

    
216
	public static ICdmDataSource localH2Cichorieae(){
217
		return CdmDataSource.NewH2EmbeddedInstance("cichorieae", "sa", "");
218
	}
219

    
220
	public static ICdmDataSource localH2Palmae(){
221
		return CdmDataSource.NewH2EmbeddedInstance("palmae", "sa", "");
222
	}
223

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

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

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

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

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

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

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

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

    
256
	public static ICdmDataSource cdm_portal_test_pollux(){
257
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
258
		String cdmServer = "192.168.2.11";
259
		String cdmDB = "cdm_portal_test";
260
		String cdmUserName = "edit";
261
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
262
	}
263

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

    
272
	public static ICdmDataSource cdm_edit_cichorieae_PG(){
273
		DatabaseTypeEnum dbType = DatabaseTypeEnum.PostgreSQL;
274
		String cdmServer = "127.0.0.1";
275
		String cdmDB = "cdm_edit_cichorieae_a";
276
		String cdmUserName = "edit";
277
		int port = 15432;
278
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
279
	}
280

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

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

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

    
306

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

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

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

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

    
339
	public static ICdmDataSource cdm_edit_diptera_preview_B(){
340
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
341
		String cdmServer = "127.0.0.1";
342
		String cdmDB = "cdm_edit_diptera_b";
343
		String cdmUserName = "edit";
344
		int port = 13306;
345
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
346
	}
347

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

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

    
366
	public static ICdmDataSource cdm_edit_salvador(){
367
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
368
		String cdmServer = "192.168.2.10";
369
		String cdmDB = "cdm_edit_salvador";
370
		String cdmUserName = "edit";
371
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
372
	}
373

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

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

    
390

    
391
//	public static ICdmDataSource LAPTOP_HP(){
392
//		DatabaseTypeEnum dbType = DatabaseTypeEnum.SqlServer2005;
393
//		String cdmServer = "LAPTOPHP";
394
//		String cdmDB = "cdmTest";
395
//		String cdmUserName = "edit";
396
//		return makeDestination(cdmServer, cdmDB, -1, cdmUserName, null);
397
//	}
398

    
399

    
400

    
401

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

    
428
	}
429

    
430

    
431
	/**
432
	 * Accepts a string array and tries to find a method returning an ICdmDataSource with
433
	 * the name of the given first string in the array
434
	 *
435
	 * @param args
436
	 * @return
437
	 */
438
	public static ICdmDataSource chooseDestination(String[] args) {
439
		if(args == null) {
440
            return null;
441
        }
442

    
443
		if(args.length != 1) {
444
            return null;
445
        }
446

    
447
		String possibleDestination = args[0];
448

    
449
		Method[] methods = CdmDestinations.class.getMethods();
450

    
451
		for (Method method : methods){
452
			if(method.getName().equals(possibleDestination)){
453
				try {
454
					return (ICdmDataSource) method.invoke(null, null);
455
				} catch (IllegalArgumentException e) {
456
					// TODO Auto-generated catch block
457
					e.printStackTrace();
458
				} catch (IllegalAccessException e) {
459
					// TODO Auto-generated catch block
460
					e.printStackTrace();
461
				} catch (InvocationTargetException e) {
462
					// TODO Auto-generated catch block
463
					e.printStackTrace();
464
				}
465
			}
466
		}
467
		return null;
468
	}
469

    
470
}
471

    
(1-1/13)