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 85d61202a86503457e356be6d51356d9207657a0 Author: Brendan Le Ny <bleny@codelutin.com> Date: Mon Jan 26 18:37:03 2015 +0100 Make builders instantiables --- .../framework/TopiaConnectionProviderTest.java | 11 ++- .../framework/TopiaContextReplicateTest.java | 5 +- .../topia/it/legacy/framework/TopiaUtilTest.java | 3 +- .../topia/junit/AbstractDatabaseResource.java | 3 +- .../topia/persistence/TopiaConfiguration.java | 2 + .../persistence/TopiaConfigurationBuilder.java | 87 ++++++++++++---------- .../internal/AbstractTopiaApplicationContext.java | 7 +- .../persistence/internal/HibernateProvider.java | 27 +++---- .../persistence/jdbc/JdbcConfigurationBuilder.java | 74 +++++++++--------- .../persistence/TopiaConfigurationBuilderTest.java | 10 +-- .../TopiaServiceFlywayInitOnCreateSchemaTest.java | 10 +-- .../topia/migration/TopiaMigrationEngineTest.java | 6 +- .../AbstractTopiaReplicationServiceTest.java | 5 +- 13 files changed, 130 insertions(+), 120 deletions(-) diff --git a/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaConnectionProviderTest.java b/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaConnectionProviderTest.java index 5d92169..c7dafad 100644 --- a/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaConnectionProviderTest.java +++ b/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaConnectionProviderTest.java @@ -24,10 +24,6 @@ package org.nuiton.topia.it.legacy.framework; * #L% */ -import java.io.File; -import java.util.Locale; -import java.util.Map; - import org.hibernate.cfg.AvailableSettings; import org.junit.Assert; import org.junit.Rule; @@ -40,10 +36,13 @@ import org.nuiton.topia.it.legacy.test.entities.PersonTopiaDao; import org.nuiton.topia.it.legacy.topiatest.Personne; import org.nuiton.topia.persistence.BeanTopiaConfiguration; import org.nuiton.topia.persistence.TopiaConfiguration; -import org.nuiton.topia.persistence.TopiaConfigurationBuilder; import org.nuiton.topia.persistence.TopiaException; import org.nuiton.topia.persistence.internal.TopiaConnectionProvider; +import java.io.File; +import java.util.Locale; +import java.util.Map; + /** * To test the {@link TopiaConnectionProvider} and make sure all connections * are done from here... @@ -61,7 +60,7 @@ public class TopiaConnectionProviderTest { @Override protected TopiaItLegacyTopiaApplicationContext createApplicationContext(TopiaConfiguration topiaConfiguration) { - BeanTopiaConfiguration configuration = TopiaConfigurationBuilder.copyOf(topiaConfiguration); + BeanTopiaConfiguration configuration = TopiaConfiguration.builder.copyOf(topiaConfiguration); Map<String, String> extraConf = configuration.getHibernateExtraConfiguration(); diff --git a/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaContextReplicateTest.java b/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaContextReplicateTest.java index 0216417..a954c78 100644 --- a/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaContextReplicateTest.java +++ b/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaContextReplicateTest.java @@ -36,7 +36,6 @@ import org.nuiton.topia.it.legacy.test.entities.Pet; import org.nuiton.topia.it.legacy.test.entities.PetTopiaDao; import org.nuiton.topia.persistence.TopiaConfiguration; import org.nuiton.topia.persistence.BeanTopiaConfiguration; -import org.nuiton.topia.persistence.TopiaConfigurationBuilder; /** * To test replication sugin TopiaContext. @@ -53,7 +52,7 @@ public class TopiaContextReplicateTest { @Override protected TopiaItLegacyTopiaApplicationContext createApplicationContext(TopiaConfiguration topiaConfiguration) { BeanTopiaConfiguration configuration = - TopiaConfigurationBuilder.copyOf(topiaConfiguration); + TopiaConfiguration.builder.copyOf(topiaConfiguration); configuration.setJdbcConnectionUrl(topiaConfiguration.getJdbcConnectionUrl() + "-source"); return super.createApplicationContext(configuration); } @@ -66,7 +65,7 @@ public class TopiaContextReplicateTest { @Override protected TopiaItLegacyTopiaApplicationContext createApplicationContext(TopiaConfiguration topiaConfiguration) { BeanTopiaConfiguration configuration = - TopiaConfigurationBuilder.copyOf(topiaConfiguration); + TopiaConfiguration.builder.copyOf(topiaConfiguration); configuration.setJdbcConnectionUrl(topiaConfiguration.getJdbcConnectionUrl() + "-target"); return super.createApplicationContext(configuration); } diff --git a/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaUtilTest.java b/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaUtilTest.java index 3a275c6..6054230 100644 --- a/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaUtilTest.java +++ b/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaUtilTest.java @@ -33,7 +33,6 @@ import org.nuiton.topia.it.legacy.test.entities.PersonImpl; import org.nuiton.topia.it.legacy.topiatest.Personne; import org.nuiton.topia.persistence.BeanTopiaConfiguration; import org.nuiton.topia.persistence.TopiaConfiguration; -import org.nuiton.topia.persistence.TopiaConfigurationBuilder; import org.nuiton.topia.persistence.util.TopiaUtil; import java.util.regex.Matcher; @@ -59,7 +58,7 @@ public class TopiaUtilTest { @Override protected TopiaItLegacyTopiaApplicationContext createApplicationContext(TopiaConfiguration topiaConfiguration) { - BeanTopiaConfiguration configuration = TopiaConfigurationBuilder.copyOf(topiaConfiguration); + BeanTopiaConfiguration configuration = TopiaConfiguration.builder.copyOf(topiaConfiguration); configuration.setInitSchema(false); return super.createApplicationContext(configuration); } diff --git a/topia-junit/src/main/java/org/nuiton/topia/junit/AbstractDatabaseResource.java b/topia-junit/src/main/java/org/nuiton/topia/junit/AbstractDatabaseResource.java index f3439f1..eb399c7 100644 --- a/topia-junit/src/main/java/org/nuiton/topia/junit/AbstractDatabaseResource.java +++ b/topia-junit/src/main/java/org/nuiton/topia/junit/AbstractDatabaseResource.java @@ -71,8 +71,9 @@ public abstract class AbstractDatabaseResource<PersistenceContext extends TopiaP @Override protected void starting(Description description) { + TopiaConfigurationBuilder topiaConfigurationBuilder = TopiaConfiguration.builder; TopiaConfiguration topiaConfiguration = - TopiaConfigurationBuilder.forTest( + topiaConfigurationBuilder.forTest( description.getTestClass(), description.getMethodName()); applicationContext = createApplicationContext(topiaConfiguration); diff --git a/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaConfiguration.java b/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaConfiguration.java index bbcc693..2a15d5d 100644 --- a/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaConfiguration.java +++ b/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaConfiguration.java @@ -11,6 +11,8 @@ import java.util.Map; */ public interface TopiaConfiguration extends JdbcConfiguration { + TopiaConfigurationBuilder builder = TopiaConfigurationBuilder.instance(); + /** * You can set it to false if you don't want Topia to deal with the schema (you keep it * up to date with your own sql file). 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 a7b01d8..488d995 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,7 +3,6 @@ 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; @@ -32,6 +31,8 @@ public class TopiaConfigurationBuilder { private static final Log log = LogFactory.getLog(TopiaConfigurationBuilder.class); + protected JdbcConfigurationBuilder jdbcConfigurationBuilder = new JdbcConfigurationBuilder(); + protected static final String TOPIA_SERVICE_CONFIGURATION_PREFIX = "topia.service."; protected static final String CONFIG_DEFAULT_SCHEMA = AvailableSettings.DEFAULT_SCHEMA; @@ -56,11 +57,15 @@ public class TopiaConfigurationBuilder { protected static final ImmutableSet<String> MAIN_CONFIGURATION = ImmutableSet.of(CONFIG_DRIVER, CONFIG_URL, CONFIG_USER, CONFIG_PASS); + public static TopiaConfigurationBuilder instance() { + return new TopiaConfigurationBuilder(); + } + /** * Do nothing but throws {@link TopiaMisconfigurationException} if there is a problem in * given configuration. */ - public static void check(TopiaConfiguration topiaConfiguration) throws TopiaMisconfigurationException { + public void check(TopiaConfiguration topiaConfiguration) throws TopiaMisconfigurationException { if (StringUtils.isBlank(topiaConfiguration.getJdbcConnectionUrl())) { throw new TopiaMisconfigurationException("you must provide JDBC connection URL", topiaConfiguration); } @@ -91,7 +96,7 @@ public class TopiaConfigurationBuilder { } } - public static BeanTopiaConfiguration readProperties(File propertiesFile) { + public BeanTopiaConfiguration readProperties(File propertiesFile) { FileInputStream fileInputStream = null; try { Properties properties = new Properties(); @@ -105,18 +110,24 @@ public class TopiaConfigurationBuilder { } } - public static BeanTopiaConfiguration readProperties(Properties properties) { + public BeanTopiaConfiguration readProperties(Properties properties) { return readMap((Map) ImmutableMap.copyOf(properties)); } - public static BeanTopiaConfiguration readMap(Map<String, String> configuration) { + public BeanTopiaConfiguration readMap(Map<String, String> configuration) { // JDBC connection String url = configuration.get(CONFIG_URL); String user = configuration.get(CONFIG_USER); String password = configuration.get(CONFIG_PASS); String driverName = configuration.get(CONFIG_DRIVER); - JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forDatabase(url, user, password, driverName); + + JdbcConfiguration jdbcConfiguration; + if (StringUtils.isBlank(driverName)) { + jdbcConfiguration = jdbcConfigurationBuilder.forDatabase(url, user, password); + } else { + jdbcConfiguration = jdbcConfigurationBuilder.forDatabase(url, user, password, driverName); + } BeanTopiaConfiguration result = new BeanTopiaConfiguration(jdbcConfiguration); @@ -179,7 +190,7 @@ public class TopiaConfigurationBuilder { return result; } - public static Map<String, String> toMap(TopiaConfiguration topiaConfiguration) { + public Map<String, String> toMap(TopiaConfiguration topiaConfiguration) { check(topiaConfiguration); Map<String, String> map = new LinkedHashMap<String, String>(); @@ -220,32 +231,32 @@ public class TopiaConfigurationBuilder { return map; } - public static Properties toProperties(TopiaConfiguration topiaConfiguration) { + public Properties toProperties(TopiaConfiguration topiaConfiguration) { Map<String, String> map = toMap(topiaConfiguration); Properties properties = new Properties(); properties.putAll(map); return properties; } - public static ConfigureInitSchemaStep forDatabase(JdbcConfiguration jdbcConfiguration) { + public ConfigureInitSchemaStep forDatabase(JdbcConfiguration jdbcConfiguration) { BeanTopiaConfiguration beanTopiaConfiguration = new BeanTopiaConfiguration(jdbcConfiguration); return new ConfigureInitSchemaStep(beanTopiaConfiguration); } - public static BeanTopiaConfiguration forTest(Class<?> testClass, String methodName) { - JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forTest(testClass, methodName); + public BeanTopiaConfiguration forTest(Class<?> testClass, String methodName) { + JdbcConfiguration jdbcConfiguration = jdbcConfigurationBuilder.forTestDatabase(testClass, methodName); BeanTopiaConfiguration configuration = forDatabase(jdbcConfiguration).onlyCreateSchemaIfDatabaseIsEmpty().build(); return configuration; } - public static BeanTopiaConfiguration copyOf(TopiaConfiguration topiaConfiguration) { + public BeanTopiaConfiguration copyOf(TopiaConfiguration topiaConfiguration) { BeanTopiaConfiguration copy = new BeanTopiaConfiguration(); Binder<TopiaConfiguration, BeanTopiaConfiguration> binder = BinderFactory.newBinder(TopiaConfiguration.class, BeanTopiaConfiguration.class); binder.copy(topiaConfiguration, copy); return copy; } - public static class ConfigureInitSchemaStep { + public class ConfigureInitSchemaStep { protected BeanTopiaConfiguration beanTopiaConfiguration; @@ -283,7 +294,7 @@ public class TopiaConfigurationBuilder { } - public static class BuildStep { + public class BuildStep { protected BeanTopiaConfiguration beanTopiaConfiguration; @@ -298,67 +309,65 @@ public class TopiaConfigurationBuilder { } public Properties buildProperties() { - return TopiaConfigurationBuilder.toProperties(beanTopiaConfiguration); + return toProperties(beanTopiaConfiguration); } public Map<String, String> buildMap() { - return TopiaConfigurationBuilder.toMap(beanTopiaConfiguration); + return toMap(beanTopiaConfiguration); } } - - /* - * A few methods thah delegates to JdbcConfigurationBuilder + * A few methods that delegates to jdbcConfigurationBuilder */ - public static ConfigureInitSchemaStep forDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword, String jdbcDriverClassName) { - JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forDatabase(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword, jdbcDriverClassName); + public ConfigureInitSchemaStep forInMemoryH2Database() { + JdbcConfiguration jdbcConfiguration = jdbcConfigurationBuilder.forInMemoryH2Database(); return forDatabase(jdbcConfiguration); } - public static ConfigureInitSchemaStep forDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword, Class<? extends Driver> jdbcDriverClass) { - JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forDatabase(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword, jdbcDriverClass); + public ConfigureInitSchemaStep forDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword, String jdbcDriverClassName) { + JdbcConfiguration jdbcConfiguration = jdbcConfigurationBuilder.forDatabase(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword, jdbcDriverClassName); return forDatabase(jdbcConfiguration); } - public static ConfigureInitSchemaStep forDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword) { - JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forDatabase(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword); + public ConfigureInitSchemaStep forDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword, Class<? extends Driver> jdbcDriverClass) { + JdbcConfiguration jdbcConfiguration = jdbcConfigurationBuilder.forDatabase(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword, jdbcDriverClass); return forDatabase(jdbcConfiguration); } - public static ConfigureInitSchemaStep forPostgresqlDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword) { - JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forPostgresqlDatabase(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword); + public ConfigureInitSchemaStep forDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword) { + JdbcConfiguration jdbcConfiguration = jdbcConfigurationBuilder.forDatabase(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword); return forDatabase(jdbcConfiguration); } - public static ConfigureInitSchemaStep forH2Database(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword) { - JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forH2Database(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword); + public ConfigureInitSchemaStep forPostgresqlDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword) { + JdbcConfiguration jdbcConfiguration = jdbcConfigurationBuilder.forPostgresqlDatabase(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword); return forDatabase(jdbcConfiguration); } - public static ConfigureInitSchemaStep forH2Database(String jdbcConnectionUrl) { - JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forH2Database(jdbcConnectionUrl); + public ConfigureInitSchemaStep forH2Database(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword) { + JdbcConfiguration jdbcConfiguration = jdbcConfigurationBuilder.forH2Database(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword); return forDatabase(jdbcConfiguration); } - public static ConfigureInitSchemaStep forH2Database(File file) { - JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forH2Database(file); + public ConfigureInitSchemaStep forH2Database(String jdbcConnectionUrl) { + JdbcConfiguration jdbcConfiguration = jdbcConfigurationBuilder.forH2Database(jdbcConnectionUrl); return forDatabase(jdbcConfiguration); } - public static ConfigureInitSchemaStep forH2DatabaseInTempDirectory() { - JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forH2DatabaseInTempDirectory(); + public ConfigureInitSchemaStep forH2Database(File file) { + JdbcConfiguration jdbcConfiguration = jdbcConfigurationBuilder.forH2Database(file); return forDatabase(jdbcConfiguration); } - public static ConfigureInitSchemaStep forInMemoryH2Database() { - JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forInMemoryH2Database(); + public ConfigureInitSchemaStep forH2DatabaseInTempDirectory() { + JdbcConfiguration jdbcConfiguration = jdbcConfigurationBuilder.forH2DatabaseInTempDirectory(); return forDatabase(jdbcConfiguration); } - public static ConfigureInitSchemaStep forTestDatabase(Class<?> testClass, String methodName) { - JdbcConfiguration jdbcConfiguration = JdbcConfigurationBuilder.forTest(testClass, methodName); + public ConfigureInitSchemaStep forTestDatabase(Class<?> testClass, String methodName) { + JdbcConfiguration jdbcConfiguration = jdbcConfigurationBuilder.forTestDatabase(testClass, methodName); return forDatabase(jdbcConfiguration); } } diff --git a/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/AbstractTopiaApplicationContext.java b/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/AbstractTopiaApplicationContext.java index 6fcdecc..6a50c57 100644 --- a/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/AbstractTopiaApplicationContext.java +++ b/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/AbstractTopiaApplicationContext.java @@ -35,7 +35,6 @@ import org.hibernate.tool.hbm2ddl.SchemaUpdate; import org.nuiton.topia.persistence.TopiaApplicationContext; import org.nuiton.topia.persistence.TopiaApplicationContextCache; import org.nuiton.topia.persistence.TopiaConfiguration; -import org.nuiton.topia.persistence.TopiaConfigurationBuilder; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaException; import org.nuiton.topia.persistence.TopiaIdFactory; @@ -101,7 +100,7 @@ public abstract class AbstractTopiaApplicationContext<K extends TopiaPersistence */ @Deprecated public AbstractTopiaApplicationContext(Properties properties) { - this(TopiaConfigurationBuilder.readProperties(properties)); + this(TopiaConfiguration.builder.readProperties(properties)); } /** @@ -109,7 +108,7 @@ public abstract class AbstractTopiaApplicationContext<K extends TopiaPersistence */ @Deprecated public AbstractTopiaApplicationContext(Map<String, String> map) { - this(TopiaConfigurationBuilder.readMap(map)); + this(TopiaConfiguration.builder.readMap(map)); } public AbstractTopiaApplicationContext(TopiaConfiguration configuration) { @@ -119,7 +118,7 @@ public abstract class AbstractTopiaApplicationContext<K extends TopiaPersistence protected void init() { - TopiaConfigurationBuilder.check(configuration); + TopiaConfiguration.builder.check(configuration); topiaFiresSupport = new TopiaFiresSupport(); sessionRegistry = new TopiaHibernateSessionRegistry(); diff --git a/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/HibernateProvider.java b/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/HibernateProvider.java index 4b4c46c..b90b94f 100644 --- a/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/HibernateProvider.java +++ b/topia-persistence/src/main/java/org/nuiton/topia/persistence/internal/HibernateProvider.java @@ -161,28 +161,29 @@ public class HibernateProvider { } public static String guessHibernateDialect(String jdbcConnectionUrl, String jdbcDriverClassName) { + JdbcConfigurationBuilder jdbcConfigurationBuilder = new JdbcConfigurationBuilder(); String guessedHibernateDialect = null; - if (JdbcConfigurationBuilder.isDb2Url(jdbcConnectionUrl)) { + if (jdbcConfigurationBuilder.isDb2Url(jdbcConnectionUrl)) { guessedHibernateDialect = DB2Dialect.class.getName(); - } else if (JdbcConfigurationBuilder.isDerbyUrl(jdbcConnectionUrl)) { + } else if (jdbcConfigurationBuilder.isDerbyUrl(jdbcConnectionUrl)) { guessedHibernateDialect = DerbyDialect.class.getName(); - } else if (JdbcConfigurationBuilder.isH2Url(jdbcConnectionUrl)) { + } else if (jdbcConfigurationBuilder.isH2Url(jdbcConnectionUrl)) { guessedHibernateDialect = H2Dialect.class.getName(); - } else if (JdbcConfigurationBuilder.isHsqlDbUrl(jdbcConnectionUrl)) { + } else if (jdbcConfigurationBuilder.isHsqlDbUrl(jdbcConnectionUrl)) { guessedHibernateDialect = HSQLDialect.class.getName(); - } else if (JdbcConfigurationBuilder.isMysqlUrl(jdbcConnectionUrl) - || JdbcConfigurationBuilder.isMariaDbUrl(jdbcConnectionUrl) - || JdbcConfigurationBuilder.isGoogleAppEngineUrl(jdbcConnectionUrl)) { + } else if (jdbcConfigurationBuilder.isMysqlUrl(jdbcConnectionUrl) + || jdbcConfigurationBuilder.isMariaDbUrl(jdbcConnectionUrl) + || jdbcConfigurationBuilder.isGoogleAppEngineUrl(jdbcConnectionUrl)) { guessedHibernateDialect = MySQL5Dialect.class.getName(); - } else if (JdbcConfigurationBuilder.isOracleUrl(jdbcConnectionUrl)) { + } else if (jdbcConfigurationBuilder.isOracleUrl(jdbcConnectionUrl)) { guessedHibernateDialect = Oracle10gDialect.class.getName(); - } else if (JdbcConfigurationBuilder.isPostgreSqlUrl(jdbcConnectionUrl)) { + } else if (jdbcConfigurationBuilder.isPostgreSqlUrl(jdbcConnectionUrl)) { guessedHibernateDialect = PostgreSQL9Dialect.class.getName(); - } else if (JdbcConfigurationBuilder.isJtdsUrl(jdbcConnectionUrl) - || JdbcConfigurationBuilder.isSqlServerUrl(jdbcConnectionUrl)) { + } else if (jdbcConfigurationBuilder.isJtdsUrl(jdbcConnectionUrl) + || jdbcConfigurationBuilder.isSqlServerUrl(jdbcConnectionUrl)) { guessedHibernateDialect = SQLServer2012Dialect.class.getName(); - } else if (JdbcConfigurationBuilder.isSqliteUrl(jdbcConnectionUrl) - || JdbcConfigurationBuilder.isSqlDroidUrl(jdbcConnectionUrl)) { + } else if (jdbcConfigurationBuilder.isSqliteUrl(jdbcConnectionUrl) + || jdbcConfigurationBuilder.isSqlDroidUrl(jdbcConnectionUrl)) { guessedHibernateDialect = null; } else { if (log.isWarnEnabled()) { 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 ca2fe45..e54c35b 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 @@ -23,7 +23,7 @@ public class JdbcConfigurationBuilder { protected static final String TIMESTAMP = String.valueOf(System.nanoTime()); - public static JdbcConfiguration forDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword, String jdbcDriverClassName) { + public JdbcConfiguration forDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword, String jdbcDriverClassName) { try { Class<?> jdbcDriverClass = Class.forName(jdbcDriverClassName); if (Driver.class.isAssignableFrom(jdbcDriverClass)) { @@ -36,7 +36,7 @@ public class JdbcConfigurationBuilder { } } - public static JdbcConfiguration forDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword, Class<? extends Driver> jdbcDriverClass) { + public JdbcConfiguration forDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword, Class<? extends Driver> jdbcDriverClass) { BeanJdbcConfiguration beanJdbcConfiguration = new BeanJdbcConfiguration(); beanJdbcConfiguration.setJdbcConnectionUrl(jdbcConnectionUrl); beanJdbcConfiguration.setJdbcConnectionUser(jdbcConnectionUser); @@ -45,7 +45,7 @@ public class JdbcConfigurationBuilder { return beanJdbcConfiguration; } - public static JdbcConfiguration forDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword) { + public JdbcConfiguration forDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword) { String guessedJdbcDriverClassName = guessJdbcDriverClassName(jdbcConnectionUrl); if (guessedJdbcDriverClassName == null) { throw new UnsupportedOperationException("unable to guess JDBC driver class name for URL " + jdbcConnectionUrl); @@ -53,32 +53,32 @@ public class JdbcConfigurationBuilder { return forDatabase(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword, guessedJdbcDriverClassName); } - public static JdbcConfiguration forPostgresqlDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword) { + public JdbcConfiguration forPostgresqlDatabase(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword) { return forDatabase(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword, getPostgreSqlJdbcDriverClassName()); } - public static JdbcConfiguration forH2Database(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword) { + public JdbcConfiguration forH2Database(String jdbcConnectionUrl, String jdbcConnectionUser, String jdbcConnectionPassword) { return forDatabase(jdbcConnectionUrl, jdbcConnectionUser, jdbcConnectionPassword, getH2JdbcDriverClassName()); } - public static JdbcConfiguration forH2Database(String jdbcConnectionUrl) { + public JdbcConfiguration forH2Database(String jdbcConnectionUrl) { return forH2Database(jdbcConnectionUrl, "sa", ""); } - public static JdbcConfiguration forH2Database(File file) { + public JdbcConfiguration forH2Database(File file) { String jdbcConnectionUrl = "jdbc:h2:file:" + file.getAbsolutePath(); return forH2Database(jdbcConnectionUrl); } - public static JdbcConfiguration forH2DatabaseInTempDirectory() { + public JdbcConfiguration forH2DatabaseInTempDirectory() { return forH2Database(Files.createTempDir()); } - public static JdbcConfiguration forInMemoryH2Database() { + public JdbcConfiguration forInMemoryH2Database() { throw new UnsupportedOperationException(); } - public static JdbcConfiguration forTest(Class<?> testClass, String methodName) { + public JdbcConfiguration forTestDatabase(Class<?> testClass, String methodName) { String javaIoTmpDir = StandardSystemProperty.JAVA_IO_TMPDIR.value(); Preconditions.checkState( StringUtils.isNotBlank(javaIoTmpDir), @@ -99,7 +99,7 @@ public class JdbcConfigurationBuilder { return jdbcConfiguration; } - public static String guessJdbcDriverClassName(String jdbcUrl) { + public String guessJdbcDriverClassName(String jdbcUrl) { String guessedJdbcDriverClassName; if (isDb2Url(jdbcUrl)) { guessedJdbcDriverClassName = getDb2JdbcDriverClassName(); @@ -133,107 +133,107 @@ public class JdbcConfigurationBuilder { return guessedJdbcDriverClassName; } - public static String getDb2JdbcDriverClassName() { + public String getDb2JdbcDriverClassName() { return "com.ibm.db2.jcc.DB2Driver"; } - public static String getDerbyJdbcDriverClassName() { + public String getDerbyJdbcDriverClassName() { return "org.apache.derby.jdbc.EmbeddedDriver"; } - public static String getH2JdbcDriverClassName() { + public String getH2JdbcDriverClassName() { return "org.h2.Driver"; } - public static String getHqlDbJdbcDriverClassName() { + public String getHqlDbJdbcDriverClassName() { return "org.hsqldb.jdbcDriver"; } - public static String getMysqlJdbcDriverClassName() { + public String getMysqlJdbcDriverClassName() { return "com.mysql.jdbc.Driver"; } - public static String getOracleJdbcDriverClassName() { + public String getOracleJdbcDriverClassName() { return "oracle.jdbc.OracleDriver"; } - public static String getGooglaAppEngineJdbcDriverClassName() { + public String getGooglaAppEngineJdbcDriverClassName() { return "com.google.appengine.api.rdbms.AppEngineDriver"; } - public static String getMariaDbJdbcDriverClassName() { + public String getMariaDbJdbcDriverClassName() { return "org.mariadb.jdbc.Driver"; } - public static String getPostgreSqlJdbcDriverClassName() { + public String getPostgreSqlJdbcDriverClassName() { return "org.postgresql.Driver"; } - public static String getJdtsJdbcDriverClassName() { + public String getJdtsJdbcDriverClassName() { return "net.sourceforge.jtds.jdbc.Driver"; } - public static String getSqlServerJdbcDriverClassName() { + public String getSqlServerJdbcDriverClassName() { return "com.microsoft.sqlserver.jdbc.SQLServerDriver"; } - public static String getSqliteJdbcDriverClassName() { + public String getSqliteJdbcDriverClassName() { return "org.sqlite.JDBC"; } - public static String getSqlDroidJdbcDriverClassName() { + public String getSqlDroidJdbcDriverClassName() { return "org.sqldroid.SQLDroidDriver"; } - public static boolean isDb2Url(String jdbcUrl) { + public boolean isDb2Url(String jdbcUrl) { return jdbcUrl.startsWith("jdbc:db2:"); } - public static boolean isSqlDroidUrl(String jdbcUrl) { + public boolean isSqlDroidUrl(String jdbcUrl) { return jdbcUrl.startsWith("jdbc:sqldroid:"); } - public static boolean isSqliteUrl(String jdbcUrl) { + public boolean isSqliteUrl(String jdbcUrl) { return jdbcUrl.startsWith("jdbc:sqlite:"); } - public static boolean isSqlServerUrl(String jdbcUrl) { + public boolean isSqlServerUrl(String jdbcUrl) { return jdbcUrl.startsWith("jdbc:sqlserver:"); } - public static boolean isJtdsUrl(String jdbcUrl) { + public boolean isJtdsUrl(String jdbcUrl) { return jdbcUrl.startsWith("jdbc:jtds:"); } - public static boolean isPostgreSqlUrl(String jdbcUrl) { + public boolean isPostgreSqlUrl(String jdbcUrl) { return jdbcUrl.startsWith("jdbc:postgresql:"); } - public static boolean isOracleUrl(String jdbcUrl) { + public boolean isOracleUrl(String jdbcUrl) { return jdbcUrl.startsWith("jdbc:oracle:"); } - public static boolean isGoogleAppEngineUrl(String jdbcUrl) { + public boolean isGoogleAppEngineUrl(String jdbcUrl) { return jdbcUrl.startsWith("jdbc:google:"); } - public static boolean isMariaDbUrl(String jdbcUrl) { + public boolean isMariaDbUrl(String jdbcUrl) { return jdbcUrl.startsWith("jdbc:mariadb:"); } - public static boolean isMysqlUrl(String jdbcUrl) { + public boolean isMysqlUrl(String jdbcUrl) { return jdbcUrl.startsWith("jdbc:mysql:"); } - public static boolean isHsqlDbUrl(String jdbcUrl) { + public boolean isHsqlDbUrl(String jdbcUrl) { return jdbcUrl.startsWith("jdbc:hsqldb:"); } - public static boolean isH2Url(String jdbcUrl) { + public boolean isH2Url(String jdbcUrl) { return jdbcUrl.startsWith("jdbc:h2:"); } - public static boolean isDerbyUrl(String jdbcUrl) { + public boolean isDerbyUrl(String jdbcUrl) { return jdbcUrl.startsWith("jdbc:derby:"); } } 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 62fefdd..a1f3d38 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 @@ -44,7 +44,7 @@ public class TopiaConfigurationBuilderTest { public void build() { TopiaConfiguration topiaConfiguration = - TopiaConfigurationBuilder.forTestDatabase(getClass(), "build") + TopiaConfiguration.builder.forTestDatabase(getClass(), "build") .useHibernateUpdate() .build(); @@ -55,14 +55,14 @@ public class TopiaConfigurationBuilderTest { @Test public void forTest() { - TopiaConfigurationBuilder.forTest(getClass(), "forTest"); + TopiaConfiguration.builder.forTest(getClass(), "forTest"); } @Test public void testReadProperties() { - BeanTopiaConfiguration topiaConfiguration = TopiaConfigurationBuilder.readProperties(properties); + BeanTopiaConfiguration topiaConfiguration = TopiaConfiguration.builder.readProperties(properties); Assert.assertTrue(topiaConfiguration.getHibernateExtraConfiguration().containsValue(org.hibernate.cfg.ImprovedNamingStrategy.class.getName())); @@ -71,9 +71,9 @@ public class TopiaConfigurationBuilderTest { @Test public void testToMap() { - TopiaConfiguration topiaConfiguration = TopiaConfigurationBuilder.readProperties(properties); + TopiaConfiguration topiaConfiguration = TopiaConfiguration.builder.readProperties(properties); - Map<String, String> map = TopiaConfigurationBuilder.toMap(topiaConfiguration); + Map<String, String> map = TopiaConfiguration.builder.toMap(topiaConfiguration); if (log.isDebugEnabled()) { log.debug("generated map is " + map); diff --git a/topia-service-flyway/src/test/java/org/nuiton/topia/flyway/TopiaServiceFlywayInitOnCreateSchemaTest.java b/topia-service-flyway/src/test/java/org/nuiton/topia/flyway/TopiaServiceFlywayInitOnCreateSchemaTest.java index 6c224f8..99f37db 100644 --- a/topia-service-flyway/src/test/java/org/nuiton/topia/flyway/TopiaServiceFlywayInitOnCreateSchemaTest.java +++ b/topia-service-flyway/src/test/java/org/nuiton/topia/flyway/TopiaServiceFlywayInitOnCreateSchemaTest.java @@ -30,7 +30,7 @@ import org.junit.Ignore; import org.junit.Test; import org.nuiton.topia.it.mapping.TopiaItMappingTopiaApplicationContext; import org.nuiton.topia.persistence.BeanTopiaConfiguration; -import org.nuiton.topia.persistence.TopiaConfigurationBuilder; +import org.nuiton.topia.persistence.TopiaConfiguration; import org.nuiton.topia.persistence.jdbc.JdbcH2Helper; /** @@ -50,7 +50,7 @@ public class TopiaServiceFlywayInitOnCreateSchemaTest { @Test public void testInitWithUseModelVersion() throws Exception { - BeanTopiaConfiguration config = TopiaConfigurationBuilder.forTest(getClass(), "testInitWithUseModelVersion"); + BeanTopiaConfiguration config = TopiaConfiguration.builder.forTest(getClass(), "testInitWithUseModelVersion"); config.addDeclaredService("migration", TopiaFlywayServiceImpl.class.getName(), ImmutableMap.of(TopiaFlywayService.USE_MODEL_VERSION, "true")); JdbcH2Helper jdbcH2Helper = new JdbcH2Helper(config); @@ -75,7 +75,7 @@ public class TopiaServiceFlywayInitOnCreateSchemaTest { @Test public void testInitWithoutUseModelVersion() throws Exception { - BeanTopiaConfiguration config = TopiaConfigurationBuilder.forTest(getClass(), "testInitWithoutUseModelVersion"); + BeanTopiaConfiguration config = TopiaConfiguration.builder.forTest(getClass(), "testInitWithoutUseModelVersion"); config.addDeclaredService("migration", TopiaFlywayServiceImpl.class.getName(), ImmutableMap.of(TopiaFlywayService.USE_MODEL_VERSION, "false")); JdbcH2Helper jdbcH2Helper = new JdbcH2Helper(config); @@ -101,7 +101,7 @@ public class TopiaServiceFlywayInitOnCreateSchemaTest { @Ignore // This test won't work since it is not possible to give flyway another test dir than 'db/migration" public void testInitWithFlywayInitVersion() throws Exception { - BeanTopiaConfiguration config = TopiaConfigurationBuilder.forTest(getClass(), "testInitWithFlywayInitVersion"); + BeanTopiaConfiguration config = TopiaConfiguration.builder.forTest(getClass(), "testInitWithFlywayInitVersion"); config.addDeclaredService( "migration", TopiaFlywayServiceImpl.class.getName(), @@ -131,7 +131,7 @@ public class TopiaServiceFlywayInitOnCreateSchemaTest { @Test(expected = IllegalStateException.class) public void testInitWithInvalidConf() throws Exception { - BeanTopiaConfiguration config = TopiaConfigurationBuilder.forTest(getClass(), "testInitWithInvalidConf"); + BeanTopiaConfiguration config = TopiaConfiguration.builder.forTest(getClass(), "testInitWithInvalidConf"); config.addDeclaredService( "migration", diff --git a/topia-service-migration/src/test/java/org/nuiton/topia/migration/TopiaMigrationEngineTest.java b/topia-service-migration/src/test/java/org/nuiton/topia/migration/TopiaMigrationEngineTest.java index 121ca58..5a77436 100644 --- a/topia-service-migration/src/test/java/org/nuiton/topia/migration/TopiaMigrationEngineTest.java +++ b/topia-service-migration/src/test/java/org/nuiton/topia/migration/TopiaMigrationEngineTest.java @@ -31,7 +31,7 @@ import org.junit.Test; import org.nuiton.topia.it.mapping.TopiaItMappingTopiaApplicationContext; import org.nuiton.topia.it.mapping.TopiaItMappingTopiaPersistenceContext; import org.nuiton.topia.persistence.BeanTopiaConfiguration; -import org.nuiton.topia.persistence.TopiaConfigurationBuilder; +import org.nuiton.topia.persistence.TopiaConfiguration; import org.nuiton.topia.persistence.jdbc.JdbcConfiguration; import org.nuiton.topia.persistence.jdbc.JdbcH2Helper; import org.nuiton.topia.persistence.jdbc.JdbcHelper; @@ -65,7 +65,7 @@ public class TopiaMigrationEngineTest { @Test public void testMigrationHasRan() throws Exception { - BeanTopiaConfiguration config = TopiaConfigurationBuilder.forTest(getClass(), "testMigrationHasRan"); + BeanTopiaConfiguration config = TopiaConfiguration.builder.forTest(getClass(), "testMigrationHasRan"); config.addDeclaredService("migration", TopiaMigrationEngine.class, ImmutableMap.of(TopiaMigrationService.MIGRATION_CALLBACK, TestMigrationCallbackCreateWhateverTable.class.getName())); @@ -122,7 +122,7 @@ public class TopiaMigrationEngineTest { public void testValidateAfterMigration() throws Exception { // new application context will init database schema because of topia.persistence.initSchema=true - BeanTopiaConfiguration config = TopiaConfigurationBuilder.forTest(getClass(), "testValidateAfterMigration"); + BeanTopiaConfiguration config = TopiaConfiguration.builder.forTest(getClass(), "testValidateAfterMigration"); TopiaItMappingTopiaApplicationContext applicationContext = new TopiaItMappingTopiaApplicationContext(config); diff --git a/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractTopiaReplicationServiceTest.java b/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractTopiaReplicationServiceTest.java index cd181f0..608700f 100644 --- a/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractTopiaReplicationServiceTest.java +++ b/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractTopiaReplicationServiceTest.java @@ -85,8 +85,9 @@ public abstract class AbstractTopiaReplicationServiceTest extends Assert { private static final String TEST_BASEDIR = "target%1$ssurefire-tests%1$s%2$td_%2$tm_%2$tY%1$s%2$tH_%2$tM_%2$tS"; protected TopiaItLegacyTopiaApplicationContext newTopiaItLegacyTopiaApplicationContext(String name) { - TopiaConfiguration topiaConfiguration = TopiaConfigurationBuilder.forTest(getClass(), name); - BeanTopiaConfiguration beanTopiaConfiguration = TopiaConfigurationBuilder.copyOf(topiaConfiguration); + TopiaConfigurationBuilder topiaConfigurationBuilder = TopiaConfiguration.builder; + TopiaConfiguration topiaConfiguration = topiaConfigurationBuilder.forTest(getClass(), name); + BeanTopiaConfiguration beanTopiaConfiguration = topiaConfigurationBuilder.copyOf(topiaConfiguration); beanTopiaConfiguration.addDeclaredService("replication", TopiaReplicationServiceImpl.class, Collections.<String, String>emptyMap()); return new TopiaItLegacyTopiaApplicationContext(beanTopiaConfiguration); } -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.