From 9d7ae05224c9dd650967a1932ba76bfdd5c8d89a Mon Sep 17 00:00:00 2001 From: RncLsn Date: Fri, 11 Sep 2015 11:52:36 +0100 Subject: Improved the statistics that are generated for evaluating the system; configuration file: now default and user-specified. --- src/uk/ac/ox/cs/pagoda/util/PagodaProperties.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/uk/ac/ox/cs/pagoda/util/PagodaProperties.java') diff --git a/src/uk/ac/ox/cs/pagoda/util/PagodaProperties.java b/src/uk/ac/ox/cs/pagoda/util/PagodaProperties.java index 0f9ad4e..2b52a89 100644 --- a/src/uk/ac/ox/cs/pagoda/util/PagodaProperties.java +++ b/src/uk/ac/ox/cs/pagoda/util/PagodaProperties.java @@ -13,6 +13,7 @@ public class PagodaProperties { public enum SkolemUpperBoundOptions {DISABLED, BEFORE_SUMMARISATION, AFTER_SUMMARISATION} + public static final String DEFAULT_CONFIG_FILE = "_default_pagoda.properties"; public static final String CONFIG_FILE = "pagoda.properties"; public static final boolean DEFAULT_DEBUG = false; private static final boolean DEFAULT_USE_ALWAYS_SIMPLE_UPPER_BOUND; @@ -26,6 +27,8 @@ public class PagodaProperties { private static boolean debug = DEFAULT_DEBUG; static { + Logger logger = Logger.getLogger("PagodaProperties"); + boolean defaultUseAlwaysSimpleUpperBound = false; SkolemUpperBoundOptions defaultSkolemUpperBound = SkolemUpperBoundOptions.DISABLED; int defaultSkolemDepth = 1; @@ -33,11 +36,19 @@ public class PagodaProperties { Path defaultStatisticsDir = null; long defaultMaxTriplesInSkolemStore = 1000000; - try (InputStream in = PagodaProperties.class.getClassLoader().getResourceAsStream(CONFIG_FILE)) { + InputStream configStream = PagodaProperties.class.getClassLoader().getResourceAsStream(CONFIG_FILE); + + if(configStream == null) { + logger.info("Unable to find user-defined configuration file (\"" + CONFIG_FILE + "\" in classpath)"); + logger.info("Using default configuration"); + configStream = PagodaProperties.class.getClassLoader().getResourceAsStream(DEFAULT_CONFIG_FILE); + } + + try { Properties config = new Properties(); - config.load(in); - in.close(); - Logger logger = Logger.getLogger("PagodaProperties"); + config.load(configStream); + configStream.close(); + if (config.containsKey("debug")) { debug = Boolean.parseBoolean(config.getProperty("debug")); logger.info("Debugging mode is enabled"); -- cgit v1.2.3