package Common.ModesSupervisors; import Common.Global; import Common.Utils.InterruptThread; import Common.Utils.Utils; import SapforTestingSystem.Json.Scenario_json; import org.apache.commons.io.FileUtils; import java.io.File; import java.nio.charset.Charset; import java.util.Stack; import java.util.Vector; public class PackageModeSupervisor { Thread interruptThread = new InterruptThread(5000, () -> { System.exit(0); return null; }); //--->> int kernels = 4; //--->> Scenario_json scenario; //--->> File packageWorkspace; //--->> File sapfor_drv; File scenarioFile; //--->> Vector activeTests = new Vector<>(); Stack waitingTests = new Stack<>(); //--->> public void init() throws Exception { packageWorkspace = new File(Global.Home); scenarioFile = new File(packageWorkspace, "scenario.txt"); sapfor_drv = new File(packageWorkspace, "SAPFOR_F.exe"); String packed = FileUtils.readFileToString(scenarioFile, Charset.defaultCharset()); scenario = Utils.gson.fromJson(packed, Scenario_json.class); //--->> /* for (String test : scenario.tests) waitingTests.push(test); */ } public boolean isFinished(String test){ return true; } //--->> public boolean checkActiveTests() throws Exception { /* Vector finishedTests = new Vector<>(); for (String test: activeTests){ if (isFinished(test)) finishedTests.add(test); } for (String test: finishedTests){ activeTests.remove(test); } */ return true; } public boolean startWaitingTests() throws Exception { return true; } //--->> public void Do() { try { interruptThread.start(); //--->> init(); //--->> while (checkActiveTests()&&startWaitingTests()){ Thread.sleep(1000); } } catch (Exception ex) { ex.printStackTrace(); } } }