From 6a63c8cdfc60b4ff0fb9ee9673a429430d3d75c1 Mon Sep 17 00:00:00 2001 From: ribeaudc <ribeaudc> Date: Mon, 19 May 2008 15:28:39 +0000 Subject: [PATCH] [LMS-418] add: - Database instance id to DAO constructors. - Logic for getting the database instance and eventually re-setting it. Note that the implemented logic is currently not used is only supported by database schema 019 and up (current one is 018). SVN: 6135 --- .../DatabaseConfigurationContext.java | 52 ++++++++++++------- 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DatabaseConfigurationContext.java b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DatabaseConfigurationContext.java index 56725d14622..82ff97c9960 100644 --- a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DatabaseConfigurationContext.java +++ b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DatabaseConfigurationContext.java @@ -37,7 +37,8 @@ public class DatabaseConfigurationContext implements DisposableBean { private static final class BasicDataSourceFactory implements IDataSourceFactory { - public DataSource createDataSource(String driver, String url, String owner, String password) + public DataSource createDataSource(final String driver, final String url, + final String owner, final String password) { final BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName(driver); @@ -84,23 +85,25 @@ public class DatabaseConfigurationContext implements DisposableBean private String groupCode; + private String databaseInstance; + public DatabaseConfigurationContext() { setOwner(null); setPassword(""); } - public final void setDataSourceFactory(IDataSourceFactory dataSourceFactory) + public final void setDataSourceFactory(final IDataSourceFactory dataSourceFactory) { this.dataSourceFactory = dataSourceFactory; } - public final String getGroupCode() throws ConfigurationFailureException + public final String getGroupCode() { - return groupCode; + return StringUtils.trim(groupCode); } - public final void setGroupCode(String groupCode) throws ConfigurationFailureException + public final void setGroupCode(final String groupCode) { this.groupCode = groupCode; } @@ -150,7 +153,7 @@ public class DatabaseConfigurationContext implements DisposableBean * @param dsDatabaseName The name of the database to get the URL for. * @throws ConfigurationFailureException If undefined. */ - private final String getUrl(String dsDatabaseName) throws ConfigurationFailureException + private final String getUrl(final String dsDatabaseName) throws ConfigurationFailureException { checkDatabaseEngine(); return databaseEngine.getURL(urlHostPart, dsDatabaseName); @@ -268,7 +271,7 @@ public class DatabaseConfigurationContext implements DisposableBean * Sets the user name of the owner of the database. If <var>owner</var> is <code>null</code> * or empty, the OS user running the VM will be set instead. */ - public final void setOwner(String owner) + public final void setOwner(final String owner) { if (StringUtils.isBlank(owner)) { @@ -291,7 +294,7 @@ public class DatabaseConfigurationContext implements DisposableBean * Sets the password part of the database credentials for the db owner. A <code>null</code> * password will be replaced by an empty string. */ - public final void setPassword(String password) + public final void setPassword(final String password) { if (password == null) { @@ -309,7 +312,7 @@ public class DatabaseConfigurationContext implements DisposableBean * Spring property place holders, an empty string will be replaced by * <code>null</code>. */ - public final void setAdminUser(String adminUser) + public final void setAdminUser(final String adminUser) { if (adminUser != null && adminUser.length() == 0) { @@ -326,7 +329,7 @@ public class DatabaseConfigurationContext implements DisposableBean * * @param basicDatabaseName The basic name of the database. Must not be <code>null</code>. */ - public void setBasicDatabaseName(String basicDatabaseName) + public void setBasicDatabaseName(final String basicDatabaseName) { this.basicDatabaseName = StringUtils.trim(basicDatabaseName); } @@ -345,7 +348,7 @@ public class DatabaseConfigurationContext implements DisposableBean * * @param adminPassword New value. Can be <code>null</code>. */ - public final void setAdminPassword(String adminPassword) + public final void setAdminPassword(final String adminPassword) { this.adminPassword = adminPassword; } @@ -363,7 +366,7 @@ public class DatabaseConfigurationContext implements DisposableBean * convenience when using with Spring property place holders, an empty string will be replaced * by <code>null</code>. */ - public final void setUrlHostPart(String urlHostPart) + public final void setUrlHostPart(final String urlHostPart) { if (urlHostPart != null && urlHostPart.length() == 0) { @@ -373,7 +376,7 @@ public class DatabaseConfigurationContext implements DisposableBean this.urlHostPart = StringUtils.trim(urlHostPart); } } - + /** * Returns the URL of the database server which allows to create a new database. * @@ -418,7 +421,7 @@ public class DatabaseConfigurationContext implements DisposableBean /** * Sets the mapper from table names to sequencer names. */ - public final void setSequenceNameMapper(ISequenceNameMapper sequenceNameMapper) + public final void setSequenceNameMapper(final ISequenceNameMapper sequenceNameMapper) { this.sequenceNameMapper = sequenceNameMapper; } @@ -437,7 +440,7 @@ public class DatabaseConfigurationContext implements DisposableBean /** * Sets the database should be dropped and (re)created from scratch or not. */ - public final void setCreateFromScratch(boolean createFromScratch) + public final void setCreateFromScratch(final boolean createFromScratch) { this.createFromScratch = createFromScratch; } @@ -455,7 +458,7 @@ public class DatabaseConfigurationContext implements DisposableBean /** * Sets the db migration engine to single step mode for scripts. */ - public final void setScriptSingleStepMode(boolean singleStepMode) + public final void setScriptSingleStepMode(final boolean singleStepMode) { this.scriptSingleStepMode = singleStepMode; } @@ -466,7 +469,7 @@ public class DatabaseConfigurationContext implements DisposableBean * * @param databaseKind New value. Can be <code>null</code>. */ - public final void setDatabaseKind(String databaseKind) + public final void setDatabaseKind(final String databaseKind) { this.databaseKind = StringUtils.trim(databaseKind); } @@ -491,7 +494,7 @@ public class DatabaseConfigurationContext implements DisposableBean * @param databaseEngineCode New value. * @throws ConfigurationFailureException If there is no such database engine. */ - public final void setDatabaseEngineCode(String databaseEngineCode) + public final void setDatabaseEngineCode(final String databaseEngineCode) throws ConfigurationFailureException { this.databaseEngine = DatabaseEngine.getEngineForCode(StringUtils.trim(databaseEngineCode)); @@ -520,11 +523,21 @@ public class DatabaseConfigurationContext implements DisposableBean * * @param scriptFolder New value. Can be <code>null</code>. */ - public final void setScriptFolder(String scriptFolder) + public final void setScriptFolder(final String scriptFolder) { this.scriptFolder = scriptFolder; } + public final String getDatabaseInstance() + { + return StringUtils.trim(databaseInstance); + } + + public final void setDatabaseInstance(final String databaseInstance) + { + this.databaseInstance = databaseInstance; + } + /** Closes opened database connections. */ public final void closeConnections() { @@ -542,5 +555,4 @@ public class DatabaseConfigurationContext implements DisposableBean { closeConnections(); } - } -- GitLab