diff --git a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DatabaseConfigurationContext.java b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DatabaseConfigurationContext.java index d8eda33f8897d0d436f157bd29e1d5720305f0ea..f2785b1fe0a94e5e5a7bbf4061065c956bafdf7a 100644 --- a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DatabaseConfigurationContext.java +++ b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DatabaseConfigurationContext.java @@ -24,6 +24,7 @@ import org.apache.commons.dbcp.BasicDataSource; import org.springframework.jdbc.support.lob.LobHandler; import ch.systemsx.cisd.common.db.ISequencerScriptProvider; +import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException; /** * Configuration context for database operations. @@ -77,8 +78,23 @@ public class DatabaseConfigurationContext private final DataSource createDataSource() { final BasicDataSource myDataSource = new BasicDataSource(); - myDataSource.setDriverClassName(getDriver()); - final String url = MessageFormat.format(getUrlTemplate(), getDatabaseName()); + final String dsDriver = getDriver(); + if (dsDriver == null) + { + throw new ConfigurationFailureException("No db driver defined."); + } + final String dsUrlTemplate = getUrlTemplate(); + if (dsUrlTemplate == null) + { + throw new ConfigurationFailureException("No db url template defined."); + } + final String dsDatabaseName = getDatabaseName(); + if (dsDatabaseName == null) + { + throw new ConfigurationFailureException("No db name defined."); + } + myDataSource.setDriverClassName(dsDriver); + final String url = MessageFormat.format(dsUrlTemplate, dsDatabaseName); myDataSource.setUrl(url); myDataSource.setUsername(owner); myDataSource.setPassword("");