Skip to content
Snippets Groups Projects
Commit 8bd87285 authored by brinn's avatar brinn
Browse files

[LMS-941] change: allow configuration of database context in properties file

SVN: 11422
parent 89d34c19
No related branches found
No related tags found
No related merge requests found
......@@ -19,10 +19,14 @@ package ch.systemsx.cisd.yeastx.etl;
import java.io.File;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import org.apache.commons.io.FilenameUtils;
import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException;
import ch.systemsx.cisd.common.utilities.BeanUtils;
import ch.systemsx.cisd.common.utilities.ExtendedProperties;
import ch.systemsx.cisd.dbmigration.DatabaseConfigurationContext;
import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation;
import ch.systemsx.cisd.yeastx.db.DBFactory;
import ch.systemsx.cisd.yeastx.db.DMDataSetDTO;
......@@ -37,20 +41,26 @@ import ch.systemsx.cisd.yeastx.fiaml.FIAML2Database;
*/
public class ML2DatabaseUploader
{
private static final String DATABASE_PROPERTIES_PREFIX = "database.";
private final Connection connection;
public ML2DatabaseUploader()
public ML2DatabaseUploader(Properties props)
{
this.connection = getDatabaseConnection();
final Properties dbProps =
ExtendedProperties.getSubset(props, DATABASE_PROPERTIES_PREFIX, true);
final DatabaseConfigurationContext dbContext =
(dbProps.isEmpty() ? DBFactory.createDefaultDBContext() : BeanUtils.createBean(
DatabaseConfigurationContext.class, dbProps));
this.connection = getDatabaseConnection(dbContext);
}
private static Connection getDatabaseConnection() throws EnvironmentFailureException
private static Connection getDatabaseConnection(DatabaseConfigurationContext dbContext)
throws EnvironmentFailureException
{
try
{
// TODO 2009-06-17, Bernd Rinn: Get the DatabaseConfigurationContext from Spring instead
// of using the default one.
return new DBFactory(DBFactory.createDefaultDBContext()).getConnection();
return new DBFactory(dbContext).getConnection();
} catch (SQLException e)
{
throw EnvironmentFailureException.fromTemplate(e,
......
......@@ -35,7 +35,7 @@ public class StorageProcessorWithMLUploader extends AbstractDelegatingStoragePro
public StorageProcessorWithMLUploader(Properties properties)
{
super(properties);
this.uploader = new ML2DatabaseUploader();
this.uploader = new ML2DatabaseUploader(properties);
}
@Override
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment