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 void checkActiveTests() throws Exception { Vector finishedTests = new Vector<>(); for (String test: activeTests){ if (isFinished(test)) finishedTests.add(test); } for (String test: finishedTests){ activeTests.remove(test); } } public void startWaitingTests() throws Exception { } //--->> public void Do() { try { interruptThread.start(); //--->> init(); //--->> do { checkActiveTests(); startWaitingTests(); Thread.sleep(1000); } while (!activeTests.isEmpty() && !waitingTests.isEmpty()); } catch (Exception ex) { ex.printStackTrace(); } } }