renamed pesi destinations and renamed filters
[cdmlib-apps.git] / cdm-pesi / src / main / java / eu / etaxonomy / cdm / app / common / CdmDestinations.java
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_jaxb2(){
28 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
29 String cdmServer = "192.168.2.10";
30 String cdmDB = "cdm_test_jaxb2";
31 String cdmUserName = "edit";
32 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
33 }
34
35 public static ICdmDataSource cdm_test_patricia(){
36 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
37 String cdmServer = "192.168.2.10";
38 String cdmDB = "cdm_test_patricia";
39 String cdmUserName = "edit";
40 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
41 }
42
43 public static ICdmDataSource cdm_test_local_mysql(){
44 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
45 String cdmServer = "127.0.0.1";
46 String cdmDB = "cdm_test";
47 String cdmUserName = "root";
48 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
49 }
50
51 public static ICdmDataSource cdm_test_local_mysql_fdac(){
52 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
53 String cdmServer = "127.0.0.1";
54 String cdmDB = "fdac";
55 String cdmUserName = "edit";
56 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
57 }
58
59 public static ICdmDataSource cdm_test_local_mysql_test(){
60 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
61 String cdmServer = "127.0.0.1";
62 String cdmDB = "test";
63 String cdmUserName = "edit";
64 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
65 }
66 public static ICdmDataSource cdm_portal_test_localhost(){
67 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
68 String cdmServer = "127.0.0.1";
69 String cdmDB = "cdm_portal_test";
70 String cdmUserName = "edit";
71 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
72 }
73
74 public static ICdmDataSource cdm_portal_test_localhost2(){
75 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
76 String cdmServer = "127.0.0.1";
77 String cdmDB = "cdm_portal_test2";
78 String cdmUserName = "edit";
79 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
80 }
81
82 public static ICdmDataSource cdm_local_postgres_CdmTest(){
83 DatabaseTypeEnum dbType = DatabaseTypeEnum.PostgreSQL;
84 String cdmServer = "127.0.0.1";
85 String cdmDB = "CdmTest";
86 String cdmUserName = "edit";
87 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
88 }
89
90
91 public static ICdmDataSource NULL(){
92 return null;
93 }
94
95
96 public static ICdmDataSource localH2(){
97 return CdmDataSource.NewH2EmbeddedInstance("cdm", "sa", "");
98 }
99
100 public static ICdmDataSource localH2(String database, String username, String filePath){
101 return CdmDataSource.NewH2EmbeddedInstance(database, "sa", "", filePath, null);
102 }
103 public static ICdmDataSource localH2Cichorieae(){
104 return CdmDataSource.NewH2EmbeddedInstance("cichorieae", "sa", "");
105 }
106
107
108 public static ICdmDataSource localH2EuroMed(){
109 return CdmDataSource.NewH2EmbeddedInstance("euroMed", "sa", "");
110 }
111
112 public static ICdmDataSource localH2Erms(){
113 return CdmDataSource.NewH2EmbeddedInstance("erms", "sa", "");
114 }
115
116 public static ICdmDataSource cdm_algaterra_preview(){
117 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
118 String cdmServer = "160.45.63.201";
119 String cdmDB = "cdm_edit_algaterra";
120 String cdmUserName = "edit";
121 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
122 }
123
124
125 public static ICdmDataSource cdm_pesi_euroMed(){
126 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
127 String cdmServer = "160.45.63.201";
128 String cdmDB = "cdm_pesi_euromed";
129 String cdmUserName = "edit";
130 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
131 }
132
133
134
135 public static ICdmDataSource cdm_pesi_fauna_europaea(){
136 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
137 String cdmServer = "160.45.63.201";
138 String cdmDB = "cdm_pesi_fauna_europaea";
139 String cdmUserName = "edit";
140 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
141 }
142
143
144 public static ICdmDataSource cdm_pesi_erms(){
145 DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL;
146 String cdmServer = "160.45.63.201";
147 String cdmDB = "cdm_pesi_erms";
148 String cdmUserName = "edit";
149 return makeDestination(dbType, cdmServer, cdmDB, -1, cdmUserName, null);
150 }
151
152
153
154 /**
155 * initializes source
156 * TODO only supports MySQL and PostgreSQL
157 *
158 * @param dbType
159 * @param cdmServer
160 * @param cdmDB
161 * @param port
162 * @param cdmUserName
163 * @param pwd
164 * @return
165 */
166 private static ICdmDataSource makeDestination(DatabaseTypeEnum dbType, String cdmServer, String cdmDB, int port, String cdmUserName, String pwd ){
167 //establish connection
168 pwd = AccountStore.readOrStorePassword(cdmServer, cdmDB, cdmUserName, pwd);
169 ICdmDataSource destination;
170 if(dbType.equals(DatabaseTypeEnum.MySQL)){
171 destination = CdmDataSource.NewMySqlInstance(cdmServer, cdmDB, port, cdmUserName, pwd, null);
172 } else if(dbType.equals(DatabaseTypeEnum.PostgreSQL)){
173 destination = CdmDataSource.NewPostgreSQLInstance(cdmServer, cdmDB, port, cdmUserName, pwd, null);
174 } else {
175 //TODO others
176 throw new RuntimeException("Unsupported DatabaseType");
177 }
178 return destination;
179
180 }
181
182
183 /**
184 * Accepts a string array and tries to find a method returning an ICdmDataSource with
185 * the name of the given first string in the array
186 *
187 * @param args
188 * @return
189 */
190 public static ICdmDataSource chooseDestination(String[] args) {
191 if(args == null)
192 return null;
193
194 if(args.length != 1)
195 return null;
196
197 String possibleDestination = args[0];
198
199 Method[] methods = CdmDestinations.class.getMethods();
200
201 for (Method method : methods){
202 if(method.getName().equals(possibleDestination)){
203 try {
204 return (ICdmDataSource) method.invoke(null, null);
205 } catch (IllegalArgumentException e) {
206 // TODO Auto-generated catch block
207 e.printStackTrace();
208 } catch (IllegalAccessException e) {
209 // TODO Auto-generated catch block
210 e.printStackTrace();
211 } catch (InvocationTargetException e) {
212 // TODO Auto-generated catch block
213 e.printStackTrace();
214 }
215 }
216 }
217 return null;
218 }
219
220 }
221