comparison artifact-database/src/main/java/org/dive4elements/artifactdatabase/DBConfig.java @ 473:d0ac790a6c89 dive4elements-move

Moved directories to org.dive4elements
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 10:57:18 +0200
parents artifact-database/src/main/java/de/intevation/artifactdatabase/DBConfig.java@c40729bfe06d
children 415df0fc4fa1
comparison
equal deleted inserted replaced
472:783cc1b6b615 473:d0ac790a6c89
1 package de.intevation.artifactdatabase;
2
3 import de.intevation.artifacts.common.utils.Config;
4
5 import de.intevation.artifactdatabase.db.SQL;
6 import de.intevation.artifactdatabase.db.DBConnection;
7
8 public class DBConfig
9 {
10 /**
11 * XPath to access the database driver within the global configuration.
12 */
13 public static final String DB_DRIVER =
14 "/artifact-database/database/driver/text()";
15 /**
16 * XPath to access the database URL within the global configuration.
17 */
18 public static final String DB_URL =
19 "/artifact-database/database/url/text()";
20 /**
21 * XPath to access the database use within the global configuration.
22 */
23 public static final String DB_USER =
24 "/artifact-database/database/user/text()";
25 /**
26 * XPath to access the database password within the global configuration.
27 */
28 public static final String DB_PASSWORD =
29 "/artifact-database/database/password/text()";
30
31 private static DBConfig instance;
32
33 private DBConnection dbConnection;
34 private SQL sql;
35
36 private DBConfig() {
37 }
38
39 private DBConfig(DBConnection dbConnection, SQL sql) {
40 this.dbConnection = dbConnection;
41 this.sql = sql;
42 }
43
44 public static synchronized DBConfig getInstance() {
45 if (instance == null) {
46 instance = createInstance();
47 }
48 return instance;
49 }
50
51 public SQL getSQL() {
52 return sql;
53 }
54
55 public DBConnection getDBConnection() {
56 return dbConnection;
57 }
58
59 private static DBConfig createInstance() {
60
61 String driver = Config.getStringXPath(
62 DB_DRIVER, DBConnection.DEFAULT_DRIVER);
63
64 String url = Config.getStringXPath(
65 DB_URL, DBConnection.DEFAULT_URL);
66
67 url = Config.replaceConfigDir(url);
68
69 String user = Config.getStringXPath(
70 DB_USER, DBConnection.DEFAULT_USER);
71
72 String password = Config.getStringXPath(
73 DB_PASSWORD, DBConnection.DEFAULT_PASSWORD);
74
75 DBConnection dbConnection = new DBConnection(
76 driver, url, user, password);
77
78 SQL sql = new SQL(driver);
79
80 return new DBConfig(dbConnection, sql);
81 }
82 }
83 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org