diff --git a/ebean-bom/pom.xml b/ebean-bom/pom.xml
index 9f79cc9c2..35ed6d6a0 100644
--- a/ebean-bom/pom.xml
+++ b/ebean-bom/pom.xml
@@ -14,12 +14,12 @@
1.0
- 1.0
- 12.4.0
+ 1.1
+ 12.11.0
4.1
7.0
- 12.10.0
- 12.10.0
+ 12.11.0
+ 12.11.0
diff --git a/ebean-core/pom.xml b/ebean-core/pom.xml
index cfac597fa..3426582d3 100644
--- a/ebean-core/pom.xml
+++ b/ebean-core/pom.xml
@@ -52,13 +52,13 @@
io.avaje
classpath-scanner
- 4.2
+ 6.0
io.ebean
ebean-migration-auto
- 1.0
+ 1.1
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultServer.java b/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultServer.java
index 4aa90ad13..d21f9967f 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultServer.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultServer.java
@@ -397,6 +397,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
if (dbSchema != null) {
migrationRunner.setDefaultDbSchema(dbSchema);
}
+ migrationRunner.setPlatform(config.getDatabasePlatform().getPlatform().base().name().toLowerCase());
migrationRunner.loadProperties(config.getProperties());
migrationRunner.run(config.getDataSource());
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/core/bootup/BootupClasses.java b/ebean-core/src/main/java/io/ebeaninternal/server/core/bootup/BootupClasses.java
index f7c1a5fea..aba5533e0 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/core/bootup/BootupClasses.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/core/bootup/BootupClasses.java
@@ -1,6 +1,5 @@
package io.ebeaninternal.server.core.bootup;
-import io.avaje.classpath.scanner.ClassFilter;
import io.ebean.annotation.DocStore;
import io.ebean.config.DatabaseConfig;
import io.ebean.config.IdGenerator;
@@ -27,27 +26,23 @@ import javax.persistence.Embeddable;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.lang.annotation.Annotation;
-import java.lang.reflect.Constructor;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.List;
+import java.util.function.Predicate;
/**
* Interesting classes for a EbeanServer such as Embeddable, Entity,
* ScalarTypes, Finders, Listeners and Controllers.
*/
-public class BootupClasses implements ClassFilter {
+public class BootupClasses implements Predicate> {
private static final Logger logger = LoggerFactory.getLogger(BootupClasses.class);
private final List> embeddableList = new ArrayList<>();
-
private final List> entityList = new ArrayList<>();
-
private final List>> scalarTypeList = new ArrayList<>();
-
private final List>> scalarConverterList = new ArrayList<>();
-
private final List>> attributeConverterList = new ArrayList<>();
// The following objects are instantiated on first request
@@ -55,19 +50,12 @@ public class BootupClasses implements ClassFilter {
// instance list, that holds the instance. Once a class is instantiated
// (or added) it will get removed from the candidate list
private final List> idGeneratorCandidates = new ArrayList<>();
-
private final List> beanPersistControllerCandidates = new ArrayList<>();
-
private final List> beanPostLoadCandidates = new ArrayList<>();
-
private final List> beanPostConstructListenerCandidates = new ArrayList<>();
-
private final List> beanFindControllerCandidates = new ArrayList<>();
-
private final List> beanPersistListenerCandidates = new ArrayList<>();
-
private final List> beanQueryAdapterCandidates = new ArrayList<>();
-
private final List> serverConfigStartupCandidates = new ArrayList<>();
private final List idGeneratorInstances = new ArrayList<>();
@@ -98,7 +86,7 @@ public class BootupClasses implements ClassFilter {
public BootupClasses(List> list) {
if (list != null) {
for (Class> cls : list) {
- isMatch(cls);
+ test(cls);
}
}
}
@@ -188,13 +176,11 @@ public class BootupClasses implements ClassFilter {
}
public void addChangeLogInstances(DatabaseConfig config) {
-
readAuditPrepare = config.getReadAuditPrepare();
readAuditLogger = config.getReadAuditLogger();
changeLogPrepare = config.getChangeLogPrepare();
changeLogListener = config.getChangeLogListener();
changeLogRegister = config.getChangeLogRegister();
-
// if not already set create the implementations found
// via classpath scanning
if (readAuditPrepare == null && readAuditPrepareClass != null) {
@@ -341,18 +327,14 @@ public class BootupClasses implements ClassFilter {
}
@Override
- public boolean isMatch(Class> cls) {
-
+ public boolean test(Class> cls) {
if (isEmbeddable(cls)) {
embeddableList.add(cls);
-
} else if (isEntity(cls)) {
entityList.add(cls);
-
} else {
return isInterestingInterface(cls);
}
-
return true;
}
@@ -364,7 +346,6 @@ public class BootupClasses implements ClassFilter {
*/
@SuppressWarnings("unchecked")
private boolean isInterestingInterface(Class> cls) {
-
if (Modifier.isAbstract(cls.getModifiers())) {
// do not include abstract classes as we can
// not instantiate them
diff --git a/ebean-ddl-generator/pom.xml b/ebean-ddl-generator/pom.xml
index d7267945e..4035af5f2 100644
--- a/ebean-ddl-generator/pom.xml
+++ b/ebean-ddl-generator/pom.xml
@@ -22,7 +22,7 @@
io.ebean
ebean-migration
- 12.4.0
+ 12.11.0
diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/DefaultDbMigration.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/DefaultDbMigration.java
index 7f2a90558..5bb40fa08 100644
--- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/DefaultDbMigration.java
+++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/DefaultDbMigration.java
@@ -281,7 +281,7 @@ public class DefaultDbMigration implements DbMigration {
public String generateMigration() throws IOException {
final String version = generateMigrationFor(false);
if (includeIndex) {
- generateIndex(version);
+ generateIndex();
}
return version;
}
@@ -289,15 +289,14 @@ public class DefaultDbMigration implements DbMigration {
/**
* Generate the {@code idx_platform.migrations} file.
*/
- private void generateIndex(String version) throws IOException {
- final boolean overwrite = version != null;
+ private void generateIndex() throws IOException {
final File topDir = migrationDirectory(false);
if (!platforms.isEmpty()) {
for (Pair pair : platforms) {
- new IndexMigration(topDir, pair).generate(overwrite);
+ new IndexMigration(topDir, pair).generate();
}
} else {
- new IndexMigration(topDir, databasePlatform).generate(overwrite);
+ new IndexMigration(topDir, databasePlatform).generate();
}
}
diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/IndexMigration.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/IndexMigration.java
index 215c18e72..baedb77b9 100644
--- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/IndexMigration.java
+++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/IndexMigration.java
@@ -43,10 +43,7 @@ class IndexMigration {
return new File(topDir, name);
}
- void generate(boolean overwrite) throws IOException {
- if (!overwrite && indexFile.exists()) {
- return;
- }
+ void generate() throws IOException {
readSqlFiles(topDir);
generateIndex();
}
diff --git a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/IndexMigrationTest.java b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/IndexMigrationTest.java
index 5a04d8917..a22a42ec7 100644
--- a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/IndexMigrationTest.java
+++ b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/IndexMigrationTest.java
@@ -24,7 +24,7 @@ public class IndexMigrationTest {
}
DatabasePlatform pg = new PostgresPlatform();
IndexMigration indexMigration = new IndexMigration(topDir, pg);
- indexMigration.generate(true);
+ indexMigration.generate();
File expected = new File(topDir, "idx_postgres.migrations");
@@ -48,7 +48,7 @@ public class IndexMigrationTest {
}
DatabasePlatform pg = new H2Platform();
IndexMigration indexMigration = new IndexMigration(topDir, pg);
- indexMigration.generate(true);
+ indexMigration.generate();
File expected = new File(topDir, "idx_h2.migrations");
assertThat(expected).exists();
diff --git a/ebean-externalmapping-xml/pom.xml b/ebean-externalmapping-xml/pom.xml
index 0ce9ce6ca..3f0b71546 100644
--- a/ebean-externalmapping-xml/pom.xml
+++ b/ebean-externalmapping-xml/pom.xml
@@ -45,7 +45,7 @@
io.avaje
classpath-scanner
- 4.2
+ 6.0
diff --git a/ebean-externalmapping-xml/src/main/java/io/ebeaninternal/xmlmapping/XmlMappingReader.java b/ebean-externalmapping-xml/src/main/java/io/ebeaninternal/xmlmapping/XmlMappingReader.java
index 2519ef8f1..8b28975ef 100644
--- a/ebean-externalmapping-xml/src/main/java/io/ebeaninternal/xmlmapping/XmlMappingReader.java
+++ b/ebean-externalmapping-xml/src/main/java/io/ebeaninternal/xmlmapping/XmlMappingReader.java
@@ -6,7 +6,6 @@ import io.ebeaninternal.xmlmapping.model.XmEbean;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
-import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
@@ -59,7 +58,7 @@ public class XmlMappingReader {
try {
List mappings = new ArrayList<>();
for (Resource xmlMappingRes : resourceList) {
- try (InputStream is = new FileInputStream(xmlMappingRes.getLocationOnDisk())) {
+ try (InputStream is = xmlMappingRes.inputStream()) {
mappings.add(XmlMappingReader.read(is));
}
}