Use fluid setters for DatabaseConfig and DatabaseBuilder

This commit is contained in:
Rob Bygrave
2023-11-04 13:05:22 +13:00
parent 314e0a14b8
commit e2d666df35
4 changed files with 676 additions and 454 deletions
@@ -86,6 +86,23 @@ import java.util.concurrent.Callable;
@NonNullApi
public interface Database {
/**
* Return a new database builder.
* <pre>{@code
*
* // build the 'default' database using configuration
* // from application.properties / application.yaml
*
* Database db = Database.builder()
* .loadFromProperties()
* .build();
*
* }</pre>
*/
static DatabaseBuilder builder() {
return new DatabaseConfig();
}
/**
* Shutdown the Database instance.
*/
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,8 +1,6 @@
package io.ebeaninternal.server.deploy;
import io.ebean.DatabaseFactory;
import io.ebean.DatabaseBuilder;
import io.ebean.config.DatabaseConfig;
import io.ebean.Database;
import io.ebean.event.AbstractBeanPersistListener;
import io.ebean.event.BeanPersistAdapter;
import io.ebean.event.BeanPersistListener;
@@ -18,16 +16,16 @@ public class BeanDescriptor_registerTest {
@Test
public void testRegisterDeregister() {
DatabaseBuilder config = new DatabaseConfig();
Database db = Database.builder()
.setName("h2other")
.loadFromProperties()
.setDdlExtra(false)
.setRegister(false)
.setDefaultServer(false)
.addClass(EBasic.class)
.build();
config.setName("h2other");
config.loadFromProperties();
config.setDdlExtra(false);
config.setRegister(false);
config.setDefaultServer(false);
config.addClass(EBasic.class);
SpiEbeanServer ebeanServer = (SpiEbeanServer)DatabaseFactory.create(config);
SpiEbeanServer ebeanServer = (SpiEbeanServer)db;
try {
BeanDescriptor<EBasic> desc = ebeanServer.descriptor(EBasic.class);
persistListenerRegistrationTests(desc);