Mercurial > dive4elements > river
comparison backend/src/main/java/org/dive4elements/river/backend/FLYSCredentials.java @ 8470:c5a7aae52396
Added a validation SQL query to database backends.
Enable it by storing something like "SELECT 1 FROM DUAL" in config
under /artifact-database/backend-database/validation-query/text()
or /artifact-database/seddb-database/validation-query/text().
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Wed, 12 Nov 2014 13:31:53 +0100 |
parents | cc53aae06303 |
children | 026f4c684ee5 |
comparison
equal
deleted
inserted
replaced
8469:079147282650 | 8470:c5a7aae52396 |
---|---|
106 "/artifact-database/backend-database/url/text()"; | 106 "/artifact-database/backend-database/url/text()"; |
107 | 107 |
108 public static final String XPATH_CONNECTION_INIT_SQLS = | 108 public static final String XPATH_CONNECTION_INIT_SQLS = |
109 "/artifact-database/backend-database/connection-init-sqls/text()"; | 109 "/artifact-database/backend-database/connection-init-sqls/text()"; |
110 | 110 |
111 public static final String XPATH_VALIDATION_QUERY = | |
112 "/artifact-database/backend-database/validation-query/text()"; | |
113 | |
111 public static final String DEFAULT_USER = | 114 public static final String DEFAULT_USER = |
112 System.getProperty("flys.backend.user", "flys"); | 115 System.getProperty("flys.backend.user", "flys"); |
113 | 116 |
114 public static final String DEFAULT_PASSWORD = | 117 public static final String DEFAULT_PASSWORD = |
115 System.getProperty("flys.backend.password", "flys"); | 118 System.getProperty("flys.backend.password", "flys"); |
130 "jdbc:postgresql://localhost:5432/flys"); | 133 "jdbc:postgresql://localhost:5432/flys"); |
131 | 134 |
132 public static final String DEFAULT_CONNECTION_INIT_SQLS = | 135 public static final String DEFAULT_CONNECTION_INIT_SQLS = |
133 System.getProperty( | 136 System.getProperty( |
134 "flys.backend.connection.init.sqls"); | 137 "flys.backend.connection.init.sqls"); |
138 | |
139 public static final String DEFAULT_VALIDATION_QUERY = | |
140 System.getProperty( | |
141 "flys.backend.connection.validation.query"); | |
135 | 142 |
136 public static final Class [] CLASSES = { | 143 public static final Class [] CLASSES = { |
137 Annotation.class, | 144 Annotation.class, |
138 AnnotationType.class, | 145 AnnotationType.class, |
139 Attribute.class, | 146 Attribute.class, |
219 String user, | 226 String user, |
220 String password, | 227 String password, |
221 String dialect, | 228 String dialect, |
222 String driver, | 229 String driver, |
223 String url, | 230 String url, |
224 String connectionInitSqls | 231 String connectionInitSqls, |
232 String validationQuery | |
225 ) { | 233 ) { |
226 super( | 234 super( |
227 user, password, dialect, driver, url, connectionInitSqls, CLASSES); | 235 user, password, dialect, driver, url, |
236 connectionInitSqls, validationQuery, CLASSES); | |
228 } | 237 } |
229 | 238 |
230 private static Credentials instance; | 239 private static Credentials instance; |
231 | 240 |
232 public static synchronized Credentials getInstance() { | 241 public static synchronized Credentials getInstance() { |
243 Config.getStringXPath(XPATH_URL, DEFAULT_URL); | 252 Config.getStringXPath(XPATH_URL, DEFAULT_URL); |
244 String connectionInitSqls = | 253 String connectionInitSqls = |
245 Config.getStringXPath( | 254 Config.getStringXPath( |
246 XPATH_CONNECTION_INIT_SQLS, | 255 XPATH_CONNECTION_INIT_SQLS, |
247 DEFAULT_CONNECTION_INIT_SQLS); | 256 DEFAULT_CONNECTION_INIT_SQLS); |
257 String validationQuery = | |
258 Config.getStringXPath( | |
259 XPATH_VALIDATION_QUERY, | |
260 DEFAULT_VALIDATION_QUERY); | |
248 | 261 |
249 instance = new FLYSCredentials( | 262 instance = new FLYSCredentials( |
250 user, password, dialect, driver, url, connectionInitSqls); | 263 user, password, dialect, driver, url, connectionInitSqls, validationQuery); |
251 } | 264 } |
252 return instance; | 265 return instance; |
253 } | 266 } |
254 | 267 |
255 public static Credentials getDefault() { | 268 public static Credentials getDefault() { |
257 DEFAULT_USER, | 270 DEFAULT_USER, |
258 DEFAULT_PASSWORD, | 271 DEFAULT_PASSWORD, |
259 DEFAULT_DIALECT, | 272 DEFAULT_DIALECT, |
260 DEFAULT_DRIVER, | 273 DEFAULT_DRIVER, |
261 DEFAULT_URL, | 274 DEFAULT_URL, |
262 DEFAULT_CONNECTION_INIT_SQLS); | 275 DEFAULT_CONNECTION_INIT_SQLS, |
276 DEFAULT_VALIDATION_QUERY); | |
263 } | 277 } |
264 } | 278 } |
265 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 279 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |