package bo.gotthardt.ebean;
import com.avaje.ebean.config.DataSourceConfig;
import com.avaje.ebean.config.ServerConfig;
import io.dropwizard.db.DataSourceFactory;
public class EbeanConfigUtils {
public static ServerConfig createServerConfig(DataSourceFactory dbConfig) {
ServerConfig config = new ServerConfig();
config.setName("main");
config.setDataSourceConfig(createDataSourceConfig(dbConfig));
config.setDefaultServer(true);
EbeanEntities.getEntities().forEach(config::addClass);
return config;
}
public static DataSourceConfig createDataSourceConfig(DataSourceFactory dbConfig) {
DataSourceConfig config = new DataSourceConfig();
config.setUsername(dbConfig.getUser());
config.setPassword(dbConfig.getPassword());
config.setUrl(dbConfig.getUrl());
config.setDriver(dbConfig.getDriverClass());
config.setMinConnections(dbConfig.getMinSize());
config.setMaxConnections(dbConfig.getMaxSize());
return config;
}
public static DataSourceFactory clone(DataSourceFactory dbConfig) {
DataSourceFactory newConfig = new DataSourceFactory();
newConfig.setUser(dbConfig.getUser());
newConfig.setPassword(dbConfig.getPassword());
newConfig.setUrl(dbConfig.getUrl());
newConfig.setDriverClass(dbConfig.getDriverClass());
newConfig.setMaxSize(dbConfig.getMaxSize());
newConfig.setMinSize(dbConfig.getMinSize());
newConfig.setInitialSize(dbConfig.getInitialSize());
return newConfig;
}
}