public static String getDefaultDialect(String driver) { return getDefaultDialect(new Configuration("default"), driver); }
private boolean isHSQL(String dbName) { Configuration dbConfig = new Configuration(dbName); String db = dbConfig.getProperty("db"); return ("mem".equals(db) || "fs".equals(db) || "org.hsqldb.jdbcDriver".equals(dbConfig.getProperty("db.driver"))); }
/** * Reads the configuration file and initialises required JPA EntityManagerFactories. */ @Override public void onApplicationStart() { org.apache.log4j.Logger.getLogger("org.hibernate.SQL").setLevel(Level.OFF); Set<String> dBNames = Configuration.getDbNames(); for (String dbName : dBNames) { Configuration dbConfig = new Configuration(dbName); if (dbConfig.getProperty("jpa.debugSQL", "false").equals("true")) { org.apache.log4j.Logger.getLogger("org.hibernate.SQL").setLevel(Level.ALL); } Thread thread = Thread.currentThread(); ClassLoader contextClassLoader = thread.getContextClassLoader(); thread.setContextClassLoader(Play.classloader); try { if (Logger.isTraceEnabled()) { Logger.trace("Initializing JPA for %s...", dbName); } JPA.emfs.put(dbName, newEntityManagerFactory(dbName, dbConfig)); } finally { thread.setContextClassLoader(contextClassLoader); } } JPQL.instance = new JPQL(); }
private static synchronized boolean isOracleDialectInUse(String dbName) { boolean isOracle = false; Configuration dbConfig = new Configuration(dbName); String jpaDialect = JPAPlugin.getDefaultDialect(dbConfig.getProperty("db.driver")); if (jpaDialect != null) { try { Class<?> dialectClass = Play.classloader.loadClass(jpaDialect); // Oracle 8i dialect is the base class for oracle dialects (at least for now) isOracle = org.hibernate.dialect.Oracle8iDialect.class.isAssignableFrom(dialectClass); } catch (ClassNotFoundException e) { // swallow Logger.warn("jpa.dialect class %s not found", jpaDialect); } } return isOracle; }
private static boolean isMySqlDialectInUse(String dbName) { boolean isMySQl = false; Configuration dbConfig = new Configuration(dbName); String jpaDialect = JPAPlugin.getDefaultDialect(dbConfig.getProperty("db.driver")); if (jpaDialect != null) { try { Class<?> dialectClass = Play.classloader.loadClass(jpaDialect); // MySQLDialect is the base class for MySQL dialects isMySQl = org.hibernate.dialect.MySQLDialect.class.isAssignableFrom(dialectClass); } catch (ClassNotFoundException e) { // swallow Logger.warn("jpa.dialect class %s not found", jpaDialect); } } return isMySQl; }
@Override public void beforeInvocation() { if (isDisabled() || Play.mode.isProd()) { return; } try { checkEvolutionsState(); } catch (InvalidDatabaseRevision e) { Set<String> dbNames = Configuration.getDbNames(); for (String dbName : dbNames) { Configuration dbConfig = new Configuration(dbName); for (Entry<String, VirtualFile> moduleRoot : modulesWithEvolutions.entrySet()) { if ("mem".equals(dbConfig.getProperty("db")) && listDatabaseEvolutions(e.getDbName(), moduleRoot.getKey()).peek().revision == 0) { Logger.info("Automatically applying evolutions in in-memory database"); Logger.info("Applying evolutions for '" + moduleRoot.getKey() + "'"); applyScript(true, moduleRoot.getKey(), moduleRoot.getValue()); } else { throw e; } } } } }
Configuration dbConfig = new Configuration(dbName);
while (it.hasNext()) { dbName = it.next(); Configuration dbConfig = new Configuration(dbName);
Configuration dbConfig = new Configuration(dbName);