package com.enioka.jqm.test; import java.io.File; import java.io.IOException; import java.util.Map; import java.util.Properties; import org.hsqldb.Server; import com.enioka.jqm.jdbc.DbConn; import com.enioka.jqm.model.Cl; import com.enioka.jqm.model.JobDef; final class Common { private Common() {} static File createTempDirectory() { final File temp; try { temp = File.createTempFile("temp", Long.toString(System.nanoTime())); if (!(temp.delete())) { throw new IOException("Could not delete temp file: " + temp.getAbsolutePath()); } if (!(temp.mkdir())) { throw new IOException("Could not create temp directory: " + temp.getAbsolutePath()); } } catch (Exception e) { // Hatred of checked exceptions. throw new RuntimeException(e); } return (temp); } static Server createHsqlServer() { Server s = new Server(); String dbName = "testdb_" + Math.random(); s.setDatabaseName(0, dbName); s.setDatabasePath(0, "mem:" + dbName); s.setLogWriter(null); s.setSilent(true); return s; } static Properties dbProperties(Server s) { Properties p = new Properties(); p.put("com.enioka.jqm.jdbc.allowSchemaUpdate", "true"); p.put("com.enioka.jqm.jdbc.datasource", "jdbc/jqm"); return p; } static void createJobDef(DbConn cnx, TestJobDefinition d, Map<String, Integer> queues) { int clId = Cl.create(cnx, d.getSpecificIsolationContext() == null ? d.getName() : d.getSpecificIsolationContext(), d.isChildFirstClassLoader(), d.getHiddenJavaClasses(), d.isClassLoaderTracing(), false, null); JobDef.create(cnx, d.getDescription(), d.getJavaClassName(), d.parameters, d.getPath(), d.getQueueName() != null ? queues.get(d.getQueueName()) : queues.values().iterator().next(), 0, d.getName(), d.getApplication(), d.getModule(), d.getKeyword1(), d.getKeyword2(), d.getKeyword3(), d.isHighlander(), clId, d.getPathType()); } }