This is an automated email from the git hooks/post-receive script. New commit to branch feature/2892 in repository topia. See http://git.nuiton.org/topia.git commit 582cfed0a4734d525596dfdb12c1c08a35883bda Author: Arnaud Thimel <thimel@codelutin.com> Date: Fri Jan 16 16:59:06 2015 +0100 refs #2892 Delegate methods from JdbcConfigurationBuilder to TopiaConfigurationBuilder --- .../persistence/TopiaConfigurationBuilder.java | 63 ++++++++++++++++++++++ .../persistence/jdbc/JdbcConfigurationBuilder.java | 46 ++++++++-------- .../persistence/TopiaConfigurationBuilderTest.java | 4 +- 3 files changed, 86 insertions(+), 27 deletions(-) diff --git a/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaConfigurationBuilder.java b/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaConfigurationBuilder.java index 985c4bb..97398ed 100644 --- a/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaConfigurationBuilder.java +++ b/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaConfigurationBuilder.java @@ -3,6 +3,7 @@ package org.nuiton.topia.persistence; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; + import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; @@ -16,11 +17,17 @@ import org.nuiton.util.beans.BinderFactory; import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.sql.Driver; import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; import java.util.Properties; +/** + * Builder to create a {@link org.nuiton.topia.persistence.TopiaConfiguration} instance. + * <p/> + * A few methods from {@link org.nuiton.topia.persistence.jdbc.JdbcConfiguration} are delegated here. + */ public class TopiaConfigurationBuilder { private static final Log log = LogFactory.getLog(TopiaConfigurationBuilder.class); @@ -349,4 +356,60 @@ public class TopiaConfigurationBuilder { return TopiaConfigurationBuilder.toMap(beanTopiaConfiguration); } } + + + + /* + * A few methods thah delegates to JdbcConfigurationBuilder + */ + + public static ConfigureConnectionPoolingStep forDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword, String jdbcDriverClassName) { + JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forDatabase(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword, jdbcDriverClassName); + return forDatabase(jdbcConfiguration); + } + + public static ConfigureConnectionPoolingStep forDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword, Class<? extends Driver> jdbcDriverClass) { + JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forDatabase(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword, jdbcDriverClass); + return forDatabase(jdbcConfiguration); + } + + public static ConfigureConnectionPoolingStep forDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword) { + JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forDatabase(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword); + return forDatabase(jdbcConfiguration); + } + + public static ConfigureConnectionPoolingStep forPostgresqlDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword) { + JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forPostgresqlDatabase(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword); + return forDatabase(jdbcConfiguration); + } + + public static ConfigureConnectionPoolingStep forH2Database(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword) { + JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forH2Database(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword); + return forDatabase(jdbcConfiguration); + } + + public static ConfigureConnectionPoolingStep forH2Database(String jdbcConnectionUrl) { + JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forH2Database(jdbcConnectionUrl); + return forDatabase(jdbcConfiguration); + } + + public static ConfigureConnectionPoolingStep forH2Database(File file) { + JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forH2Database(file); + return forDatabase(jdbcConfiguration); + } + + public static ConfigureConnectionPoolingStep forH2DatabaseInTempDirectory() { + JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forH2DatabaseInTempDirectory(); + return forDatabase(jdbcConfiguration); + } + + public static ConfigureConnectionPoolingStep forInMemoryH2Database() { + JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forInMemoryH2Database(); + return forDatabase(jdbcConfiguration); + } + + public static ConfigureConnectionPoolingStep forTestDatabase(Class<?> testClass, String methodName) { + JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forTest(testClass, methodName); + return forDatabase(jdbcConfiguration); + } } diff --git a/topia-persistence/src/main/java/org/nuiton/topia/persistence/jdbc/JdbcConfigurationBuilder.java b/topia-persistence/src/main/java/org/nuiton/topia/persistence/jdbc/JdbcConfigurationBuilder.java index 6cde698..ca2fe45 100644 --- a/topia-persistence/src/main/java/org/nuiton/topia/persistence/jdbc/JdbcConfigurationBuilder.java +++ b/topia-persistence/src/main/java/org/nuiton/topia/persistence/jdbc/JdbcConfigurationBuilder.java @@ -15,9 +15,7 @@ import java.io.IOException; import java.sql.Driver; /** - * - * org.flywaydb.core.internal.util.jdbc.DriverDataSource - * + * Builder to create a {@link org.nuiton.topia.persistence.jdbc.JdbcConfiguration} instance */ public class JdbcConfigurationBuilder { @@ -80,6 +78,27 @@ public class JdbcConfigurationBuilder { throw new UnsupportedOperationException(); } + public static JdbcConfiguration forTest(Class<?> testClass, String methodName) { + String javaIoTmpDir = StandardSystemProperty.JAVA_IO_TMPDIR.value(); + Preconditions.checkState( + StringUtils.isNotBlank(javaIoTmpDir), + "'" + StandardSystemProperty.JAVA_IO_TMPDIR.key() + "' is not defined in environment" + ); + File tempDirectoryFile = new File(javaIoTmpDir); + try { + FileUtil.createDirectoryIfNecessary(tempDirectoryFile); + } catch (IOException e) { + throw new TopiaException(e); + } + String path = Joiner.on(File.separator).join(TIMESTAMP, testClass.getName(), methodName, "h2"); + File file = new File(tempDirectoryFile, path); + JdbcConfiguration jdbcConfiguration = forH2Database(file); + if (log.isDebugEnabled()) { + log.debug("will store H2 tests data in " + jdbcConfiguration.getJdbcConnectionUrl()); + } + return jdbcConfiguration; + } + public static String guessJdbcDriverClassName(String jdbcUrl) { String guessedJdbcDriverClassName; if (isDb2Url(jdbcUrl)) { @@ -217,25 +236,4 @@ public class JdbcConfigurationBuilder { public static boolean isDerbyUrl(String jdbcUrl) { return jdbcUrl.startsWith("jdbc:derby:"); } - - public static JdbcConfiguration forTest(Class<?> testClass, String methodName) { - String javaIoTmpDir = StandardSystemProperty.JAVA_IO_TMPDIR.value(); - Preconditions.checkState( - StringUtils.isNotBlank(javaIoTmpDir), - "'" + StandardSystemProperty.JAVA_IO_TMPDIR.key() + "' is not defined in environment" - ); - File tempDirectoryFile = new File(javaIoTmpDir); - try { - FileUtil.createDirectoryIfNecessary(tempDirectoryFile); - } catch (IOException e) { - throw new TopiaException(e); - } - String path = Joiner.on(File.separator).join(TIMESTAMP, testClass.getName(), methodName, "h2"); - File file = new File(tempDirectoryFile, path); - JdbcConfiguration jdbcConfiguration = forH2Database(file); - if (log.isDebugEnabled()) { - log.debug("will store H2 tests data in " + jdbcConfiguration.getJdbcConnectionUrl()); - } - return jdbcConfiguration; - } } diff --git a/topia-persistence/src/test/java/org/nuiton/topia/persistence/TopiaConfigurationBuilderTest.java b/topia-persistence/src/test/java/org/nuiton/topia/persistence/TopiaConfigurationBuilderTest.java index 9dc4018..dcae9bc 100644 --- a/topia-persistence/src/test/java/org/nuiton/topia/persistence/TopiaConfigurationBuilderTest.java +++ b/topia-persistence/src/test/java/org/nuiton/topia/persistence/TopiaConfigurationBuilderTest.java @@ -45,10 +45,8 @@ public class TopiaConfigurationBuilderTest { @Test public void build() { - JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forTest(getClass(), "build"); - TopiaConfiguration topiaConfiguration = - TopiaConfigurationBuilder.forDatabase(jdbcConfiguration) + TopiaConfigurationBuilder.forTestDatabase(getClass(), "build") .doNotUseConnectionPooling() .useHibernateUpdate() .build(); -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.