Revision c0248cde
Added by Andreas Müller over 7 years ago
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/CdmDataSource.java | ||
---|---|---|
24 | 24 |
import org.springframework.beans.factory.support.RootBeanDefinition; |
25 | 25 |
|
26 | 26 |
import eu.etaxonomy.cdm.common.CdmUtils; |
27 |
import eu.etaxonomy.cdm.model.name.NomenclaturalCode; |
|
28 | 27 |
|
29 | 28 |
/** |
30 | 29 |
* @author a.mueller |
... | ... | |
40 | 39 |
private int port = -1; |
41 | 40 |
private String username; |
42 | 41 |
private String password; |
43 |
private NomenclaturalCode nomenclaturalCode; |
|
44 | 42 |
|
45 | 43 |
private String filePath; |
46 | 44 |
private H2Mode mode; |
... | ... | |
55 | 53 |
private Class<? extends RegionFactory> cacheProviderClass = NoCachingRegionFactory.class; |
56 | 54 |
|
57 | 55 |
public static CdmDataSource NewInstance(DatabaseTypeEnum dbType, String server, String database, String username, String password){ |
58 |
return new CdmDataSource(dbType, server, database, -1, username, password, null, null, null);
|
|
56 |
return new CdmDataSource(dbType, server, database, -1, username, password, null, null); |
|
59 | 57 |
} |
60 | 58 |
|
61 | 59 |
public static CdmDataSource NewInstance(DatabaseTypeEnum dbType, String server, String database, int port, String username, String password){ |
62 |
return new CdmDataSource(dbType, server, database, port, username, password, null, null, null); |
|
63 |
} |
|
64 |
|
|
65 |
public static CdmDataSource NewInstance(DatabaseTypeEnum dbType, String server, String database, String username, String password , NomenclaturalCode code){ |
|
66 |
return new CdmDataSource(dbType, server, database, -1, username, password, null, null, code); |
|
67 |
} |
|
68 |
|
|
69 |
public static CdmDataSource NewInstance(DatabaseTypeEnum dbType, String server, String database, int port, String username, String password , NomenclaturalCode code){ |
|
70 |
return new CdmDataSource(dbType, server, database, port, username, password, null, null, code); |
|
60 |
return new CdmDataSource(dbType, server, database, port, username, password, null, null); |
|
71 | 61 |
} |
72 | 62 |
|
73 | 63 |
|
74 | 64 |
static public CdmDataSource NewMySqlInstance(String server, String database, String username, String password ){ |
75 |
return new CdmDataSource(DatabaseTypeEnum.MySQL, server, database, -1, username, password, null, null, null); |
|
76 |
} |
|
77 |
|
|
78 |
static public CdmDataSource NewMySqlInstance(String server, String database, String username, String password , NomenclaturalCode code){ |
|
79 |
return new CdmDataSource(DatabaseTypeEnum.MySQL, server, database, -1, username, password, null, null, code); |
|
80 |
} |
|
81 |
|
|
82 |
static public CdmDataSource NewMySqlInstance(String server, String database, int port, String username, String password, NomenclaturalCode code){ |
|
83 |
return new CdmDataSource(DatabaseTypeEnum.MySQL, server, database, port, username, password, null, null, code); |
|
65 |
return new CdmDataSource(DatabaseTypeEnum.MySQL, server, database, -1, username, password, null, null); |
|
84 | 66 |
} |
85 | 67 |
|
86 |
static public CdmDataSource NewPostgreSQLInstance(String server, String database, int port, String username, String password, NomenclaturalCode code){
|
|
87 |
return new CdmDataSource(DatabaseTypeEnum.PostgreSQL, server, database, port, username, password, null, null, code);
|
|
68 |
static public CdmDataSource NewMySqlInstance(String server, String database, int port, String username, String password){
|
|
69 |
return new CdmDataSource(DatabaseTypeEnum.MySQL, server, database, port, username, password, null, null);
|
|
88 | 70 |
} |
89 | 71 |
|
90 |
static public CdmDataSource NewSqlServer2005Instance(String server, String database, int port, String username, String password, NomenclaturalCode code){
|
|
91 |
return new CdmDataSource(DatabaseTypeEnum.SqlServer2005, server, database, port, username, password, null, null, code);
|
|
72 |
static public CdmDataSource NewPostgreSQLInstance(String server, String database, int port, String username, String password){
|
|
73 |
return new CdmDataSource(DatabaseTypeEnum.PostgreSQL, server, database, port, username, password, null, null);
|
|
92 | 74 |
} |
93 | 75 |
|
94 |
static public CdmDataSource NewSqlServer2005Instance(String server, String database, int port, String username, String password /*, NomenclaturalCode code*/){
|
|
95 |
return new CdmDataSource(DatabaseTypeEnum.SqlServer2005, server, database, port, username, password, null, null, null);
|
|
76 |
static public CdmDataSource NewSqlServer2005Instance(String server, String database, int port, String username, String password){ |
|
77 |
return new CdmDataSource(DatabaseTypeEnum.SqlServer2005, server, database, port, username, password, null, null); |
|
96 | 78 |
} |
97 | 79 |
|
98 | 80 |
|
99 | 81 |
/** in work |
100 | 82 |
* @param code TODO*/ |
101 | 83 |
static public CdmDataSource NewH2EmbeddedInstance(String database, String username, String password){ |
102 |
return NewH2EmbeddedInstance(database, username, password, null, null);
|
|
84 |
return NewH2EmbeddedInstance(database, username, password, null); |
|
103 | 85 |
} |
104 | 86 |
|
105 | 87 |
/** in work |
106 | 88 |
* @param code TODO*/ |
107 |
static public CdmDataSource NewH2EmbeddedInstance(String database, String username, String password, NomenclaturalCode code){ |
|
108 |
return NewH2EmbeddedInstance(database, username, password, null, code); |
|
109 |
} |
|
110 |
|
|
111 |
/** in work |
|
112 |
* @param code TODO*/ |
|
113 |
static public CdmDataSource NewH2EmbeddedInstance(String database, String username, String password, String filePath, NomenclaturalCode code){ |
|
89 |
static public CdmDataSource NewH2EmbeddedInstance(String database, String username, String password, String filePath /*, NomenclaturalCode code*/){ |
|
114 | 90 |
//FIXME in work |
115 | 91 |
int port = -1; |
116 | 92 |
H2Mode mode = H2Mode.EMBEDDED; |
117 |
CdmDataSource dataSource = new CdmDataSource(DatabaseTypeEnum.H2, null, database, port, username, password, filePath, mode, code);
|
|
93 |
CdmDataSource dataSource = new CdmDataSource(DatabaseTypeEnum.H2, null, database, port, username, password, filePath, mode); |
|
118 | 94 |
return dataSource; |
119 | 95 |
} |
120 | 96 |
|
... | ... | |
125 | 101 |
H2Mode mode = H2Mode.IN_MEMORY; |
126 | 102 |
String username = "sa"; |
127 | 103 |
String password = ""; |
128 |
CdmDataSource dataSource = new CdmDataSource(DatabaseTypeEnum.H2, null, null, port, username, password, null, mode, null);
|
|
104 |
CdmDataSource dataSource = new CdmDataSource(DatabaseTypeEnum.H2, null, null, port, username, password, null, mode); |
|
129 | 105 |
return dataSource; |
130 | 106 |
} |
131 | 107 |
|
... | ... | |
138 | 114 |
dataSource.getUsername(), |
139 | 115 |
dataSource.getPassword(), |
140 | 116 |
dataSource.getFilePath(), |
141 |
dataSource.getMode(), |
|
142 |
dataSource.getNomenclaturalCode()); |
|
117 |
dataSource.getMode()); |
|
143 | 118 |
} |
144 | 119 |
/** |
145 | 120 |
* @param server |
146 | 121 |
* @param database |
147 | 122 |
* @param port |
148 | 123 |
*/ |
149 |
protected CdmDataSource(DatabaseTypeEnum dbType, String server, String database, int port, String username, String password, String filePath, H2Mode mode, NomenclaturalCode code) {
|
|
124 |
protected CdmDataSource(DatabaseTypeEnum dbType, String server, String database, int port, String username, String password, String filePath, H2Mode mode /*, NomenclaturalCode code*/) {
|
|
150 | 125 |
super(); |
151 | 126 |
this.dbType = dbType; |
152 | 127 |
this.server = server; |
... | ... | |
158 | 133 |
this.destroyMethodName = dbType.getDestroyMethod(); |
159 | 134 |
this.filePath = filePath; |
160 | 135 |
this.mode = mode; |
161 |
this.nomenclaturalCode = code; |
|
162 | 136 |
} |
163 | 137 |
|
164 |
|
|
165 |
/* (non-Javadoc) |
|
166 |
* @see eu.etaxonomy.cdm.database.ICdmDataSource#getName() |
|
167 |
* A CdmDataSource does not have a name representation therefore the database name is returned |
|
168 |
*/ |
|
169 | 138 |
@Override |
170 | 139 |
public String getName() { |
171 | 140 |
return database; |
... | ... | |
175 | 144 |
public String getServer() { |
176 | 145 |
return server; |
177 | 146 |
} |
178 |
|
|
147 |
|
|
179 | 148 |
@Override |
180 | 149 |
public int getPort() { |
181 | 150 |
return port; |
182 | 151 |
} |
183 | 152 |
|
184 |
@Override |
|
185 |
public NomenclaturalCode getNomenclaturalCode() { |
|
186 |
return nomenclaturalCode; |
|
187 |
} |
|
188 |
|
|
189 | 153 |
@Override |
190 | 154 |
public BeanDefinition getDatasourceBean(){ |
191 | 155 |
AbstractBeanDefinition bd = new RootBeanDefinition(dbType.getDataSourceClass()); |
... | ... | |
201 | 165 |
//properties |
202 | 166 |
MutablePropertyValues props = new MutablePropertyValues(); |
203 | 167 |
Properties persistentProperties = getDatasourceProperties(); |
204 |
Enumeration<Object> keys = (Enumeration<Object>)persistentProperties.keys();
|
|
168 |
Enumeration<Object> keys = persistentProperties.keys(); |
|
205 | 169 |
while (keys.hasMoreElements()){ |
206 | 170 |
String key = (String)keys.nextElement(); |
207 | 171 |
props.addPropertyValue(key, persistentProperties.getProperty(key)); |
... | ... | |
293 | 257 |
public String getDatabase() { |
294 | 258 |
return database; |
295 | 259 |
} |
296 |
|
|
260 |
|
|
297 | 261 |
@Override |
298 | 262 |
public void setDatabase(String database) { |
299 |
this.database = database;
|
|
263 |
this.database = database; |
|
300 | 264 |
} |
301 | 265 |
|
302 | 266 |
@Override |
... | ... | |
317 | 281 |
@Override |
318 | 282 |
public void setMode(H2Mode h2Mode) { |
319 | 283 |
this.mode = h2Mode; |
320 |
|
|
284 |
|
|
321 | 285 |
} |
322 |
|
|
286 |
|
|
323 | 287 |
@Override |
324 | 288 |
public String getPassword() { |
325 | 289 |
return password; |
... | ... | |
328 | 292 |
@Override |
329 | 293 |
public void setPassword(String password) { |
330 | 294 |
this.password = password; |
331 |
|
|
295 |
|
|
332 | 296 |
} |
333 |
|
|
297 |
|
|
334 | 298 |
@Override |
335 | 299 |
public String getUsername() { |
336 | 300 |
return username; |
... | ... | |
339 | 303 |
@Override |
340 | 304 |
public void setUsername(String username) { |
341 | 305 |
this.username = username; |
342 |
|
|
343 |
} |
|
344 |
|
|
345 |
|
|
346 |
|
|
347 |
|
|
348 |
|
|
349 | 306 |
|
307 |
} |
|
350 | 308 |
|
309 |
//********************* TO STRING() **********************/ |
|
351 | 310 |
|
352 | 311 |
@Override |
353 | 312 |
public String toString() { |
... | ... | |
359 | 318 |
} |
360 | 319 |
} |
361 | 320 |
|
362 |
|
|
363 |
|
|
364 |
|
|
365 |
|
|
366 | 321 |
} |
367 | 322 |
|
Also available in: Unified diff
ref #3658 remove nomenclaturalCode from all datasource related classes