From f66ea12fbffb4b6ae315ece09206d8740ecc5c9f Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Sat, 3 Dec 2016 15:39:24 +1300 Subject: [PATCH] #912 - Refactor - move platform specfic code into subpackages --- .../dbplatform/{ => db2}/DB2Platform.java | 6 +++- .../{ => db2}/DB2SequenceIdGenerator.java | 3 +- .../dbplatform/{ => db2}/Db2SqlLimiter.java | 6 +++- .../dbplatform/{ => h2}/H2DbEncrypt.java | 5 +++- .../dbplatform/{ => h2}/H2HistorySupport.java | 4 ++- .../dbplatform/{ => h2}/H2HistoryTrigger.java | 2 +- .../dbplatform/{ => h2}/H2Platform.java | 7 ++++- .../{ => h2}/H2SequenceIdGenerator.java | 3 +- .../{ => hsqldb}/HsqldbPlatform.java | 9 +++++- .../dbplatform/{ => mysql}/MySqlBlob.java | 4 ++- .../dbplatform/{ => mysql}/MySqlClob.java | 4 ++- .../{ => mysql}/MySqlDbEncrypt.java | 5 +++- .../{ => mysql}/MySqlHistorySupport.java | 4 ++- .../dbplatform/{ => mysql}/MySqlPlatform.java | 7 ++++- .../{ => oracle}/OracleDbEncrypt.java | 5 +++- .../{ => oracle}/OracleDbHistorySupport.java | 4 ++- .../{ => oracle}/OraclePlatform.java | 9 +++++- .../OracleSequenceIdGenerator.java | 3 +- .../{ => postgres}/Postgres8Platform.java | 4 ++- .../{ => postgres}/PostgresDbEncrypt.java | 5 +++- .../PostgresHistorySupport.java | 4 ++- .../{ => postgres}/PostgresPlatform.java | 7 ++++- .../PostgresSequenceIdGenerator.java | 3 +- .../{ => sqlanywhere}/SqlAnywhereLimiter.java | 6 +++- .../SqlAnywherePlatform.java | 7 ++++- .../{ => sqlite}/SQLitePlatform.java | 6 +++- .../SqlServer2005Platform.java | 2 +- .../SqlServer2005SqlLimiter.java | 6 +++- .../SqlServer2012SqlLimiter.java | 6 +++- .../SqlServerBasicSqlLimiter.java | 4 ++- .../{ => sqlserver}/SqlServerPlatform.java | 6 +++- .../avaje/ebean/dbmigration/DbMigration.java | 14 ++++----- .../ddlgeneration/platform/H2HistoryDdl.java | 2 +- .../server/core/DatabasePlatformFactory.java | 20 ++++++------- .../server/core/DefaultContainer.java | 2 +- src/test/java/com/avaje/Main.java | 29 +++++++++++++++++++ .../EbeanServerFactory_MultiTenancy_Test.java | 4 +-- .../dbplatform/DatabasePlatformTest.java | 2 ++ .../config/dbplatform/DbTypeMapTest.java | 1 + .../config/dbplatform/H2PlatformTest.java | 3 +- .../dbplatform/MySqlHistorySupportTest.java | 1 + .../config/dbplatform/MySqlPlatformTest.java | 1 + .../config/dbplatform/OraclePlatformTest.java | 1 + .../PostgresHistorySupportTest.java | 1 + .../dbplatform/PostgresPlatformTest.java | 1 + .../ddlgeneration/BaseDdlHandlerTest.java | 6 ++-- .../platform/BaseTableDdlTest.java | 6 ++-- .../platform/H2HistoryDdlTest.java | 2 +- .../platform/PlatformDdl_AlterColumnTest.java | 10 +++---- .../PlatformDdl_dropUniqueConstraintTest.java | 10 +++---- .../platform/PlatformTypeConverterTest.java | 6 ++-- .../ebean/server/type/TestTypeManager.java | 2 +- .../server/type/DefaultTypeManagerTest.java | 2 +- .../com/avaje/tests/basic/MainDbBoolean.java | 2 +- .../tests/query/TestQueryFindPagedList.java | 2 +- .../other/TestQueryRowCountWithMany.java | 1 + src/test/resources/ebean.properties | 11 +++---- src/test/resources/logback-test.xml | 4 +-- 58 files changed, 218 insertions(+), 84 deletions(-) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => db2}/DB2Platform.java (81%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => db2}/DB2SequenceIdGenerator.java (88%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => db2}/Db2SqlLimiter.java (73%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => h2}/H2DbEncrypt.java (88%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => h2}/H2HistorySupport.java (50%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => h2}/H2HistoryTrigger.java (98%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => h2}/H2Platform.java (81%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => h2}/H2SequenceIdGenerator.java (88%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => hsqldb}/HsqldbPlatform.java (65%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => mysql}/MySqlBlob.java (86%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => mysql}/MySqlClob.java (86%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => mysql}/MySqlDbEncrypt.java (84%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => mysql}/MySqlHistorySupport.java (51%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => mysql}/MySqlPlatform.java (85%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => oracle}/OracleDbEncrypt.java (95%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => oracle}/OracleDbHistorySupport.java (87%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => oracle}/OraclePlatform.java (83%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => oracle}/OracleSequenceIdGenerator.java (85%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => postgres}/Postgres8Platform.java (81%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => postgres}/PostgresDbEncrypt.java (84%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => postgres}/PostgresHistorySupport.java (90%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => postgres}/PostgresPlatform.java (91%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => postgres}/PostgresSequenceIdGenerator.java (85%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => sqlanywhere}/SqlAnywhereLimiter.java (79%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => sqlanywhere}/SqlAnywherePlatform.java (82%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => sqlite}/SQLitePlatform.java (75%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => sqlserver}/SqlServer2005Platform.java (81%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => sqlserver}/SqlServer2005SqlLimiter.java (89%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => sqlserver}/SqlServer2012SqlLimiter.java (83%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => sqlserver}/SqlServerBasicSqlLimiter.java (84%) rename src/main/java/com/avaje/ebean/config/dbplatform/{ => sqlserver}/SqlServerPlatform.java (87%) create mode 100644 src/test/java/com/avaje/Main.java diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/DB2Platform.java b/src/main/java/com/avaje/ebean/config/dbplatform/db2/DB2Platform.java similarity index 81% rename from src/main/java/com/avaje/ebean/config/dbplatform/DB2Platform.java rename to src/main/java/com/avaje/ebean/config/dbplatform/db2/DB2Platform.java index ed30fa2f4..e0a575259 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/DB2Platform.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/db2/DB2Platform.java @@ -1,6 +1,10 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.db2; import com.avaje.ebean.BackgroundExecutor; +import com.avaje.ebean.config.dbplatform.DatabasePlatform; +import com.avaje.ebean.config.dbplatform.DbPlatformType; +import com.avaje.ebean.config.dbplatform.DbType; +import com.avaje.ebean.config.dbplatform.PlatformIdGenerator; import com.avaje.ebean.dbmigration.ddlgeneration.platform.DB2Ddl; import javax.sql.DataSource; diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/DB2SequenceIdGenerator.java b/src/main/java/com/avaje/ebean/config/dbplatform/db2/DB2SequenceIdGenerator.java similarity index 88% rename from src/main/java/com/avaje/ebean/config/dbplatform/DB2SequenceIdGenerator.java rename to src/main/java/com/avaje/ebean/config/dbplatform/db2/DB2SequenceIdGenerator.java index fdc24a0f6..7523f7c45 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/DB2SequenceIdGenerator.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/db2/DB2SequenceIdGenerator.java @@ -1,6 +1,7 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.db2; import com.avaje.ebean.BackgroundExecutor; +import com.avaje.ebean.config.dbplatform.SequenceIdGenerator; import javax.sql.DataSource; diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/Db2SqlLimiter.java b/src/main/java/com/avaje/ebean/config/dbplatform/db2/Db2SqlLimiter.java similarity index 73% rename from src/main/java/com/avaje/ebean/config/dbplatform/Db2SqlLimiter.java rename to src/main/java/com/avaje/ebean/config/dbplatform/db2/Db2SqlLimiter.java index c96daef7e..9c5b5a486 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/Db2SqlLimiter.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/db2/Db2SqlLimiter.java @@ -1,4 +1,8 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.db2; + +import com.avaje.ebean.config.dbplatform.SqlLimitRequest; +import com.avaje.ebean.config.dbplatform.SqlLimitResponse; +import com.avaje.ebean.config.dbplatform.SqlLimiter; public class Db2SqlLimiter implements SqlLimiter { diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/H2DbEncrypt.java b/src/main/java/com/avaje/ebean/config/dbplatform/h2/H2DbEncrypt.java similarity index 88% rename from src/main/java/com/avaje/ebean/config/dbplatform/H2DbEncrypt.java rename to src/main/java/com/avaje/ebean/config/dbplatform/h2/H2DbEncrypt.java index 8641b159e..53be57dc8 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/H2DbEncrypt.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/h2/H2DbEncrypt.java @@ -1,4 +1,7 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.h2; + +import com.avaje.ebean.config.dbplatform.AbstractDbEncrypt; +import com.avaje.ebean.config.dbplatform.DbEncryptFunction; /** * H2 encryption support via encrypt decrypt function. diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/H2HistorySupport.java b/src/main/java/com/avaje/ebean/config/dbplatform/h2/H2HistorySupport.java similarity index 50% rename from src/main/java/com/avaje/ebean/config/dbplatform/H2HistorySupport.java rename to src/main/java/com/avaje/ebean/config/dbplatform/h2/H2HistorySupport.java index b8aa4a023..5cb1662ad 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/H2HistorySupport.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/h2/H2HistorySupport.java @@ -1,4 +1,6 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.h2; + +import com.avaje.ebean.config.dbplatform.DbViewHistorySupport; /** * Runtime support for @History with H2. diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/H2HistoryTrigger.java b/src/main/java/com/avaje/ebean/config/dbplatform/h2/H2HistoryTrigger.java similarity index 98% rename from src/main/java/com/avaje/ebean/config/dbplatform/H2HistoryTrigger.java rename to src/main/java/com/avaje/ebean/config/dbplatform/h2/H2HistoryTrigger.java index 1eb4a459b..830471c2c 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/H2HistoryTrigger.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/h2/H2HistoryTrigger.java @@ -1,4 +1,4 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.h2; import org.h2.api.Trigger; import org.slf4j.Logger; diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/H2Platform.java b/src/main/java/com/avaje/ebean/config/dbplatform/h2/H2Platform.java similarity index 81% rename from src/main/java/com/avaje/ebean/config/dbplatform/H2Platform.java rename to src/main/java/com/avaje/ebean/config/dbplatform/h2/H2Platform.java index 05d841088..09739e7f6 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/H2Platform.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/h2/H2Platform.java @@ -1,6 +1,11 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.h2; import com.avaje.ebean.BackgroundExecutor; +import com.avaje.ebean.config.dbplatform.DatabasePlatform; +import com.avaje.ebean.config.dbplatform.DbPlatformType; +import com.avaje.ebean.config.dbplatform.DbType; +import com.avaje.ebean.config.dbplatform.IdType; +import com.avaje.ebean.config.dbplatform.PlatformIdGenerator; import com.avaje.ebean.dbmigration.ddlgeneration.platform.H2Ddl; import javax.sql.DataSource; diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/H2SequenceIdGenerator.java b/src/main/java/com/avaje/ebean/config/dbplatform/h2/H2SequenceIdGenerator.java similarity index 88% rename from src/main/java/com/avaje/ebean/config/dbplatform/H2SequenceIdGenerator.java rename to src/main/java/com/avaje/ebean/config/dbplatform/h2/H2SequenceIdGenerator.java index 4b234bb8b..07c435aec 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/H2SequenceIdGenerator.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/h2/H2SequenceIdGenerator.java @@ -1,6 +1,7 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.h2; import com.avaje.ebean.BackgroundExecutor; +import com.avaje.ebean.config.dbplatform.SequenceIdGenerator; import javax.sql.DataSource; diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/HsqldbPlatform.java b/src/main/java/com/avaje/ebean/config/dbplatform/hsqldb/HsqldbPlatform.java similarity index 65% rename from src/main/java/com/avaje/ebean/config/dbplatform/HsqldbPlatform.java rename to src/main/java/com/avaje/ebean/config/dbplatform/hsqldb/HsqldbPlatform.java index 8ae8ad499..454fc6b35 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/HsqldbPlatform.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/hsqldb/HsqldbPlatform.java @@ -1,6 +1,13 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.hsqldb; import com.avaje.ebean.BackgroundExecutor; +import com.avaje.ebean.config.dbplatform.DatabasePlatform; +import com.avaje.ebean.config.dbplatform.DbPlatformType; +import com.avaje.ebean.config.dbplatform.DbType; +import com.avaje.ebean.config.dbplatform.IdType; +import com.avaje.ebean.config.dbplatform.PlatformIdGenerator; +import com.avaje.ebean.config.dbplatform.h2.H2DbEncrypt; +import com.avaje.ebean.config.dbplatform.h2.H2SequenceIdGenerator; import com.avaje.ebean.dbmigration.ddlgeneration.platform.HsqldbDdl; import javax.sql.DataSource; diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/MySqlBlob.java b/src/main/java/com/avaje/ebean/config/dbplatform/mysql/MySqlBlob.java similarity index 86% rename from src/main/java/com/avaje/ebean/config/dbplatform/MySqlBlob.java rename to src/main/java/com/avaje/ebean/config/dbplatform/mysql/MySqlBlob.java index b3482b30b..9f50d53a7 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/MySqlBlob.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/mysql/MySqlBlob.java @@ -1,4 +1,6 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.mysql; + +import com.avaje.ebean.config.dbplatform.DbPlatformType; /** * Support for blob, mediumblob or longblob selection based on the deployment diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/MySqlClob.java b/src/main/java/com/avaje/ebean/config/dbplatform/mysql/MySqlClob.java similarity index 86% rename from src/main/java/com/avaje/ebean/config/dbplatform/MySqlClob.java rename to src/main/java/com/avaje/ebean/config/dbplatform/mysql/MySqlClob.java index 9fbb61cdd..fb06c15b9 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/MySqlClob.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/mysql/MySqlClob.java @@ -1,4 +1,6 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.mysql; + +import com.avaje.ebean.config.dbplatform.DbPlatformType; /** * Support for text, mediumtext or longtext selection based on the deployment diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/MySqlDbEncrypt.java b/src/main/java/com/avaje/ebean/config/dbplatform/mysql/MySqlDbEncrypt.java similarity index 84% rename from src/main/java/com/avaje/ebean/config/dbplatform/MySqlDbEncrypt.java rename to src/main/java/com/avaje/ebean/config/dbplatform/mysql/MySqlDbEncrypt.java index 474d06b0a..355f8d203 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/MySqlDbEncrypt.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/mysql/MySqlDbEncrypt.java @@ -1,4 +1,7 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.mysql; + +import com.avaje.ebean.config.dbplatform.AbstractDbEncrypt; +import com.avaje.ebean.config.dbplatform.DbEncryptFunction; /** * MySql aes_encrypt aes_decrypt based encryption support. diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/MySqlHistorySupport.java b/src/main/java/com/avaje/ebean/config/dbplatform/mysql/MySqlHistorySupport.java similarity index 51% rename from src/main/java/com/avaje/ebean/config/dbplatform/MySqlHistorySupport.java rename to src/main/java/com/avaje/ebean/config/dbplatform/mysql/MySqlHistorySupport.java index f3cac58c5..8a06b24a3 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/MySqlHistorySupport.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/mysql/MySqlHistorySupport.java @@ -1,4 +1,6 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.mysql; + +import com.avaje.ebean.config.dbplatform.DbViewHistorySupport; /** * Runtime support for @History with MySql. diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/MySqlPlatform.java b/src/main/java/com/avaje/ebean/config/dbplatform/mysql/MySqlPlatform.java similarity index 85% rename from src/main/java/com/avaje/ebean/config/dbplatform/MySqlPlatform.java rename to src/main/java/com/avaje/ebean/config/dbplatform/mysql/MySqlPlatform.java index 718da4e19..c08ea9b52 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/MySqlPlatform.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/mysql/MySqlPlatform.java @@ -1,6 +1,11 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.mysql; import com.avaje.ebean.BackgroundExecutor; +import com.avaje.ebean.config.dbplatform.DatabasePlatform; +import com.avaje.ebean.config.dbplatform.DbPlatformType; +import com.avaje.ebean.config.dbplatform.DbType; +import com.avaje.ebean.config.dbplatform.IdType; +import com.avaje.ebean.config.dbplatform.PlatformIdGenerator; import com.avaje.ebean.dbmigration.ddlgeneration.platform.MySqlDdl; import javax.sql.DataSource; diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/OracleDbEncrypt.java b/src/main/java/com/avaje/ebean/config/dbplatform/oracle/OracleDbEncrypt.java similarity index 95% rename from src/main/java/com/avaje/ebean/config/dbplatform/OracleDbEncrypt.java rename to src/main/java/com/avaje/ebean/config/dbplatform/oracle/OracleDbEncrypt.java index 01208bf15..0f4c18d1f 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/OracleDbEncrypt.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/oracle/OracleDbEncrypt.java @@ -1,4 +1,7 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.oracle; + +import com.avaje.ebean.config.dbplatform.AbstractDbEncrypt; +import com.avaje.ebean.config.dbplatform.DbEncryptFunction; /** * Oracle encryption support. diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/OracleDbHistorySupport.java b/src/main/java/com/avaje/ebean/config/dbplatform/oracle/OracleDbHistorySupport.java similarity index 87% rename from src/main/java/com/avaje/ebean/config/dbplatform/OracleDbHistorySupport.java rename to src/main/java/com/avaje/ebean/config/dbplatform/oracle/OracleDbHistorySupport.java index e81263aa8..43cec229e 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/OracleDbHistorySupport.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/oracle/OracleDbHistorySupport.java @@ -1,4 +1,6 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.oracle; + +import com.avaje.ebean.config.dbplatform.DbStandardHistorySupport; /** * Oracle Total recall based history support. diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/OraclePlatform.java b/src/main/java/com/avaje/ebean/config/dbplatform/oracle/OraclePlatform.java similarity index 83% rename from src/main/java/com/avaje/ebean/config/dbplatform/OraclePlatform.java rename to src/main/java/com/avaje/ebean/config/dbplatform/oracle/OraclePlatform.java index 5f60dc8ac..f2439ba6f 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/OraclePlatform.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/oracle/OraclePlatform.java @@ -1,6 +1,13 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.oracle; import com.avaje.ebean.BackgroundExecutor; +import com.avaje.ebean.config.dbplatform.BasicSqlAnsiLimiter; +import com.avaje.ebean.config.dbplatform.DatabasePlatform; +import com.avaje.ebean.config.dbplatform.DbPlatformType; +import com.avaje.ebean.config.dbplatform.DbType; +import com.avaje.ebean.config.dbplatform.IdType; +import com.avaje.ebean.config.dbplatform.PlatformIdGenerator; +import com.avaje.ebean.config.dbplatform.RownumSqlLimiter; import com.avaje.ebean.dbmigration.ddlgeneration.platform.Oracle10Ddl; import javax.sql.DataSource; diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/OracleSequenceIdGenerator.java b/src/main/java/com/avaje/ebean/config/dbplatform/oracle/OracleSequenceIdGenerator.java similarity index 85% rename from src/main/java/com/avaje/ebean/config/dbplatform/OracleSequenceIdGenerator.java rename to src/main/java/com/avaje/ebean/config/dbplatform/oracle/OracleSequenceIdGenerator.java index 67992900b..aee6b3508 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/OracleSequenceIdGenerator.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/oracle/OracleSequenceIdGenerator.java @@ -1,6 +1,7 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.oracle; import com.avaje.ebean.BackgroundExecutor; +import com.avaje.ebean.config.dbplatform.SequenceIdGenerator; import javax.sql.DataSource; diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/Postgres8Platform.java b/src/main/java/com/avaje/ebean/config/dbplatform/postgres/Postgres8Platform.java similarity index 81% rename from src/main/java/com/avaje/ebean/config/dbplatform/Postgres8Platform.java rename to src/main/java/com/avaje/ebean/config/dbplatform/postgres/Postgres8Platform.java index a2e1ba6b8..ad971d1b1 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/Postgres8Platform.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/postgres/Postgres8Platform.java @@ -1,4 +1,6 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.postgres; + +import com.avaje.ebean.config.dbplatform.IdType; /** * Postgres v8.3 specific platform. diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/PostgresDbEncrypt.java b/src/main/java/com/avaje/ebean/config/dbplatform/postgres/PostgresDbEncrypt.java similarity index 84% rename from src/main/java/com/avaje/ebean/config/dbplatform/PostgresDbEncrypt.java rename to src/main/java/com/avaje/ebean/config/dbplatform/postgres/PostgresDbEncrypt.java index ad53ef00d..35daa691a 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/PostgresDbEncrypt.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/postgres/PostgresDbEncrypt.java @@ -1,4 +1,7 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.postgres; + +import com.avaje.ebean.config.dbplatform.AbstractDbEncrypt; +import com.avaje.ebean.config.dbplatform.DbEncryptFunction; /** * Postgres pgp_sym_encrypt pgp_sym_decrypt based encryption support. diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/PostgresHistorySupport.java b/src/main/java/com/avaje/ebean/config/dbplatform/postgres/PostgresHistorySupport.java similarity index 90% rename from src/main/java/com/avaje/ebean/config/dbplatform/PostgresHistorySupport.java rename to src/main/java/com/avaje/ebean/config/dbplatform/postgres/PostgresHistorySupport.java index 347cc7954..940e7696d 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/PostgresHistorySupport.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/postgres/PostgresHistorySupport.java @@ -1,4 +1,6 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.postgres; + +import com.avaje.ebean.config.dbplatform.DbViewHistorySupport; /** * Postgres support for history features. diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/PostgresPlatform.java b/src/main/java/com/avaje/ebean/config/dbplatform/postgres/PostgresPlatform.java similarity index 91% rename from src/main/java/com/avaje/ebean/config/dbplatform/PostgresPlatform.java rename to src/main/java/com/avaje/ebean/config/dbplatform/postgres/PostgresPlatform.java index 085654868..c96cb9b82 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/PostgresPlatform.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/postgres/PostgresPlatform.java @@ -1,7 +1,12 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.postgres; import com.avaje.ebean.BackgroundExecutor; import com.avaje.ebean.config.ServerConfig; +import com.avaje.ebean.config.dbplatform.DatabasePlatform; +import com.avaje.ebean.config.dbplatform.DbPlatformType; +import com.avaje.ebean.config.dbplatform.DbType; +import com.avaje.ebean.config.dbplatform.IdType; +import com.avaje.ebean.config.dbplatform.PlatformIdGenerator; import com.avaje.ebean.dbmigration.ddlgeneration.DdlHandler; import com.avaje.ebean.dbmigration.ddlgeneration.platform.PostgresDdl; diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/PostgresSequenceIdGenerator.java b/src/main/java/com/avaje/ebean/config/dbplatform/postgres/PostgresSequenceIdGenerator.java similarity index 85% rename from src/main/java/com/avaje/ebean/config/dbplatform/PostgresSequenceIdGenerator.java rename to src/main/java/com/avaje/ebean/config/dbplatform/postgres/PostgresSequenceIdGenerator.java index 20942eb0f..77c619077 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/PostgresSequenceIdGenerator.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/postgres/PostgresSequenceIdGenerator.java @@ -1,6 +1,7 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.postgres; import com.avaje.ebean.BackgroundExecutor; +import com.avaje.ebean.config.dbplatform.SequenceIdGenerator; import javax.sql.DataSource; diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/SqlAnywhereLimiter.java b/src/main/java/com/avaje/ebean/config/dbplatform/sqlanywhere/SqlAnywhereLimiter.java similarity index 79% rename from src/main/java/com/avaje/ebean/config/dbplatform/SqlAnywhereLimiter.java rename to src/main/java/com/avaje/ebean/config/dbplatform/sqlanywhere/SqlAnywhereLimiter.java index 069fa05ec..805027994 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/SqlAnywhereLimiter.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/sqlanywhere/SqlAnywhereLimiter.java @@ -1,4 +1,8 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.sqlanywhere; + +import com.avaje.ebean.config.dbplatform.SqlLimitRequest; +import com.avaje.ebean.config.dbplatform.SqlLimitResponse; +import com.avaje.ebean.config.dbplatform.SqlLimiter; /** * Use top xx and start at xx to limit sql results. diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/SqlAnywherePlatform.java b/src/main/java/com/avaje/ebean/config/dbplatform/sqlanywhere/SqlAnywherePlatform.java similarity index 82% rename from src/main/java/com/avaje/ebean/config/dbplatform/SqlAnywherePlatform.java rename to src/main/java/com/avaje/ebean/config/dbplatform/sqlanywhere/SqlAnywherePlatform.java index 8a89e3c49..b925c7a99 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/SqlAnywherePlatform.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/sqlanywhere/SqlAnywherePlatform.java @@ -1,4 +1,9 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.sqlanywhere; + +import com.avaje.ebean.config.dbplatform.DatabasePlatform; +import com.avaje.ebean.config.dbplatform.DbPlatformType; +import com.avaje.ebean.config.dbplatform.DbType; +import com.avaje.ebean.config.dbplatform.IdType; /** * Sybase SQL Anywhere specific platform. diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/SQLitePlatform.java b/src/main/java/com/avaje/ebean/config/dbplatform/sqlite/SQLitePlatform.java similarity index 75% rename from src/main/java/com/avaje/ebean/config/dbplatform/SQLitePlatform.java rename to src/main/java/com/avaje/ebean/config/dbplatform/sqlite/SQLitePlatform.java index 415d50109..735d8c48a 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/SQLitePlatform.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/sqlite/SQLitePlatform.java @@ -1,5 +1,9 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.sqlite; +import com.avaje.ebean.config.dbplatform.DatabasePlatform; +import com.avaje.ebean.config.dbplatform.DbPlatformType; +import com.avaje.ebean.config.dbplatform.DbType; +import com.avaje.ebean.config.dbplatform.IdType; import com.avaje.ebean.dbmigration.ddlgeneration.platform.SQLiteDdl; import java.sql.Types; diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/SqlServer2005Platform.java b/src/main/java/com/avaje/ebean/config/dbplatform/sqlserver/SqlServer2005Platform.java similarity index 81% rename from src/main/java/com/avaje/ebean/config/dbplatform/SqlServer2005Platform.java rename to src/main/java/com/avaje/ebean/config/dbplatform/sqlserver/SqlServer2005Platform.java index 8d631acb3..d8d4f6168 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/SqlServer2005Platform.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/sqlserver/SqlServer2005Platform.java @@ -1,4 +1,4 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.sqlserver; /** * SQL Server platform using the older ROW_NUMBER() mechanism. diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/SqlServer2005SqlLimiter.java b/src/main/java/com/avaje/ebean/config/dbplatform/sqlserver/SqlServer2005SqlLimiter.java similarity index 89% rename from src/main/java/com/avaje/ebean/config/dbplatform/SqlServer2005SqlLimiter.java rename to src/main/java/com/avaje/ebean/config/dbplatform/sqlserver/SqlServer2005SqlLimiter.java index be7b7d640..4d98787d2 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/SqlServer2005SqlLimiter.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/sqlserver/SqlServer2005SqlLimiter.java @@ -1,4 +1,8 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.sqlserver; + +import com.avaje.ebean.config.dbplatform.SqlLimitRequest; +import com.avaje.ebean.config.dbplatform.SqlLimitResponse; +import com.avaje.ebean.config.dbplatform.SqlLimiter; /** * Use top and row_number() function to limit sql results. diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/SqlServer2012SqlLimiter.java b/src/main/java/com/avaje/ebean/config/dbplatform/sqlserver/SqlServer2012SqlLimiter.java similarity index 83% rename from src/main/java/com/avaje/ebean/config/dbplatform/SqlServer2012SqlLimiter.java rename to src/main/java/com/avaje/ebean/config/dbplatform/sqlserver/SqlServer2012SqlLimiter.java index 9eb9104f0..10b717a83 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/SqlServer2012SqlLimiter.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/sqlserver/SqlServer2012SqlLimiter.java @@ -1,4 +1,8 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.sqlserver; + +import com.avaje.ebean.config.dbplatform.SqlLimitRequest; +import com.avaje.ebean.config.dbplatform.SqlLimitResponse; +import com.avaje.ebean.config.dbplatform.SqlLimiter; /** * Use ANSI offset rows syntax or top n. diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/SqlServerBasicSqlLimiter.java b/src/main/java/com/avaje/ebean/config/dbplatform/sqlserver/SqlServerBasicSqlLimiter.java similarity index 84% rename from src/main/java/com/avaje/ebean/config/dbplatform/SqlServerBasicSqlLimiter.java rename to src/main/java/com/avaje/ebean/config/dbplatform/sqlserver/SqlServerBasicSqlLimiter.java index 245fcc449..6ae371f3d 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/SqlServerBasicSqlLimiter.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/sqlserver/SqlServerBasicSqlLimiter.java @@ -1,4 +1,6 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.sqlserver; + +import com.avaje.ebean.config.dbplatform.BasicSqlLimiter; /** * SQL Server 2012 style limiter for raw sql. diff --git a/src/main/java/com/avaje/ebean/config/dbplatform/SqlServerPlatform.java b/src/main/java/com/avaje/ebean/config/dbplatform/sqlserver/SqlServerPlatform.java similarity index 87% rename from src/main/java/com/avaje/ebean/config/dbplatform/SqlServerPlatform.java rename to src/main/java/com/avaje/ebean/config/dbplatform/sqlserver/SqlServerPlatform.java index a31dca29a..91ecb0b6a 100644 --- a/src/main/java/com/avaje/ebean/config/dbplatform/SqlServerPlatform.java +++ b/src/main/java/com/avaje/ebean/config/dbplatform/sqlserver/SqlServerPlatform.java @@ -1,6 +1,10 @@ -package com.avaje.ebean.config.dbplatform; +package com.avaje.ebean.config.dbplatform.sqlserver; import com.avaje.ebean.config.PersistBatch; +import com.avaje.ebean.config.dbplatform.DatabasePlatform; +import com.avaje.ebean.config.dbplatform.DbPlatformType; +import com.avaje.ebean.config.dbplatform.DbType; +import com.avaje.ebean.config.dbplatform.IdType; import com.avaje.ebean.dbmigration.ddlgeneration.platform.MsSqlServerDdl; /** diff --git a/src/main/java/com/avaje/ebean/dbmigration/DbMigration.java b/src/main/java/com/avaje/ebean/dbmigration/DbMigration.java index eb19e0103..64aed50e0 100644 --- a/src/main/java/com/avaje/ebean/dbmigration/DbMigration.java +++ b/src/main/java/com/avaje/ebean/dbmigration/DbMigration.java @@ -6,14 +6,14 @@ import com.avaje.ebean.config.DbConstraintNaming; import com.avaje.ebean.config.DbMigrationConfig; import com.avaje.ebean.config.Platform; import com.avaje.ebean.config.ServerConfig; -import com.avaje.ebean.config.dbplatform.DB2Platform; +import com.avaje.ebean.config.dbplatform.db2.DB2Platform; import com.avaje.ebean.config.dbplatform.DatabasePlatform; -import com.avaje.ebean.config.dbplatform.H2Platform; -import com.avaje.ebean.config.dbplatform.SqlServerPlatform; -import com.avaje.ebean.config.dbplatform.MySqlPlatform; -import com.avaje.ebean.config.dbplatform.OraclePlatform; -import com.avaje.ebean.config.dbplatform.PostgresPlatform; -import com.avaje.ebean.config.dbplatform.SQLitePlatform; +import com.avaje.ebean.config.dbplatform.h2.H2Platform; +import com.avaje.ebean.config.dbplatform.sqlserver.SqlServerPlatform; +import com.avaje.ebean.config.dbplatform.mysql.MySqlPlatform; +import com.avaje.ebean.config.dbplatform.oracle.OraclePlatform; +import com.avaje.ebean.config.dbplatform.postgres.PostgresPlatform; +import com.avaje.ebean.config.dbplatform.sqlite.SQLitePlatform; import com.avaje.ebean.dbmigration.ddlgeneration.DdlWrite; import com.avaje.ebean.dbmigration.migration.Migration; import com.avaje.ebean.dbmigration.migrationreader.MigrationXmlWriter; diff --git a/src/main/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/H2HistoryDdl.java b/src/main/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/H2HistoryDdl.java index dde2ed843..c19d57d88 100644 --- a/src/main/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/H2HistoryDdl.java +++ b/src/main/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/H2HistoryDdl.java @@ -1,6 +1,6 @@ package com.avaje.ebean.dbmigration.ddlgeneration.platform; -import com.avaje.ebean.config.dbplatform.H2HistoryTrigger; +import com.avaje.ebean.config.dbplatform.h2.H2HistoryTrigger; import com.avaje.ebean.dbmigration.ddlgeneration.DdlBuffer; import com.avaje.ebean.dbmigration.ddlgeneration.DdlWrite; import com.avaje.ebean.dbmigration.model.MTable; diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/DatabasePlatformFactory.java b/src/main/java/com/avaje/ebeaninternal/server/core/DatabasePlatformFactory.java index 7918d2178..02ef1a7b7 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/core/DatabasePlatformFactory.java +++ b/src/main/java/com/avaje/ebeaninternal/server/core/DatabasePlatformFactory.java @@ -1,17 +1,17 @@ package com.avaje.ebeaninternal.server.core; import com.avaje.ebean.config.ServerConfig; -import com.avaje.ebean.config.dbplatform.DB2Platform; +import com.avaje.ebean.config.dbplatform.db2.DB2Platform; import com.avaje.ebean.config.dbplatform.DatabasePlatform; -import com.avaje.ebean.config.dbplatform.H2Platform; -import com.avaje.ebean.config.dbplatform.HsqldbPlatform; -import com.avaje.ebean.config.dbplatform.SqlServerPlatform; -import com.avaje.ebean.config.dbplatform.MySqlPlatform; -import com.avaje.ebean.config.dbplatform.OraclePlatform; -import com.avaje.ebean.config.dbplatform.Postgres8Platform; -import com.avaje.ebean.config.dbplatform.PostgresPlatform; -import com.avaje.ebean.config.dbplatform.SQLitePlatform; -import com.avaje.ebean.config.dbplatform.SqlAnywherePlatform; +import com.avaje.ebean.config.dbplatform.h2.H2Platform; +import com.avaje.ebean.config.dbplatform.hsqldb.HsqldbPlatform; +import com.avaje.ebean.config.dbplatform.sqlserver.SqlServerPlatform; +import com.avaje.ebean.config.dbplatform.mysql.MySqlPlatform; +import com.avaje.ebean.config.dbplatform.oracle.OraclePlatform; +import com.avaje.ebean.config.dbplatform.postgres.Postgres8Platform; +import com.avaje.ebean.config.dbplatform.postgres.PostgresPlatform; +import com.avaje.ebean.config.dbplatform.sqlite.SQLitePlatform; +import com.avaje.ebean.config.dbplatform.sqlanywhere.SqlAnywherePlatform; import com.avaje.ebean.dbmigration.DbOffline; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultContainer.java b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultContainer.java index 9ba0050d5..c1263f2df 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultContainer.java +++ b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultContainer.java @@ -11,7 +11,7 @@ import com.avaje.ebean.config.ServerConfig; import com.avaje.ebean.config.TenantMode; import com.avaje.ebean.config.UnderscoreNamingConvention; import com.avaje.ebean.config.dbplatform.DatabasePlatform; -import com.avaje.ebean.config.dbplatform.H2Platform; +import com.avaje.ebean.config.dbplatform.h2.H2Platform; import com.avaje.ebean.dbmigration.DbOffline; import com.avaje.ebeaninternal.api.SpiBackgroundExecutor; import com.avaje.ebeaninternal.api.SpiEbeanServer; diff --git a/src/test/java/com/avaje/Main.java b/src/test/java/com/avaje/Main.java new file mode 100644 index 000000000..0b3ad39a6 --- /dev/null +++ b/src/test/java/com/avaje/Main.java @@ -0,0 +1,29 @@ +package com.avaje; + +import com.avaje.ebean.Ebean; +import com.avaje.ebean.EbeanServer; + +import javax.sql.DataSource; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +public class Main { + + public static void main(String[] args) throws SQLException { + + + EbeanServer ms = Ebean.getServer("ms"); + DataSource dataSource = ms.getPluginApi().getDataSource(); + + Connection connection = dataSource.getConnection(); + PreparedStatement statement = connection.prepareStatement("select next VALUE for j2_seq"); + ResultSet resultSet = statement.executeQuery(); + if (resultSet.next()) { + Object val = resultSet.getObject(1); + System.out.println(""+val); + } + connection.close(); + } +} diff --git a/src/test/java/com/avaje/ebean/EbeanServerFactory_MultiTenancy_Test.java b/src/test/java/com/avaje/ebean/EbeanServerFactory_MultiTenancy_Test.java index 591f5caf7..921b6f4e0 100644 --- a/src/test/java/com/avaje/ebean/EbeanServerFactory_MultiTenancy_Test.java +++ b/src/test/java/com/avaje/ebean/EbeanServerFactory_MultiTenancy_Test.java @@ -5,8 +5,8 @@ import com.avaje.ebean.config.ServerConfig; import com.avaje.ebean.config.TenantDataSourceProvider; import com.avaje.ebean.config.TenantMode; import com.avaje.ebean.config.TenantSchemaProvider; -import com.avaje.ebean.config.dbplatform.MySqlPlatform; -import com.avaje.ebean.config.dbplatform.PostgresPlatform; +import com.avaje.ebean.config.dbplatform.mysql.MySqlPlatform; +import com.avaje.ebean.config.dbplatform.postgres.PostgresPlatform; import org.junit.Test; import org.mockito.Mockito; diff --git a/src/test/java/com/avaje/ebean/config/dbplatform/DatabasePlatformTest.java b/src/test/java/com/avaje/ebean/config/dbplatform/DatabasePlatformTest.java index e185b7413..687c0385e 100644 --- a/src/test/java/com/avaje/ebean/config/dbplatform/DatabasePlatformTest.java +++ b/src/test/java/com/avaje/ebean/config/dbplatform/DatabasePlatformTest.java @@ -2,6 +2,8 @@ package com.avaje.ebean.config.dbplatform; import com.avaje.ebean.config.DbTypeConfig; import com.avaje.ebean.config.Platform; +import com.avaje.ebean.config.dbplatform.h2.H2Platform; +import com.avaje.ebean.config.dbplatform.postgres.PostgresPlatform; import org.junit.Test; import static org.junit.Assert.assertEquals; diff --git a/src/test/java/com/avaje/ebean/config/dbplatform/DbTypeMapTest.java b/src/test/java/com/avaje/ebean/config/dbplatform/DbTypeMapTest.java index be909c483..9572820f9 100644 --- a/src/test/java/com/avaje/ebean/config/dbplatform/DbTypeMapTest.java +++ b/src/test/java/com/avaje/ebean/config/dbplatform/DbTypeMapTest.java @@ -1,5 +1,6 @@ package com.avaje.ebean.config.dbplatform; +import com.avaje.ebean.config.dbplatform.postgres.PostgresPlatform; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; diff --git a/src/test/java/com/avaje/ebean/config/dbplatform/H2PlatformTest.java b/src/test/java/com/avaje/ebean/config/dbplatform/H2PlatformTest.java index 317fd2751..b0a15a4ca 100644 --- a/src/test/java/com/avaje/ebean/config/dbplatform/H2PlatformTest.java +++ b/src/test/java/com/avaje/ebean/config/dbplatform/H2PlatformTest.java @@ -1,5 +1,6 @@ package com.avaje.ebean.config.dbplatform; +import com.avaje.ebean.config.dbplatform.h2.H2Platform; import com.avaje.ebean.dbmigration.ddlgeneration.platform.PlatformDdl; import org.junit.Test; @@ -22,4 +23,4 @@ public class H2PlatformTest { assertThat(ddl.convert("bit", false)).isEqualTo("bit"); } -} \ No newline at end of file +} diff --git a/src/test/java/com/avaje/ebean/config/dbplatform/MySqlHistorySupportTest.java b/src/test/java/com/avaje/ebean/config/dbplatform/MySqlHistorySupportTest.java index deae7ebab..cb92df997 100644 --- a/src/test/java/com/avaje/ebean/config/dbplatform/MySqlHistorySupportTest.java +++ b/src/test/java/com/avaje/ebean/config/dbplatform/MySqlHistorySupportTest.java @@ -1,6 +1,7 @@ package com.avaje.ebean.config.dbplatform; +import com.avaje.ebean.config.dbplatform.mysql.MySqlHistorySupport; import org.junit.Test; import static org.junit.Assert.assertEquals; diff --git a/src/test/java/com/avaje/ebean/config/dbplatform/MySqlPlatformTest.java b/src/test/java/com/avaje/ebean/config/dbplatform/MySqlPlatformTest.java index df2c16960..31c8ea0bb 100644 --- a/src/test/java/com/avaje/ebean/config/dbplatform/MySqlPlatformTest.java +++ b/src/test/java/com/avaje/ebean/config/dbplatform/MySqlPlatformTest.java @@ -2,6 +2,7 @@ package com.avaje.ebean.config.dbplatform; import com.avaje.ebean.config.DbTypeConfig; import com.avaje.ebean.config.ServerConfig; +import com.avaje.ebean.config.dbplatform.mysql.MySqlPlatform; import com.avaje.ebean.dbmigration.ddlgeneration.platform.PlatformDdl; import org.junit.Test; diff --git a/src/test/java/com/avaje/ebean/config/dbplatform/OraclePlatformTest.java b/src/test/java/com/avaje/ebean/config/dbplatform/OraclePlatformTest.java index 3633fc2e0..1508a5861 100644 --- a/src/test/java/com/avaje/ebean/config/dbplatform/OraclePlatformTest.java +++ b/src/test/java/com/avaje/ebean/config/dbplatform/OraclePlatformTest.java @@ -2,6 +2,7 @@ package com.avaje.ebean.config.dbplatform; import com.avaje.ebean.config.DbTypeConfig; import com.avaje.ebean.config.ServerConfig; +import com.avaje.ebean.config.dbplatform.oracle.OraclePlatform; import com.avaje.ebean.dbmigration.ddlgeneration.platform.PlatformDdl; import org.junit.Test; diff --git a/src/test/java/com/avaje/ebean/config/dbplatform/PostgresHistorySupportTest.java b/src/test/java/com/avaje/ebean/config/dbplatform/PostgresHistorySupportTest.java index 5f022f3db..37e70a8d0 100644 --- a/src/test/java/com/avaje/ebean/config/dbplatform/PostgresHistorySupportTest.java +++ b/src/test/java/com/avaje/ebean/config/dbplatform/PostgresHistorySupportTest.java @@ -1,5 +1,6 @@ package com.avaje.ebean.config.dbplatform; +import com.avaje.ebean.config.dbplatform.postgres.PostgresHistorySupport; import org.junit.Test; import static org.junit.Assert.assertEquals; diff --git a/src/test/java/com/avaje/ebean/config/dbplatform/PostgresPlatformTest.java b/src/test/java/com/avaje/ebean/config/dbplatform/PostgresPlatformTest.java index 1f73168cf..de87db647 100644 --- a/src/test/java/com/avaje/ebean/config/dbplatform/PostgresPlatformTest.java +++ b/src/test/java/com/avaje/ebean/config/dbplatform/PostgresPlatformTest.java @@ -1,6 +1,7 @@ package com.avaje.ebean.config.dbplatform; import com.avaje.ebean.config.DbTypeConfig; +import com.avaje.ebean.config.dbplatform.postgres.PostgresPlatform; import com.avaje.ebean.dbmigration.ddlgeneration.platform.PlatformDdl; import org.junit.Test; diff --git a/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/BaseDdlHandlerTest.java b/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/BaseDdlHandlerTest.java index 61f0e757b..517b92c50 100644 --- a/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/BaseDdlHandlerTest.java +++ b/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/BaseDdlHandlerTest.java @@ -3,8 +3,8 @@ package com.avaje.ebean.dbmigration.ddlgeneration; import com.avaje.ebean.BaseTestCase; import com.avaje.ebean.Ebean; import com.avaje.ebean.config.ServerConfig; -import com.avaje.ebean.config.dbplatform.H2Platform; -import com.avaje.ebean.config.dbplatform.PostgresPlatform; +import com.avaje.ebean.config.dbplatform.h2.H2Platform; +import com.avaje.ebean.config.dbplatform.postgres.PostgresPlatform; import com.avaje.ebean.dbmigration.migration.ChangeSet; import com.avaje.ebean.dbmigration.model.CurrentModel; import com.avaje.ebeaninternal.api.SpiEbeanServer; @@ -142,4 +142,4 @@ public class BaseDdlHandlerTest extends BaseTestCase { assertThat(write.dropAll().getBuffer()).isEqualTo(rollbackLast); } -} \ No newline at end of file +} diff --git a/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/BaseTableDdlTest.java b/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/BaseTableDdlTest.java index 74af93921..89f13f2c9 100644 --- a/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/BaseTableDdlTest.java +++ b/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/BaseTableDdlTest.java @@ -2,8 +2,8 @@ package com.avaje.ebean.dbmigration.ddlgeneration.platform; import com.avaje.ebean.config.ServerConfig; -import com.avaje.ebean.config.dbplatform.H2Platform; -import com.avaje.ebean.config.dbplatform.OraclePlatform; +import com.avaje.ebean.config.dbplatform.h2.H2Platform; +import com.avaje.ebean.config.dbplatform.oracle.OraclePlatform; import com.avaje.ebean.dbmigration.ddlgeneration.DdlWrite; import com.avaje.ebean.dbmigration.ddlgeneration.Helper; import com.avaje.ebean.dbmigration.migration.AddTableComment; @@ -146,4 +146,4 @@ public class BaseTableDdlTest { return createTable; } -} \ No newline at end of file +} diff --git a/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/H2HistoryDdlTest.java b/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/H2HistoryDdlTest.java index 9c267aa12..174a8fe32 100644 --- a/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/H2HistoryDdlTest.java +++ b/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/H2HistoryDdlTest.java @@ -1,7 +1,7 @@ package com.avaje.ebean.dbmigration.ddlgeneration.platform; import com.avaje.ebean.Ebean; -import com.avaje.ebean.config.dbplatform.H2Platform; +import com.avaje.ebean.config.dbplatform.h2.H2Platform; import com.avaje.ebean.dbmigration.ddlgeneration.DdlWrite; import com.avaje.ebean.dbmigration.model.CurrentModel; import com.avaje.ebean.dbmigration.model.MConfiguration; diff --git a/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/PlatformDdl_AlterColumnTest.java b/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/PlatformDdl_AlterColumnTest.java index 3d1d63704..845f927a8 100644 --- a/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/PlatformDdl_AlterColumnTest.java +++ b/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/PlatformDdl_AlterColumnTest.java @@ -1,10 +1,10 @@ package com.avaje.ebean.dbmigration.ddlgeneration.platform; -import com.avaje.ebean.config.dbplatform.H2Platform; -import com.avaje.ebean.config.dbplatform.SqlServerPlatform; -import com.avaje.ebean.config.dbplatform.MySqlPlatform; -import com.avaje.ebean.config.dbplatform.OraclePlatform; -import com.avaje.ebean.config.dbplatform.PostgresPlatform; +import com.avaje.ebean.config.dbplatform.h2.H2Platform; +import com.avaje.ebean.config.dbplatform.sqlserver.SqlServerPlatform; +import com.avaje.ebean.config.dbplatform.mysql.MySqlPlatform; +import com.avaje.ebean.config.dbplatform.oracle.OraclePlatform; +import com.avaje.ebean.config.dbplatform.postgres.PostgresPlatform; import com.avaje.ebean.dbmigration.migration.AlterColumn; import org.junit.Test; diff --git a/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/PlatformDdl_dropUniqueConstraintTest.java b/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/PlatformDdl_dropUniqueConstraintTest.java index b39f44734..7c77c3ccd 100644 --- a/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/PlatformDdl_dropUniqueConstraintTest.java +++ b/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/PlatformDdl_dropUniqueConstraintTest.java @@ -1,10 +1,10 @@ package com.avaje.ebean.dbmigration.ddlgeneration.platform; -import com.avaje.ebean.config.dbplatform.H2Platform; -import com.avaje.ebean.config.dbplatform.SqlServerPlatform; -import com.avaje.ebean.config.dbplatform.MySqlPlatform; -import com.avaje.ebean.config.dbplatform.OraclePlatform; -import com.avaje.ebean.config.dbplatform.PostgresPlatform; +import com.avaje.ebean.config.dbplatform.h2.H2Platform; +import com.avaje.ebean.config.dbplatform.sqlserver.SqlServerPlatform; +import com.avaje.ebean.config.dbplatform.mysql.MySqlPlatform; +import com.avaje.ebean.config.dbplatform.oracle.OraclePlatform; +import com.avaje.ebean.config.dbplatform.postgres.PostgresPlatform; import org.junit.Test; import static org.junit.Assert.assertEquals; diff --git a/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/PlatformTypeConverterTest.java b/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/PlatformTypeConverterTest.java index bdf7cb6cd..03c48b11e 100644 --- a/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/PlatformTypeConverterTest.java +++ b/src/test/java/com/avaje/ebean/dbmigration/ddlgeneration/platform/PlatformTypeConverterTest.java @@ -1,8 +1,8 @@ package com.avaje.ebean.dbmigration.ddlgeneration.platform; import com.avaje.ebean.config.dbplatform.DbPlatformTypeMapping; -import com.avaje.ebean.config.dbplatform.H2Platform; -import com.avaje.ebean.config.dbplatform.PostgresPlatform; +import com.avaje.ebean.config.dbplatform.h2.H2Platform; +import com.avaje.ebean.config.dbplatform.postgres.PostgresPlatform; import com.avaje.ebean.dbmigration.ddlgeneration.platform.util.PlatformTypeConverter; import org.junit.Test; @@ -94,4 +94,4 @@ public class PlatformTypeConverterTest { assertThat(converter.convert("json")).isEqualTo("clob"); assertThat(converter.convert("jsonb")).isEqualTo("clob"); } -} \ No newline at end of file +} diff --git a/src/test/java/com/avaje/ebean/server/type/TestTypeManager.java b/src/test/java/com/avaje/ebean/server/type/TestTypeManager.java index 7bd67fd56..5cc5372e3 100644 --- a/src/test/java/com/avaje/ebean/server/type/TestTypeManager.java +++ b/src/test/java/com/avaje/ebean/server/type/TestTypeManager.java @@ -2,7 +2,7 @@ package com.avaje.ebean.server.type; import com.avaje.ebean.BaseTestCase; import com.avaje.ebean.config.ServerConfig; -import com.avaje.ebean.config.dbplatform.H2Platform; +import com.avaje.ebean.config.dbplatform.h2.H2Platform; import com.avaje.ebeaninternal.server.core.bootup.BootupClasses; import com.avaje.ebeaninternal.server.type.DefaultTypeManager; import com.avaje.ebeaninternal.server.type.RsetDataReader; diff --git a/src/test/java/com/avaje/ebeaninternal/server/type/DefaultTypeManagerTest.java b/src/test/java/com/avaje/ebeaninternal/server/type/DefaultTypeManagerTest.java index 013f4b017..55d2fb231 100644 --- a/src/test/java/com/avaje/ebeaninternal/server/type/DefaultTypeManagerTest.java +++ b/src/test/java/com/avaje/ebeaninternal/server/type/DefaultTypeManagerTest.java @@ -1,7 +1,7 @@ package com.avaje.ebeaninternal.server.type; import com.avaje.ebean.config.ServerConfig; -import com.avaje.ebean.config.dbplatform.PostgresPlatform; +import com.avaje.ebean.config.dbplatform.postgres.PostgresPlatform; import com.avaje.ebeaninternal.server.core.bootup.BootupClasses; import org.junit.Test; diff --git a/src/test/java/com/avaje/tests/basic/MainDbBoolean.java b/src/test/java/com/avaje/tests/basic/MainDbBoolean.java index a4fe53a0f..d0e9905a4 100644 --- a/src/test/java/com/avaje/tests/basic/MainDbBoolean.java +++ b/src/test/java/com/avaje/tests/basic/MainDbBoolean.java @@ -5,7 +5,7 @@ import com.avaje.ebean.EbeanServerFactory; import com.avaje.ebean.Query; import com.avaje.ebean.SqlRow; import com.avaje.ebean.config.ServerConfig; -import com.avaje.ebean.config.dbplatform.PostgresPlatform; +import com.avaje.ebean.config.dbplatform.postgres.PostgresPlatform; import com.avaje.tests.model.basic.TOne; import com.avaje.tests.model.basic.TSDetail; import com.avaje.tests.model.basic.TSMaster; diff --git a/src/test/java/com/avaje/tests/query/TestQueryFindPagedList.java b/src/test/java/com/avaje/tests/query/TestQueryFindPagedList.java index ef4812e8b..8f8729a32 100644 --- a/src/test/java/com/avaje/tests/query/TestQueryFindPagedList.java +++ b/src/test/java/com/avaje/tests/query/TestQueryFindPagedList.java @@ -247,6 +247,6 @@ public class TestQueryFindPagedList extends BaseTestCase { assertEquals(2, loggedSql.size()); assertThat(loggedSql.get(0)).contains("select count(*) from o_order b where b.id > 0"); - assertThat(trimSql(loggedSql.get(1), 3)).contains("select b.id, b.status, b.order_date"); + assertThat(trimSql(loggedSql.get(1), 3)).contains(" b.id, b.status, b.order_date"); } } diff --git a/src/test/java/com/avaje/tests/query/other/TestQueryRowCountWithMany.java b/src/test/java/com/avaje/tests/query/other/TestQueryRowCountWithMany.java index 6546411ee..239af301f 100644 --- a/src/test/java/com/avaje/tests/query/other/TestQueryRowCountWithMany.java +++ b/src/test/java/com/avaje/tests/query/other/TestQueryRowCountWithMany.java @@ -89,5 +89,6 @@ public class TestQueryRowCountWithMany extends BaseTestCase { Assert.assertEquals(1, sqlLogged.size()); Assert.assertTrue(trimSql(sqlLogged.get(0), 1).contains("select count(*) from ( select distinct t0.id from o_order t0 join o_order_detail u1 on u1.order_id = t0.id where u1.product_id = ? )")); + query.findList(); } } diff --git a/src/test/resources/ebean.properties b/src/test/resources/ebean.properties index dd244ee25..754a5d285 100644 --- a/src/test/resources/ebean.properties +++ b/src/test/resources/ebean.properties @@ -16,8 +16,8 @@ ebean.encryptKeyManager=com.avaje.tests.basic.encrypt.BasicEncyptKeyManager #ebean.autotune.profilingUpdateFrequency=5 ebean.ddl.generate=true -ebean.ddl.run=true -datasource.default=h2 +#ebean.ddl.run=true +datasource.default=ms #ebean.persistBatch=NONE @@ -120,9 +120,10 @@ datasource.pg.password=unit datasource.pg.databaseUrl=jdbc:postgresql://127.0.0.1:5432/unit datasource.pg.databaseDriver=org.postgresql.Driver -datasource.ms.username=test -datasource.ms.password=test -datasource.ms.databaseUrl=jdbc:sqlserver://192.168.1.67:1433;databaseName=test +datasource.ms.username=sqladmin@rbygrave +datasource.ms.password=Manager123 +#datasource.ms.databaseUrl=jdbc:sqlserver://192.168.1.67:1433;databaseName=test +datasource.ms.databaseUrl=jdbc:sqlserver://rbygrave.database.windows.net:1433;database=test;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30; datasource.ms.databaseDriver=com.microsoft.sqlserver.jdbc.SQLServerDriver #datasource.ms.databaseUrl=jdbc:jtds:sqlserver://192.168.1.67:1433/test #datasource.ms.databaseDriver=net.sourceforge.jtds.jdbc.Driver diff --git a/src/test/resources/logback-test.xml b/src/test/resources/logback-test.xml index 9685de045..d56df31bc 100644 --- a/src/test/resources/logback-test.xml +++ b/src/test/resources/logback-test.xml @@ -73,8 +73,8 @@ - - + +