Project

General

Profile

Download (15 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_preview(){
145
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
146
		String cdmServer = "160.45.63.175";
147
		String cdmDB = "cdm_edit_flora_central_africa";
148
		String cdmUserName = "edit";
149
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
150
	}
151
	
152
	public static ICdmDataSource cdm_flora_central_africa_production(){
153
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
154
		String cdmServer = "160.45.63.171";
155
		String cdmDB = "cdm_production_flora_central_africa";
156
		String cdmUserName = "edit";
157
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
158
	}
159
	
160
	public static ICdmDataSource cdm_portal_test_localhost(){
161
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
162
		String cdmServer = "127.0.0.1";
163
		String cdmDB = "cdm_portal_test";
164
		String cdmUserName = "edit";
165
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
166
	}
167
	
168
	public static ICdmDataSource cdm_portal_test_localhost2(){
169
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
170
		String cdmServer = "127.0.0.1";
171
		String cdmDB = "cdm_portal_test2";
172
		String cdmUserName = "edit";
173
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
174
	}
175
	
176
	public static ICdmDataSource cdm_local_postgres_CdmTest(){
177
		DatabaseTypeEnum dbType = DatabaseTypeEnum.PostgreSQL;
178
		String cdmServer = "127.0.0.1";
179
		String cdmDB = "CdmTest";
180
		String cdmUserName = "edit";
181
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
182
	}
183

    
184
	
185
	
186
	public static ICdmDataSource NULL(){
187
		return null;
188
	}
189
	
190
	
191
	public static ICdmDataSource localH2(){
192
		return CdmDataSource.NewH2EmbeddedInstance("cdm", "sa", "");
193
	}
194
	
195
	public static ICdmDataSource localH2(String database, String username, String filePath){
196
		return CdmDataSource.NewH2EmbeddedInstance(database, "sa", "", filePath, null);
197
	}
198
	
199
	public static ICdmDataSource localH2Salvador(){
200
		return CdmDataSource.NewH2EmbeddedInstance("salvador", "sa", "");
201
	}
202
	
203
	public static ICdmDataSource localH2Diptera(){
204
		return CdmDataSource.NewH2EmbeddedInstance("diptera", "sa", "");
205
	}
206
	
207
	
208
	public static ICdmDataSource localH2Cichorieae(){
209
		return CdmDataSource.NewH2EmbeddedInstance("cichorieae", "sa", "");
210
	}
211
	
212
	public static ICdmDataSource localH2Palmae(){
213
		return CdmDataSource.NewH2EmbeddedInstance("palmae", "sa", "");
214
	}
215
	
216
	public static ICdmDataSource localH2EuroMed(){
217
		return CdmDataSource.NewH2EmbeddedInstance("euroMed", "sa", "");
218
	}
219
	
220
	public static ICdmDataSource localH2Erms(){
221
		return CdmDataSource.NewH2EmbeddedInstance("erms", "sa", "");
222
	}
223
	
224
	public static ICdmDataSource localH2_viola(){
225
		return CdmDataSource.NewH2EmbeddedInstance("testViola", "sa", "");
226
	}
227
	
228
	public static ICdmDataSource localH2_LIAS(){
229
		return CdmDataSource.NewH2EmbeddedInstance("testLIAS", "sa", "");
230
	}
231
	
232
	public static ICdmDataSource localH2_Erythroneura(){
233
		return CdmDataSource.NewH2EmbeddedInstance("testErythroneura", "sa", "");
234
	}
235
	
236
	public static ICdmDataSource localH2_Cicad(){
237
		return CdmDataSource.NewH2EmbeddedInstance("testCicad", "sa", "");
238
	}
239
	
240
	public static ICdmDataSource localH2_ValRosandraFRIDAKey(){
241
		return CdmDataSource.NewH2EmbeddedInstance("testValRosandraFRIDAKey", "sa", "");
242
	}
243
	
244
	public static ICdmDataSource localH2_FreshwaterAquaticInsects(){
245
		return CdmDataSource.NewH2EmbeddedInstance("testFreshwaterAquaticInsects", "sa", "");
246
	}
247
	
248
	public static ICdmDataSource cdm_portal_test_pollux(){
249
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
250
		String cdmServer = "192.168.2.11";
251
		String cdmDB = "cdm_portal_test";
252
		String cdmUserName = "edit";
253
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
254
	}
255

    
256
	public static ICdmDataSource cdm_algaterra_preview(){
257
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
258
		String cdmServer = "160.45.63.201";
259
		String cdmDB = "cdm_edit_algaterra"; 
260
		String cdmUserName = "edit";
261
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
262
	}
263
	
264
	public static ICdmDataSource cdm_edit_cichorieae_PG(){
265
		DatabaseTypeEnum dbType = DatabaseTypeEnum.PostgreSQL;
266
		String cdmServer = "127.0.0.1";
267
		String cdmDB = "cdm_edit_cichorieae_a"; 
268
		String cdmUserName = "edit";
269
		int port = 15432;
270
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
271
	}
272

    
273
	public static ICdmDataSource cdm_cichorieae_preview(){
274
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
275
		String cdmServer = "160.45.63.201";
276
		String cdmDB = "cdm_edit_cichorieae"; 
277
		String cdmUserName = "edit";
278
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
279
	}
280
	
281
	public static ICdmDataSource cdm_production_cichorieae(){
282
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
283
		String cdmServer = "160.45.63.151";
284
//		String cdmServer = "127.0.0.1";
285
		String cdmDB = "cdm_production_cichorieae"; 
286
		String cdmUserName = "edit";
287
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
288
	}
289
	
290
	public static ICdmDataSource cdm_production_palmae(){
291
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
292
		String cdmServer = "160.45.63.151";
293
		String cdmDB = "cdm_production_palmae"; 
294
		String cdmUserName = "edit";
295
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
296
	}
297
	
298
	
299
	public static ICdmDataSource cdm_production_diptera(){
300
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
301
		String cdmServer = "160.45.63.151";
302
		String cdmDB = "cdm_production_diptera"; 
303
		String cdmUserName = "edit";
304
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
305
	}
306
	
307
	public static ICdmDataSource local_cdm_edit_cichorieae_a(){
308
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
309
		String cdmServer = "127.0.0.1";
310
		String cdmDB = "cdm_edit_cichorieae_a"; 
311
		String cdmUserName = "edit";
312
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
313
	}
314
	
315
	public static ICdmDataSource local_cdm_edit_cichorieae_b(){
316
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
317
		String cdmServer = "127.0.0.1";
318
		String cdmDB = "cdm_edit_cichorieae_b"; 
319
		String cdmUserName = "edit";
320
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
321
	}
322

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

    
331
	public static ICdmDataSource cdm_edit_diptera_preview_B(){
332
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
333
		String cdmServer = "127.0.0.1";
334
		String cdmDB = "cdm_edit_diptera_b"; 
335
		String cdmUserName = "edit";
336
		int port = 13306;
337
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
338
	}
339
	
340
	public static ICdmDataSource cdm_edit_cichorieae_preview(){
341
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
342
		String cdmServer = "127.0.0.1";
343
		String cdmDB = "cdm_edit_cichorieae"; 
344
		String cdmUserName = "edit";
345
		int port = 13306;
346
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
347
	}
348

    
349
	public static ICdmDataSource cdm_edit_palmae_preview(){
350
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
351
		String cdmServer = "127.0.0.1";
352
		String cdmDB = "cdm_edit_palmae"; 
353
		String cdmUserName = "edit";
354
		int port = 13306;
355
		return makeDestination(dbType, cdmServer, cdmDB, port, cdmUserName, null);
356
	}		
357
	
358
	public static ICdmDataSource cdm_edit_salvador(){
359
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
360
		String cdmServer = "192.168.2.10";
361
		String cdmDB = "cdm_edit_salvador"; 
362
		String cdmUserName = "edit";
363
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
364
	}
365
	
366
	public static ICdmDataSource cdm_import_salvador() {
367
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
368
		String cdmServer = "192.168.2.10";
369
		String cdmDB = "cdm_import_salvador"; 
370
		String cdmUserName = "edit";
371
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
372
	}
373
	
374
	public static ICdmDataSource cdm_salvador_production() {
375
		DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
376
		String cdmServer = "192.168.2.10";
377
		String cdmDB = "salvador_cdm"; 
378
		String cdmUserName = "salvador";
379
		return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
380
	}
381
	
382
	
383
//	public static ICdmDataSource LAPTOP_HP(){
384
//		DatabaseTypeEnum dbType = DatabaseTypeEnum.SqlServer2005;
385
//		String cdmServer = "LAPTOPHP";
386
//		String cdmDB = "cdmTest"; 
387
//		String cdmUserName = "edit";
388
//		return makeDestination(cdmServer, cdmDB, -1, cdmUserName, null);
389
//	}
390
	
391
	
392

    
393
	 
394
	/**
395
	 * initializes source
396
	 * TODO only supports MySQL and PostgreSQL
397
	 * 
398
	 * @param dbType
399
	 * @param cdmServer
400
	 * @param cdmDB
401
	 * @param port
402
	 * @param cdmUserName
403
	 * @param pwd
404
	 * @return
405
	 */
406
	private static ICdmDataSource makeDestination(DatabaseTypeEnum dbType, String cdmServer, String cdmDB, int port, String cdmUserName, String pwd ){
407
		//establish connection
408
		pwd = AccountStore.readOrStorePassword(cdmServer, cdmDB, cdmUserName, pwd);
409
		ICdmDataSource destination;
410
		if(dbType.equals(DatabaseTypeEnum.MySQL)){
411
			destination = CdmDataSource.NewMySqlInstance(cdmServer, cdmDB, port, cdmUserName, pwd, null);			
412
		} else if(dbType.equals(DatabaseTypeEnum.PostgreSQL)){
413
			destination = CdmDataSource.NewPostgreSQLInstance(cdmServer, cdmDB, port, cdmUserName, pwd, null);			
414
		} else {
415
			//TODO others
416
			throw new RuntimeException("Unsupported DatabaseType");
417
		}
418
		return destination;
419

    
420
	}
421

    
422

    
423
	/**
424
	 * Accepts a string array and tries to find a method returning an ICdmDataSource with 
425
	 * the name of the given first string in the array
426
	 * 
427
	 * @param args
428
	 * @return
429
	 */
430
	public static ICdmDataSource chooseDestination(String[] args) {
431
		if(args == null)
432
			return null;
433
		
434
		if(args.length != 1)
435
			return null;
436
		
437
		String possibleDestination = args[0];
438
		
439
		Method[] methods = CdmDestinations.class.getMethods();
440
		
441
		for (Method method : methods){
442
			if(method.getName().equals(possibleDestination)){
443
				try {
444
					return (ICdmDataSource) method.invoke(null, null);
445
				} catch (IllegalArgumentException e) {
446
					// TODO Auto-generated catch block
447
					e.printStackTrace();
448
				} catch (IllegalAccessException e) {
449
					// TODO Auto-generated catch block
450
					e.printStackTrace();
451
				} catch (InvocationTargetException e) {
452
					// TODO Auto-generated catch block
453
					e.printStackTrace();
454
				}
455
			}
456
		}
457
		return null;
458
	}
459

    
460
}
461

    
(1-1/13)