package com.plectix.simulator.util; import org.apache.commons.cli.ParseException; import org.apache.log4j.PropertyConfigurator; import com.plectix.simulator.SimulatorTestOptions; import com.plectix.simulator.io.SimulationDataReader; import com.plectix.simulator.simulator.SimulationData; import com.plectix.simulator.simulator.Simulator; import com.plectix.simulator.simulator.SimulatorCommandLine; import com.plectix.simulator.util.Info.InfoType; public abstract class BasicTestByModel extends DefaultPropertiesForTest { private Simulator simulator; private String mycount; private String directory; private Integer operationMode; public abstract SimulatorTestOptions prepareTestModelArgs(); public void initializeSimulation(String dir, String filename, Integer opMode) throws Exception { PropertyConfigurator.configure(LOG4J_PROPERTIES_FILENAME); simulator = new Simulator(); directory = dir; mycount = filename; operationMode = opMode; SimulationData simulationData = simulator.getSimulationData(); SimulatorCommandLine commandLine; try { commandLine = prepareTestModelArgs().toCommandLine(); } catch (ParseException e) { e.printStackTrace(); throw new IllegalArgumentException(e); } simulationData.setSimulationArguments(InfoType.OUTPUT, commandLine .getSimulationArguments()); (new SimulationDataReader(simulationData)).readAndCompile(); simulationData.getKappaSystem().initialize(); } public Simulator getSimulator() { return simulator; } public String getMyCountInside() { return mycount; } public String getDirectoryInside() { return directory; } public String defaultSourseFileName(String path) { return path + DEFAULT_PREFIX_SOURSE_FILE + mycount + DEFAULT_EXTENSION_FILE; } public String defaultModelFileName() { return directory + DEFAULT_PREFIX_MODEL_FILE + mycount + DEFAULT_EXTENSION_FILE; } public String defaultExtentionAndCountFileName(String path, String prefixFileName) { return path + prefixFileName + mycount + DEFAULT_EXTENSION_FILE; } public Integer getOperationMode() { return operationMode; } }