#912 - Refactor - move platform specfic code into subpackages

This commit is contained in:
Rob Bygrave
2016-12-03 15:39:24 +13:00
parent b08f1580f9
commit f66ea12fbf
58 changed files with 218 additions and 84 deletions
@@ -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;
@@ -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;
@@ -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 {
@@ -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.
@@ -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.
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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
@@ -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
@@ -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.
@@ -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.
@@ -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;
@@ -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.
@@ -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.
@@ -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;
@@ -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;
@@ -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.
@@ -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.
@@ -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.
@@ -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;
@@ -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;
@@ -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.
@@ -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.
@@ -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;
@@ -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.
@@ -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.
@@ -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.
@@ -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.
@@ -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;
/**
@@ -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;
@@ -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;
@@ -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;
@@ -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;