From e438c4af2e62ef0bd3c899b0e60c9383c67df023 Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Thu, 1 Nov 2007 16:48:46 +0000
Subject: [PATCH] new attribute 'databaseVersion'

SVN: 2347
---
 .../DatabaseConfigurationContext.java         | 27 +++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DatabaseConfigurationContext.java b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DatabaseConfigurationContext.java
index a635dad82f0..6dcb719829f 100644
--- a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DatabaseConfigurationContext.java
+++ b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DatabaseConfigurationContext.java
@@ -33,6 +33,8 @@ import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException;
  */
 public class DatabaseConfigurationContext
 {
+    private String databaseVersion;
+    
     private String driver;
 
     private LobHandler lobHandler;
@@ -132,6 +134,31 @@ public class DatabaseConfigurationContext
         return adminDataSource;
     }
 
+    /**
+     * Returns the database version which should be used. If not set by {@link #setDatabaseVersion(String)} 
+     * <code>defaultDatabaseVersion</code> will be returned.
+     * 
+     * @throws ConfigurationFailureException if the database version is beyound the default one.
+     */
+    public final String getDatabaseVersion(String defaultDatabaseVersion)
+    {
+        if (databaseVersion == null)
+        {
+            return defaultDatabaseVersion;
+        }
+        if (databaseVersion.compareTo(defaultDatabaseVersion) > 0)
+        {
+            throw new ConfigurationFailureException("Database version " + databaseVersion
+                    + " is not supported. Latest supported database version is " + defaultDatabaseVersion);
+        }
+        return databaseVersion;
+    }
+
+    public final void setDatabaseVersion(String databaseVersion)
+    {
+        this.databaseVersion = databaseVersion;
+    }
+
     /**
      * Returns the user name of the owner of the database.
      */
-- 
GitLab