@Override public List<Binding<?>> bindings(final Environment environment, final Config config) { String dbKey = config.getString("play.db.config"); String defaultDb = config.getString("play.db.default"); ImmutableList.Builder<Binding<?>> list = new ImmutableList.Builder<Binding<?>>(); list.add(bindClass(ConnectionPool.class).to(DefaultConnectionPool.class)); list.add(bindClass(DBApi.class).to(DefaultDBApi.class)); try { Set<String> dbs = config.getConfig(dbKey).root().keySet(); for (String db : dbs) { list.add(bindClass(Database.class).qualifiedWith(named(db)).to(new NamedDatabaseProvider(db))); } if (dbs.contains(defaultDb)) { list.add(bindClass(Database.class).to(bindClass(Database.class).qualifiedWith(named(defaultDb)))); } } catch (com.typesafe.config.ConfigException.Missing ex) { logger.warn("Configuration not found for database: {}", ex.getMessage()); } return list.build(); }
@Override public Seq<Binding<?>> bindings(Environment environment, Configuration configuration) { String dbKey = configuration.underlying().getString("play.db.config"); String defaultDb = configuration.underlying().getString("play.db.default"); ImmutableList.Builder<Binding<?>> list = new ImmutableList.Builder<Binding<?>>(); list.add(bind(ConnectionPool.class).to(DefaultConnectionPool.class)); list.add(bind(DBApi.class).to(DefaultDBApi.class)); try { Set<String> dbs = configuration.underlying().getConfig(dbKey).root().keySet(); for (String db : dbs) { list.add(bind(Database.class).qualifiedWith(named(db)).to(new NamedDatabaseProvider(db))); } if (dbs.contains(defaultDb)) { list.add(bind(Database.class).to(bind(Database.class).qualifiedWith(named(defaultDb)))); } } catch (com.typesafe.config.ConfigException.Missing e) { // ignore missing configuration } return Scala.toSeq(list.build()); }