comparison flys-backend/src/main/java/de/intevation/flys/backend/FLYSCredentials.java @ 5193:fb9dcc68b9c2

Possible fix for flys/1202. Initial SQL statements can now be issued at connection creation.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 07 Mar 2013 17:39:25 +0100
parents d4fdd98a04f7
children 92c8f8d1a3ba
comparison
equal deleted inserted replaced
5192:1b6d4edeeb4c 5193:fb9dcc68b9c2
94 "/artifact-database/backend-database/driver/text()"; 94 "/artifact-database/backend-database/driver/text()";
95 95
96 public static final String XPATH_URL = 96 public static final String XPATH_URL =
97 "/artifact-database/backend-database/url/text()"; 97 "/artifact-database/backend-database/url/text()";
98 98
99 public static final String XPATH_CONNECTION_INIT_SQLS =
100 "/artifact-database/backend-database/connection-init-sqls/text()";
101
99 public static final String DEFAULT_USER = 102 public static final String DEFAULT_USER =
100 System.getProperty("flys.backend.user", "flys"); 103 System.getProperty("flys.backend.user", "flys");
101 104
102 public static final String DEFAULT_PASSWORD = 105 public static final String DEFAULT_PASSWORD =
103 System.getProperty("flys.backend.password", "flys"); 106 System.getProperty("flys.backend.password", "flys");
114 117
115 public static final String DEFAULT_URL = 118 public static final String DEFAULT_URL =
116 System.getProperty( 119 System.getProperty(
117 "flys.backend.url", 120 "flys.backend.url",
118 "jdbc:postgresql://localhost:5432/flys"); 121 "jdbc:postgresql://localhost:5432/flys");
122
123 public static final String DEFAULT_CONNECTION_INIT_SQLS =
124 System.getProperty(
125 "flys.backend.connection.init.sqls");
119 126
120 public static final Class [] CLASSES = { 127 public static final Class [] CLASSES = {
121 Annotation.class, 128 Annotation.class,
122 AnnotationType.class, 129 AnnotationType.class,
123 Attribute.class, 130 Attribute.class,
201 public FLYSCredentials( 208 public FLYSCredentials(
202 String user, 209 String user,
203 String password, 210 String password,
204 String dialect, 211 String dialect,
205 String driver, 212 String driver,
206 String url 213 String url,
214 String connectionInitSqls
207 ) { 215 ) {
208 super(user, password, dialect, driver, url, CLASSES); 216 super(
217 user, password, dialect, driver, url, connectionInitSqls, CLASSES);
209 } 218 }
210 219
211 private static Credentials instance; 220 private static Credentials instance;
212 221
213 public static synchronized Credentials getInstance() { 222 public static synchronized Credentials getInstance() {
220 Config.getStringXPath(XPATH_DIALECT, DEFAULT_DIALECT); 229 Config.getStringXPath(XPATH_DIALECT, DEFAULT_DIALECT);
221 String driver = 230 String driver =
222 Config.getStringXPath(XPATH_DRIVER, DEFAULT_DRIVER); 231 Config.getStringXPath(XPATH_DRIVER, DEFAULT_DRIVER);
223 String url = 232 String url =
224 Config.getStringXPath(XPATH_URL, DEFAULT_URL); 233 Config.getStringXPath(XPATH_URL, DEFAULT_URL);
234 String connectionInitSqls =
235 Config.getStringXPath(
236 XPATH_CONNECTION_INIT_SQLS,
237 DEFAULT_CONNECTION_INIT_SQLS);
225 238
226 instance = new FLYSCredentials( 239 instance = new FLYSCredentials(
227 user, password, dialect, driver, url); 240 user, password, dialect, driver, connectionInitSqls, url);
228 } 241 }
229 return instance; 242 return instance;
230 } 243 }
231 244
232 public static Credentials getDefault() { 245 public static Credentials getDefault() {
233 return new FLYSCredentials( 246 return new FLYSCredentials(
234 DEFAULT_USER, 247 DEFAULT_USER,
235 DEFAULT_PASSWORD, 248 DEFAULT_PASSWORD,
236 DEFAULT_DIALECT, 249 DEFAULT_DIALECT,
237 DEFAULT_DRIVER, 250 DEFAULT_DRIVER,
238 DEFAULT_URL); 251 DEFAULT_URL,
252 DEFAULT_CONNECTION_INIT_SQLS);
239 } 253 }
240 } 254 }
241 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 255 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org