ExternalModule(ExeRunnerDelegate exeRunnerDelegate, final String moduleId, final OutputDirectoryHierarchy controler, final Scenario scenario) { this.modulePrefix = moduleId + "_"; this.controler = controler; this.outFileRoot = controler.getTempPath() + "/"; this.scenario = scenario; this.exeRunnerDelegate = exeRunnerDelegate; }
public ExternalModule(final String exePath, final String moduleId, final OutputDirectoryHierarchy controler, final Scenario scenario) { this.modulePrefix = moduleId + "_"; this.controler = controler; this.outFileRoot = controler.getTempPath() + "/"; this.scenario = scenario; this.exeRunnerDelegate = new ExeRunnerDelegate() { @Override public boolean invoke() { String cmd = exePath + " " + outFileRoot + modulePrefix + ExternalConfigFileName; String logfilename = controler.getIterationFilename(currentIteration, modulePrefix + "stdout.log"); return (ExeRunner.run(cmd, logfilename, 3600) == 0); } }; }
File tmpDir = new File(getTempPath()); if (!tmpDir.mkdir() && !tmpDir.exists()) { throw new RuntimeException("The tmp directory " + getTempPath() + " could not be created.");
@Override public boolean invoke() { Population inPopulation = loadPopulation(outputDirectoryHierarchy.getTempPath()+"/test_plans.in.xml"); new PopulationWriter(inPopulation).write(outputDirectoryHierarchy.getTempPath()+"/test_plans.out.xml"); return true; } }, "test", outputDirectoryHierarchy, scenario);
@Override public boolean invoke() { Population inPopulation = loadPopulation(outputDirectoryHierarchy.getTempPath()+"/test_plans.in.xml"); for (Person person : inPopulation.getPersons().values()) { person.getSelectedPlan().getPlanElements().clear(); } new PopulationWriter(inPopulation).write(outputDirectoryHierarchy.getTempPath()+"/test_plans.out.xml"); return true; } }, "test", outputDirectoryHierarchy, scenario);