]> source.dussan.org Git - vaadin-framework.git/commitdiff
#2590 - Added jdbcUrl support to reservr
authorArtur Signell <artur.signell@itmill.com>
Mon, 16 Feb 2009 14:23:51 +0000 (14:23 +0000)
committerArtur Signell <artur.signell@itmill.com>
Mon, 16 Feb 2009 14:23:51 +0000 (14:23 +0000)
svn changeset:6858/svn branch:trunk

src/com/itmill/toolkit/demo/reservation/ReservationApplication.java
src/com/itmill/toolkit/demo/reservation/SampleDB.java

index 0cd7dfde032ecddd85d9f488b131bbc2b8ccfe31..1d68a45452f4e7a2e123c8c9a3b1a2e4db009251 100644 (file)
@@ -57,7 +57,7 @@ public class ReservationApplication extends Application {
     @Override\r
     public void init() {\r
         //\r
-        db = new SampleDB();\r
+        db = new SampleDB(getProperty("jdbcUrl"));\r
 \r
         final Window mainWindow = new Window("Reservr ");\r
         setMainWindow(mainWindow);\r
index 582c111866566ad9e61105b3ec63fc20a4063dc0..b865d69a1e2412de54f33768667df0e51253d6e8 100644 (file)
@@ -60,8 +60,8 @@ public class SampleDB {
                 + "_RESERVED_TO";
     }
 
-    // TODO -> param
-    private static final String DB_URL = "jdbc:hsqldb:file:reservation.db";
+    private static final String DEFAULT_JDBC_URL = "jdbc:hsqldb:file:reservation.db";
+    private static Object dbMutex = new Object();
 
     private static final String CREATE_TABLE_USER = "CREATE TABLE "
             + User.TABLE + " (" + " " + User.PROPERTY_ID_ID
@@ -99,10 +99,15 @@ public class SampleDB {
 
     /**
      * Create database.
+     * 
+     * @param jdbcUrl
      */
-    public SampleDB() {
+    public SampleDB(String jdbcUrl) {
+        if (jdbcUrl == null || jdbcUrl.equals("")) {
+            jdbcUrl = DEFAULT_JDBC_URL;
+        }
         // connect to SQL database
-        connect();
+        connect(jdbcUrl);
 
     }
 
@@ -129,11 +134,11 @@ public class SampleDB {
      * named database in implicitly created into system memory.
      * 
      */
-    private synchronized void connect() {
+    private synchronized void connect(String dbUrl) {
         if (connection == null) {
             try {
                 Class.forName("org.hsqldb.jdbcDriver").newInstance();
-                connection = DriverManager.getConnection(DB_URL);
+                connection = DriverManager.getConnection(dbUrl);
             } catch (final Exception e) {
                 throw new RuntimeException(e);
             }
@@ -313,7 +318,7 @@ public class SampleDB {
                 + Reservation.PROPERTY_ID_RESERVED_TO + ","
                 + Reservation.PROPERTY_ID_DESCRIPTION + ")"
                 + "VALUES (?,?,?,?,?)";
-        synchronized (DB_URL) {
+        synchronized (dbMutex) {
             try {
                 if (!isAvailableResource(resourceId, reservedFrom, reservedTo)) {
                     throw new ResourceNotAvailableException(