String errNothingRegistered() {
+ return "There are no registered entities. If using query beans, that generates _Ebean$ModuleInfo.java into " +
+ "generated sources and is service loaded. If using module-info.java, then probably missing 'provides io.ebean.config.ModuleInfoLoader with _Ebean$ModuleInfo' clause.";
+ }
+
+ private String errNotRegistered(Class> beanClass) {
+ return "The type [" + beanClass + "] is not a registered entity?"
+ + " If you don't explicitly list the entity classes to use Ebean will search for them in the classpath.";
}
private BeanManager> beanManager(String beanClassName) {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/persist/DefaultPersister.java b/ebean-core/src/main/java/io/ebeaninternal/server/persist/DefaultPersister.java
index 4e4fc1039..1f6b18df5 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/persist/DefaultPersister.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/persist/DefaultPersister.java
@@ -1196,11 +1196,6 @@ public final class DefaultPersister implements Persister {
return request;
}
- private String errNotRegistered(Class> beanClass) {
- return "The type [" + beanClass + "] is not a registered entity?"
- + " If you don't explicitly list the entity classes to use Ebean will search for them in the classpath.";
- }
-
/**
* Return the BeanDescriptor for a bean that is being persisted.
*
@@ -1210,10 +1205,6 @@ public final class DefaultPersister implements Persister {
*/
@SuppressWarnings("unchecked")
private BeanManager beanManager(Class> cls) {
- BeanManager mgr = (BeanManager) beanDescriptorManager.beanManager(cls);
- if (mgr == null) {
- throw new PersistenceException(errNotRegistered(cls));
- }
- return mgr;
+ return (BeanManager) beanDescriptorManager.beanManager(cls);
}
}
diff --git a/ebean-core/src/main/java9/module-info.java b/ebean-core/src/main/java/module-info.java
similarity index 67%
rename from ebean-core/src/main/java9/module-info.java
rename to ebean-core/src/main/java/module-info.java
index 398a43d87..f3e46da81 100644
--- a/ebean-core/src/main/java9/module-info.java
+++ b/ebean-core/src/main/java/module-info.java
@@ -6,6 +6,7 @@ module io.ebean.core {
uses io.ebean.config.DatabaseConfigProvider;
uses io.ebean.config.ServerConfigProvider;
uses io.ebean.config.ModuleInfoLoader;
+ uses io.ebean.config.dbplatform.DatabasePlatformProvider;
uses io.ebean.datasource.DataSourceAlertFactory;
uses io.ebean.core.type.ExtraTypeFactory;
uses io.ebeanservice.docstore.api.DocStoreFactory;
@@ -23,7 +24,7 @@ module io.ebean.core {
requires transitive io.ebean.xmapping.api;
requires transitive io.ebean.core.type;
requires transitive io.ebean.ddl.runner;
- requires transitive org.antlr.antlr4.runtime;
+ requires org.antlr.antlr4.runtime;
requires io.avaje.classpath.scanner;
requires io.ebean.types;
requires org.slf4j;
@@ -41,17 +42,32 @@ module io.ebean.core {
exports io.ebeaninternal.server.cache;
exports io.ebeaninternal.api to io.ebean.ddl.generator, io.ebean.querybean, io.ebean.autotune, io.ebean.postgis, io.ebean.test;
- exports io.ebeaninternal.server.deploy to io.ebean.autotune, io.ebean.ddl.generator;
- exports io.ebeaninternal.server.deploy.id to io.ebean.ddl.generator;
- exports io.ebeaninternal.server.deploy.meta to io.ebean.ddl.generator;
- exports io.ebeaninternal.server.deploy.visitor to io.ebean.ddl.generator;
-
- exports io.ebeaninternal.server.el to io.ebean.autotune;
+ exports io.ebeaninternal.api.json to io.ebean.test;
+ exports io.ebeaninternal.json to io.ebean.test;
exports io.ebeaninternal.server.autotune to io.ebean.autotune;
- exports io.ebeaninternal.server.querydefn to io.ebean.autotune, io.ebean.querybean;
- exports io.ebeaninternal.server.type to io.ebean.postgis;
+ exports io.ebeaninternal.server.core to io.ebean.test;
+ exports io.ebeaninternal.server.core.bootup to io.ebean.test;
+ exports io.ebeaninternal.server.core.timezone to io.ebean.test;
+ exports io.ebeaninternal.server.cluster to io.ebean.test;
+ exports io.ebeaninternal.server.deploy to io.ebean.autotune, io.ebean.ddl.generator, io.ebean.test;
+ exports io.ebeaninternal.server.deploy.id to io.ebean.ddl.generator;
+ exports io.ebeaninternal.server.deploy.meta to io.ebean.ddl.generator, io.ebean.test;
+ exports io.ebeaninternal.server.deploy.visitor to io.ebean.ddl.generator;
+ exports io.ebeaninternal.server.el to io.ebean.autotune, io.ebean.test;
+ exports io.ebeaninternal.server.expression to io.ebean.querybean, io.ebean.test;
+ exports io.ebeaninternal.server.expression.platform to io.ebean.test;
+ exports io.ebeaninternal.server.grammer to io.ebean.test;
+ exports io.ebeaninternal.server.idgen to io.ebean.test;
+ exports io.ebeaninternal.server.persist to io.ebean.test;
+ exports io.ebeaninternal.server.query to io.ebean.test;
+ exports io.ebeaninternal.server.querydefn to io.ebean.autotune, io.ebean.querybean, io.ebean.test;
+ exports io.ebeaninternal.server.rawsql to io.ebean.test;
+ exports io.ebeaninternal.server.text.json to io.ebean.test;
+ exports io.ebeaninternal.server.type to io.ebean.postgis, io.ebean.test;
+ exports io.ebeaninternal.server.transaction to io.ebean.test;
exports io.ebeaninternal.server.util to io.ebean.querybean;
- exports io.ebeaninternal.server.expression to io.ebean.querybean;
+ exports io.ebeanservice.docstore.api to io.ebean.test;
+ exports io.ebeanservice.docstore.api.support to io.ebean.test;
provides io.ebean.metric.MetricFactory with io.ebeaninternal.server.profile.DMetricFactory;
provides io.ebean.service.SpiContainerFactory with io.ebeaninternal.server.DContainerFactory;
diff --git a/ebean-ddl-generator/pom.xml b/ebean-ddl-generator/pom.xml
index ad2d67378..ec12d41e0 100644
--- a/ebean-ddl-generator/pom.xml
+++ b/ebean-ddl-generator/pom.xml
@@ -97,17 +97,6 @@
-
- io.repaint.maven
- tiles-maven-plugin
- 2.24
- true
-
-
- io.avaje.tile:moditech-module:1.0
-
-
-
diff --git a/ebean-ddl-generator/src/main/java9/module-info.java b/ebean-ddl-generator/src/main/java/module-info.java
similarity index 79%
rename from ebean-ddl-generator/src/main/java9/module-info.java
rename to ebean-ddl-generator/src/main/java/module-info.java
index 65d58286e..1a7ef332e 100644
--- a/ebean-ddl-generator/src/main/java9/module-info.java
+++ b/ebean-ddl-generator/src/main/java/module-info.java
@@ -1,4 +1,4 @@
-open module io.ebean.ddl.generator {
+module io.ebean.ddl.generator {
exports io.ebean.dbmigration;
@@ -12,4 +12,7 @@ open module io.ebean.ddl.generator {
requires io.ebean.migration;
uses io.ebean.dbmigration.DbMigration;
+
+ // support existing tests
+ exports io.ebeaninternal.extraddl.model to io.ebean.test;
}
diff --git a/ebean-externalmapping-api/pom.xml b/ebean-externalmapping-api/pom.xml
index 27813058f..ada1d53da 100644
--- a/ebean-externalmapping-api/pom.xml
+++ b/ebean-externalmapping-api/pom.xml
@@ -11,20 +11,4 @@
API for mapping external named queries
ebean-externalmapping-api
-
-
-
- io.repaint.maven
- tiles-maven-plugin
- 2.24
- true
-
-
- io.avaje.tile:moditech-module:1.0
-
-
-
-
-
-
diff --git a/ebean-externalmapping-api/src/main/java9/module-info.java b/ebean-externalmapping-api/src/main/java/module-info.java
similarity index 100%
rename from ebean-externalmapping-api/src/main/java9/module-info.java
rename to ebean-externalmapping-api/src/main/java/module-info.java
diff --git a/ebean-externalmapping-xml/pom.xml b/ebean-externalmapping-xml/pom.xml
index 6bb62ac10..92e750655 100644
--- a/ebean-externalmapping-xml/pom.xml
+++ b/ebean-externalmapping-xml/pom.xml
@@ -37,6 +37,13 @@
2.3.6
+
+ jakarta.activation
+ jakarta.activation-api
+ 1.2.1
+ provided
+
+
io.avaje
classpath-scanner
@@ -92,7 +99,6 @@
io.ebean.tile:enhancement:12.15.0
- io.avaje.tile:moditech-module:1.0
diff --git a/ebean-externalmapping-xml/src/main/java9/module-info.java b/ebean-externalmapping-xml/src/main/java/module-info.java
similarity index 91%
rename from ebean-externalmapping-xml/src/main/java9/module-info.java
rename to ebean-externalmapping-xml/src/main/java/module-info.java
index c81eda11b..d5b164b8f 100644
--- a/ebean-externalmapping-xml/src/main/java9/module-info.java
+++ b/ebean-externalmapping-xml/src/main/java/module-info.java
@@ -13,6 +13,7 @@ module io.ebean.xmapping.xml {
requires transitive java.xml;
requires transitive java.xml.bind;
requires io.avaje.classpath.scanner;
+ requires static java.sql; // for testing
uses ClassPathScannerFactory;
diff --git a/ebean-postgis/pom.xml b/ebean-postgis/pom.xml
index bf1c76eea..35fe194a1 100644
--- a/ebean-postgis/pom.xml
+++ b/ebean-postgis/pom.xml
@@ -105,7 +105,6 @@
io.ebean.tile:enhancement:12.15.0
- io.avaje.tile:moditech-module:1.0
diff --git a/ebean-querybean/pom.xml b/ebean-querybean/pom.xml
index 2bda57466..e587b3d27 100644
--- a/ebean-querybean/pom.xml
+++ b/ebean-querybean/pom.xml
@@ -21,6 +21,13 @@
provided
+
+ io.avaje
+ avaje-jsr305-x
+ 1.1
+ provided
+
+
+
+ jakarta.activation
+ jakarta.activation-api
+ 1.2.1
+ provided
+
+
com.h2database
@@ -85,6 +93,14 @@
${h2database.version}
+
+
+ io.avaje
+ avaje-jsr305-x
+ 1.1
+ provided
+
+
@@ -94,13 +110,6 @@
test
-
- io.avaje
- avaje-jsr305
- 1.1
- test
-
-
io.ebean
ebean-migration
@@ -144,12 +153,6 @@
test
-
- javax.annotation
- javax.annotation-api
- 1.3.2
- test
-
commons-io
commons-io
@@ -263,7 +266,6 @@
io.ebean.tile:enhancement:12.15.0
- io.avaje.tile:moditech-module:1.0
diff --git a/ebean-test/src/main/java9/module-info.java b/ebean-test/src/main/java/module-info.java
similarity index 87%
rename from ebean-test/src/main/java9/module-info.java
rename to ebean-test/src/main/java/module-info.java
index 94307a376..01809e1cd 100644
--- a/ebean-test/src/main/java9/module-info.java
+++ b/ebean-test/src/main/java/module-info.java
@@ -1,5 +1,5 @@
-open module io.ebean.test {
+module io.ebean.test {
exports io.ebean.test;
exports io.ebean.test.config;
@@ -22,4 +22,7 @@ open module io.ebean.test {
requires transitive java.xml.bind;
requires transitive com.h2database;
+ // support testing
+ requires static jdk.management;
+ requires static io.avaje.jsr305x;
}
diff --git a/ebean-test/src/test/java/io/ebean/xtest/dbmigration/DbMigrationTest.java b/ebean-test/src/test/java/io/ebean/xtest/dbmigration/DbMigrationTest.java
index 8b51d172d..29da0d419 100644
--- a/ebean-test/src/test/java/io/ebean/xtest/dbmigration/DbMigrationTest.java
+++ b/ebean-test/src/test/java/io/ebean/xtest/dbmigration/DbMigrationTest.java
@@ -4,7 +4,7 @@ import io.ebean.*;
import io.ebean.annotation.Platform;
import io.ebean.config.DatabaseConfig;
import io.ebean.config.dbplatform.DbHistorySupport;
-import io.ebean.datasource.pool.ConnectionPool;
+import io.ebean.datasource.DataSourcePool;
import io.ebean.xtest.BaseTestCase;
import io.ebean.xtest.IgnorePlatform;
import misc.migration.v1_0.ETable;
@@ -51,8 +51,8 @@ public class DbMigrationTest extends BaseTestCase {
@Test
public void testRunMigration() throws IOException, SQLException {
// Shutdown and reconnect - this prevents postgres from lock up
- ((ConnectionPool)server().dataSource()).offline();
- ((ConnectionPool)server().dataSource()).online();
+ ((DataSourcePool)server().dataSource()).offline();
+ ((DataSourcePool)server().dataSource()).online();
cleanup("migtest_ckey_assoc",
"migtest_ckey_detail",
"migtest_ckey_parent",
@@ -86,8 +86,8 @@ public class DbMigrationTest extends BaseTestCase {
"table",
"\"table\"",
"`table`");
- ((ConnectionPool)server().dataSource()).offline();
- ((ConnectionPool)server().dataSource()).online();
+ ((DataSourcePool)server().dataSource()).offline();
+ ((DataSourcePool)server().dataSource()).online();
if (isSqlServer() || isMariaDB() || isMySql() || isHana()) {
runScript("I__create_procs.sql");
diff --git a/platforms/all/src/main/java/module-info.java b/platforms/all/src/main/java/module-info.java
new file mode 100644
index 000000000..c5cc7865f
--- /dev/null
+++ b/platforms/all/src/main/java/module-info.java
@@ -0,0 +1,17 @@
+module io.ebean.platform.all {
+
+ requires transitive io.ebean.platform.h2;
+ requires transitive io.ebean.platform.clickhouse;
+ requires transitive io.ebean.platform.db2;
+ requires transitive io.ebean.platform.hana;
+ requires transitive io.ebean.platform.hsqldb;
+ requires transitive io.ebean.platform.mysql;
+ requires transitive io.ebean.platform.mariadb;
+ requires transitive io.ebean.platform.nuodb;
+ requires transitive io.ebean.platform.oracle;
+ requires transitive io.ebean.platform.postgres;
+ requires transitive io.ebean.platform.sqlanywhere;
+ requires transitive io.ebean.platform.sqlite;
+ requires transitive io.ebean.platform.sqlserver;
+
+}
diff --git a/platforms/all/src/main/java9/module-info.java b/platforms/all/src/main/java9/module-info.java
deleted file mode 100644
index 42de4f372..000000000
--- a/platforms/all/src/main/java9/module-info.java
+++ /dev/null
@@ -1,7 +0,0 @@
-module io.ebean.platform.all {
-
- requires transitive io.ebean.platform.h2;
- requires transitive io.ebean.platform.postgres;
- //TODO complete the list of platforms here ...
-
-}
diff --git a/platforms/clickhouse/src/main/java9/module-info.java b/platforms/clickhouse/src/main/java/module-info.java
similarity index 100%
rename from platforms/clickhouse/src/main/java9/module-info.java
rename to platforms/clickhouse/src/main/java/module-info.java
diff --git a/platforms/db2/src/main/java9/module-info.java b/platforms/db2/src/main/java/module-info.java
similarity index 100%
rename from platforms/db2/src/main/java9/module-info.java
rename to platforms/db2/src/main/java/module-info.java
diff --git a/platforms/h2/src/main/java9/module-info.java b/platforms/h2/src/main/java/module-info.java
similarity index 86%
rename from platforms/h2/src/main/java9/module-info.java
rename to platforms/h2/src/main/java/module-info.java
index 472b87edc..2eff2d5c5 100644
--- a/platforms/h2/src/main/java9/module-info.java
+++ b/platforms/h2/src/main/java/module-info.java
@@ -3,6 +3,7 @@ module io.ebean.platform.h2 {
exports io.ebean.platform.h2;
requires transitive io.ebean.api;
+ requires static com.h2database;
provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.h2.H2PlatformProvider;
}
diff --git a/platforms/hana/src/main/java9/module-info.java b/platforms/hana/src/main/java/module-info.java
similarity index 100%
rename from platforms/hana/src/main/java9/module-info.java
rename to platforms/hana/src/main/java/module-info.java
diff --git a/platforms/hsqldb/src/main/java9/module-info.java b/platforms/hsqldb/src/main/java/module-info.java
similarity index 83%
rename from platforms/hsqldb/src/main/java9/module-info.java
rename to platforms/hsqldb/src/main/java/module-info.java
index 99b5641a7..0e1a9c316 100644
--- a/platforms/hsqldb/src/main/java9/module-info.java
+++ b/platforms/hsqldb/src/main/java/module-info.java
@@ -3,6 +3,7 @@ module io.ebean.platform.hsqldb {
exports io.ebean.platform.hsqldb;
requires transitive io.ebean.api;
+ requires transitive io.ebean.platform.h2;
provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.hsqldb.HSqlDbPlatformProvider;
}
diff --git a/platforms/mariadb/src/main/java9/module-info.java b/platforms/mariadb/src/main/java/module-info.java
similarity index 83%
rename from platforms/mariadb/src/main/java9/module-info.java
rename to platforms/mariadb/src/main/java/module-info.java
index 26d084026..8b709a2d4 100644
--- a/platforms/mariadb/src/main/java9/module-info.java
+++ b/platforms/mariadb/src/main/java/module-info.java
@@ -3,6 +3,7 @@ module io.ebean.platform.mariadb {
exports io.ebean.platform.mariadb;
requires transitive io.ebean.api;
+ requires transitive io.ebean.platform.mysql;
provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.mariadb.MariaDbPlatformProvider;
}
diff --git a/platforms/mysql/src/main/java9/module-info.java b/platforms/mysql/src/main/java/module-info.java
similarity index 77%
rename from platforms/mysql/src/main/java9/module-info.java
rename to platforms/mysql/src/main/java/module-info.java
index 064aaec7f..ac36a8ee7 100644
--- a/platforms/mysql/src/main/java9/module-info.java
+++ b/platforms/mysql/src/main/java/module-info.java
@@ -4,5 +4,5 @@ module io.ebean.platform.mysql {
requires transitive io.ebean.api;
- provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.mysql.MysqlPlatformProvider;
+ provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.mysql.MySqlPlatformProvider;
}
diff --git a/platforms/nuodb/src/main/java9/module-info.java b/platforms/nuodb/src/main/java/module-info.java
similarity index 100%
rename from platforms/nuodb/src/main/java9/module-info.java
rename to platforms/nuodb/src/main/java/module-info.java
diff --git a/platforms/oracle/src/main/java9/module-info.java b/platforms/oracle/src/main/java/module-info.java
similarity index 100%
rename from platforms/oracle/src/main/java9/module-info.java
rename to platforms/oracle/src/main/java/module-info.java
diff --git a/platforms/postgres/src/main/java9/module-info.java b/platforms/postgres/src/main/java/module-info.java
similarity index 100%
rename from platforms/postgres/src/main/java9/module-info.java
rename to platforms/postgres/src/main/java/module-info.java
diff --git a/platforms/sqlanywhere/src/main/java9/module-info.java b/platforms/sqlanywhere/src/main/java/module-info.java
similarity index 100%
rename from platforms/sqlanywhere/src/main/java9/module-info.java
rename to platforms/sqlanywhere/src/main/java/module-info.java
diff --git a/platforms/sqlite/src/main/java9/module-info.java b/platforms/sqlite/src/main/java/module-info.java
similarity index 100%
rename from platforms/sqlite/src/main/java9/module-info.java
rename to platforms/sqlite/src/main/java/module-info.java
diff --git a/platforms/sqlserver/src/main/java9/module-info.java b/platforms/sqlserver/src/main/java/module-info.java
similarity index 100%
rename from platforms/sqlserver/src/main/java9/module-info.java
rename to platforms/sqlserver/src/main/java/module-info.java
diff --git a/pom.xml b/pom.xml
index defb7f799..58028d703 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
org.avaje
- java8-oss
+ java11-oss
3.6
@@ -48,6 +48,7 @@
7.5
12.16.1
12.16.1
+ false
diff --git a/querybean-generator/pom.xml b/querybean-generator/pom.xml
index 191dd90fe..98801d2e9 100644
--- a/querybean-generator/pom.xml
+++ b/querybean-generator/pom.xml
@@ -29,23 +29,12 @@
maven-compiler-plugin
3.10.1
- 1.8
- 1.8
+ 11
+ 11
-proc:none
-
- io.repaint.maven
- tiles-maven-plugin
- 2.24
- true
-
-
- io.avaje.tile:moditech-module:1.0
-
-
-
diff --git a/querybean-generator/src/main/java9/module-info.java b/querybean-generator/src/main/java/module-info.java
similarity index 100%
rename from querybean-generator/src/main/java9/module-info.java
rename to querybean-generator/src/main/java/module-info.java