Skip to content

Commit 81e44ec

Browse files
committed
simplify jdbc module fix jooby-project#432 fix jooby-project#429
1 parent 273f4fa commit 81e44ec

31 files changed

Lines changed: 1692 additions & 2278 deletions

File tree

coverage-report/src/test/java/org/jooby/hbm/HbmCustomFeature.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import org.junit.Test;
1212

1313
import com.google.inject.Key;
14-
import com.google.inject.name.Names;
1514
import com.typesafe.config.ConfigFactory;
1615
import com.typesafe.config.ConfigValueFactory;
1716

@@ -24,14 +23,14 @@ public class HbmCustomFeature extends ServerFeature {
2423
use(new Hbm("db.audit", Member.class));
2524

2625
get("/members", req -> {
27-
EntityManager em = req.require(Key.get(EntityManager.class, Names.named("db.audit")));
26+
EntityManager em = req.require(Key.get(EntityManager.class));
2827
Query query = em.createQuery("from Member");
2928
return query.getResultList();
3029
});
3130

3231
post("/members", (req, rsp, chain) -> {
3332
Member member = req.params().to(Member.class);
34-
EntityManager em = req.require(Key.get(EntityManager.class, Names.named("db.audit")));
33+
EntityManager em = req.require(Key.get(EntityManager.class));
3534
em.persist(member);
3635
if (req.param("err").toOptional(Boolean.class).orElse(false)) {
3736
throw new IllegalArgumentException("Rollback on err");

coverage-report/src/test/java/org/jooby/jdbi/JdbiCustomDbFeature.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class JdbiCustomDbFeature extends ServerFeature {
1717
use(new Jdbi("db1"));
1818

1919
get("/jdbi-handle", req -> {
20-
try (Handle h = req.require("db1", Handle.class)) {
20+
try (Handle h = req.require(Handle.class)) {
2121
h.execute("create table something (id int primary key, name varchar(100))");
2222

2323
h.execute("insert into something (id, name) values (?, ?)", 1, "Jooby");

jooby-ebean/src/main/java/org/jooby/ebean/Ebeanby.java

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import org.jooby.Env;
3131
import org.jooby.internal.ebean.EbeanEnhancer;
3232
import org.jooby.internal.ebean.EbeanManaged;
33-
import org.jooby.internal.ebean.ForwardingDataSource;
3433
import org.jooby.jdbc.Jdbc;
3534

3635
import com.avaje.ebean.EbeanServer;
@@ -209,43 +208,45 @@ public Ebeanby doWith(final BiConsumer<ServerConfig, Config> configurer) {
209208

210209
@Override
211210
public void configure(final Env env, final Config conf, final Binder binder) {
212-
super.configure(env, conf, binder);
211+
configure(env, conf, binder, (name, ds) -> {
212+
ServerConfig config = new ServerConfig();
213213

214-
ServerConfig config = new ServerConfig();
214+
this.packages.add(conf.getString("application.ns"));
215215

216-
this.packages.add(conf.getString("application.ns"));
216+
EbeanEnhancer.newEnhancer().run(packages);
217217

218-
EbeanEnhancer.newEnhancer().run(packages);
218+
config.setName(name);
219219

220-
config.setName(dbName);
220+
packages.forEach(config::addPackage);
221221

222-
packages.forEach(config::addPackage);
222+
Config cprops = conf.getConfig("ebean");
223+
if (conf.hasPath("ebean." + name)) {
224+
cprops = conf.getConfig("ebean." + name)
225+
.withFallback(cprops)
226+
.withoutPath(name);
227+
}
223228

224-
Config cprops = conf.getConfig("ebean");
225-
if (conf.hasPath("ebean." + dbName)) {
226-
cprops = conf.getConfig("ebean." + dbName)
227-
.withFallback(cprops);
228-
}
229+
Properties props = props(cprops);
229230

230-
Properties props = props(cprops);
231+
ContainerConfig container = new ContainerConfig();
232+
container.loadFromProperties(props);
231233

232-
ContainerConfig container = new ContainerConfig();
233-
container.loadFromProperties(props);
234+
config.setContainerConfig(container);
235+
config.setDataSource(ds);
236+
config.loadFromProperties(props);
237+
config.setDefaultServer(cprops.getBoolean("defaultServer"));
238+
config.setRegister(cprops.getBoolean("register"));
234239

235-
config.setContainerConfig(container);
236-
config.setDataSource(new ForwardingDataSource(dataSource()));
237-
config.loadFromProperties(props);
238-
config.setDefaultServer(cprops.getBoolean("defaultServer"));
239-
config.setRegister(cprops.getBoolean("register"));
240+
if (configurer != null) {
241+
configurer.accept(config, conf);
242+
}
240243

241-
if (configurer != null) {
242-
configurer.accept(config, conf);
243-
}
244-
245-
EbeanManaged server = new EbeanManaged(conf, config);
246-
env.onStart(server::start);
247-
env.onStop(server::stop);
248-
keys(EbeanServer.class, key -> binder.bind(key).toProvider(server).asEagerSingleton());
244+
EbeanManaged server = new EbeanManaged(conf, config);
245+
env.onStart(server::start);
246+
env.onStop(server::stop);
247+
env.serviceKey().generate(EbeanServer.class, name,
248+
k -> binder.bind(k).toProvider(server).asEagerSingleton());
249+
});
249250
}
250251

251252
@Override

jooby-ebean/src/main/java/org/jooby/internal/ebean/ForwardingDataSource.java

Lines changed: 0 additions & 84 deletions
This file was deleted.

0 commit comments

Comments
 (0)