From 51610855b1bec390450bf915ad7c6e88d2865600 Mon Sep 17 00:00:00 2001 From: brinn <brinn> Date: Mon, 2 Jul 2007 05:59:52 +0000 Subject: [PATCH] change: improve error reporting by throwing better exceptions SVN: 773 --- .../DatabaseConfigurationContext.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DatabaseConfigurationContext.java b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/DatabaseConfigurationContext.java index d8eda33f889..f2785b1fe0a 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(""); -- GitLab