@Override public void interpretArguments( final JSAP jsap, final JSAPResult result, final DAVOptions options) { timeService = new TimeLoggingService("execute-splits"); timeService.start(); super.interpretArguments(jsap, result, options); optionalModelIds = parseOptionalModelIdProperties(configurationProperties); evaluateStatistics = result.getBoolean("evaluate-statistics"); if (!evaluateStatistics) { System.out.println( "Will not evaluate statistics as run proceed. Run restat on results directory to obtain statistics."); } else { System.out.println("Will evaluate statistics as run proceed."); } try { final String filename = result.getString("splits"); splitPlanFilename = filename; splitPlan.load(filename); } catch (Exception e) { LOGGER.error("An error occurred reading splits file. " + result.getString("splits"), e); } // collect keys for parameters that are not required (have default values) paramKeysNotRequired = new ObjectArrayList<String>(); if (!result.userSpecified("seed")) { paramKeysNotRequired.add("--seed"); paramKeysNotRequired.add(Integer.toString(options.randomSeed)); } modelId = ShortHash.shortHash(getOriginalArgs()); options.modelId = modelId; timeService.setModelId(options.modelId); final Map<String, String> additionalConditionsMap = new HashMap<String, String>(); additionalConditionsMap.put("model-id", modelId); for (final OptionalModelId optionalModelId : optionalModelIds) { final String[] originalArgs1 = expandShortArgs(getOriginalArgs(), jsap); final String[] filteredArgs = filterArgs(originalArgs1, optionalModelId); final String optionalModelIdValue = ShortHash.shortHash(filteredArgs); additionalConditionsMap.put(optionalModelId.columnIdentifier, optionalModelIdValue); } final String modelConditionsFilename = "model-conditions.txt"; final Set<String> skipJsapConditions = new HashSet<String>(); skipJsapConditions.add("model-id"); skipJsapConditions.add("mode"); try { writeConditions( modelConditionsFilename, jsap, result, additionalConditionsMap, skipJsapConditions); } catch (IOException e) { LOGGER.error("Error writing " + modelConditionsFilename + " file", e); } }