From 8cd03fbb51f0157616abf48494a0afb082679bb2 Mon Sep 17 00:00:00 2001 From: Lorenz Buehmann Date: Mon, 12 Sep 2016 12:50:40 +0200 Subject: [PATCH] Database name CLI arg. --- .../experiments/PRConvergenceExperiment.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/components-core/src/test/java/org/dllearner/algorithms/qtl/experiments/PRConvergenceExperiment.java b/components-core/src/test/java/org/dllearner/algorithms/qtl/experiments/PRConvergenceExperiment.java index 14e7f45564..c5c9bc3c51 100644 --- a/components-core/src/test/java/org/dllearner/algorithms/qtl/experiments/PRConvergenceExperiment.java +++ b/components-core/src/test/java/org/dllearner/algorithms/qtl/experiments/PRConvergenceExperiment.java @@ -229,6 +229,8 @@ enum Baseline { // "Pakistan" ); + String databaseName; + public PRConvergenceExperiment(EvaluationDataset dataset, File benchmarkDirectory, boolean write2DB, boolean override, int maxQTLRuntime, boolean useEmailNotification, int nrOfThreads) { this.dataset = dataset; this.benchmarkDirectory = benchmarkDirectory; @@ -264,6 +266,8 @@ public PRConvergenceExperiment(EvaluationDataset dataset, File benchmarkDirector cacheDirectory = new File(benchmarkDirectory, "cache"); filter = dataset.getPredicateFilter(); + + databaseName = "QTL_" + dataset.getName() + "_" + timeStamp; } private void setupDatabase() { @@ -280,9 +284,8 @@ private void setupDatabase() { java.sql.Statement stmt = conn.createStatement(); // create database - String databaseName = "QTL_" + dataset.getName() + "_" + timeStamp; - logger.info("Creating database '" + databaseName + "'"); - String sql = "CREATE DATABASE " + databaseName; + logger.info("Creating database " + databaseName + "'"); + String sql = "CREATE DATABASE IF NOT EXISTS" + databaseName; stmt.executeUpdate(sql); logger.info("Database created successfully."); @@ -426,6 +429,10 @@ public void setQueriesToOmitTokens(Set queriesToOmitTokens) { this.queriesToOmitTokens = queriesToOmitTokens; } + public void setDatabaseName(String databaseName) { + this.databaseName = databaseName; + } + public void run(int maxNrOfProcessedQueries, int maxTreeDepth, int[] exampleInterval, double[] noiseInterval, HeuristicType[] measures) throws Exception{ this.maxTreeDepth = maxTreeDepth; queryTreeFactory.setMaxDepth(maxTreeDepth); @@ -1582,6 +1589,8 @@ public static void main(String[] args) throws Exception { OptionSpec queriesToOmitTokensSpec = parser.accepts("omitTokens", "comma-separated list of tokens such that queries containing any of them will be omitted").withRequiredArg().ofType(String.class).defaultsTo(""); OptionSpec queriesToProcessTokensSpec = parser.accepts("processTokens", "comma-separated list of tokens such that queries containing any of them will be omitted").withRequiredArg().ofType(String.class).defaultsTo(""); + OptionSpec databaseNameSpec = parser.accepts("dbname", "database name").withRequiredArg().ofType(String.class); + OptionSet options = parser.parse(args); @@ -1658,9 +1667,13 @@ public static void main(String[] args) throws Exception { throw new RuntimeException("Unsupported dataset:" + datasetName); } + String databaseName = options.valueOf(databaseNameSpec); + + PRConvergenceExperiment eval = new PRConvergenceExperiment(dataset, benchmarkDirectory, write2DB, override, maxQTLRuntime, useEmailNotification, nrOfThreads); eval.setQueriesToOmitTokens(omitTokens); eval.setQueriesToProcessTokens(processTokens); + eval.setDatabaseName(databaseName); eval.run(maxNrOfQueries, maxTreeDepth, exampleInterval, noiseInterval, measures); // new QALDExperiment(Dataset.BIOMEDICAL).run();