package com.plectix.simulator.harness.contactmap; import java.util.List; import org.apache.commons.cli.ParseException; import org.apache.log4j.PropertyConfigurator; import com.plectix.simulator.SimulatorTestOptions; import com.plectix.simulator.interfaces.SolutionInterface; import com.plectix.simulator.io.SimulationDataReader; import com.plectix.simulator.simulator.SimulationArguments; import com.plectix.simulator.simulator.SimulationData; import com.plectix.simulator.simulator.Simulator; import com.plectix.simulator.simulator.SimulatorCommandLine; import com.plectix.simulator.staticanalysis.Rule; import com.plectix.simulator.util.DefaultPropertiesForTest; import com.plectix.simulator.util.Info.InfoType; public class InitTestContactMap extends DefaultPropertiesForTest { private static final String testModel = "model"; private static Simulator simulator; private static String sessionPath; private static String counter; private static String directory; private static SimulationArguments argSimulation; private static final String fileName(String suffix, String number) { return directory + suffix + number + DEFAULT_EXTENSION_FILE; } public static void init(String dir, String dirResult, String count) throws Exception { PropertyConfigurator.configure(LOG4J_PROPERTIES_FILENAME); simulator = new Simulator(); directory = dir; sessionPath = dirResult; counter = count; SimulationData simulationData = simulator.getSimulationData(); SimulatorCommandLine commandLine = null; try { if (dir.contains(testModel)) { String filename = fileName("~kappa", count); commandLine = SimulatorTestOptions.defaultContactMapCommandLine(filename, null); } else { String filename = fileName("~kappa", count); SimulatorTestOptions options = SimulatorTestOptions.defaultContactMapOptions(filename, null); options.appendFocus(fileName("~focus", count)); commandLine = options.toCommandLine(); } } catch (ParseException e) { e.printStackTrace(); throw new IllegalArgumentException(e); } argSimulation = commandLine.getSimulationArguments(); simulationData.setSimulationArguments(InfoType.OUTPUT, commandLine .getSimulationArguments()); (new SimulationDataReader(simulationData)).readAndCompile(); } public static SimulationArguments getSimulationArguments() { return argSimulation; } public static SolutionInterface getSolution() { return simulator.getSimulationData().getKappaSystem().getSolution(); } public static List<Rule> getRules() { return simulator.getSimulationData().getKappaSystem().getRules(); } public static SimulationData getSimulationData() { return simulator.getSimulationData(); } }