package TestingSystem.SAPFOR.SapforPackage; import Common.Constants; import Common.Database.DBObject; import Common.Global; import Common.Utils.Utils; import TestingSystem.Common.TestingPackage.TestingPackage; import TestingSystem.SAPFOR.Json.SapforPackage_json; import TestingSystem.SAPFOR.Json.SapforTestingSet_json; import TestingSystem.SAPFOR.SapforTask.SapforTask; import com.sun.org.glassfish.gmbal.Description; import java.io.File; import java.util.Vector; public class SapforPackage extends TestingPackage { @Description("DEFAULT ''") public String testsNames = "";//имена тестов через ; для отображения @Description("DEFAULT ''") public String configurationsNames="";//имена конфигураций для отображения. //--- public int sapforId = Constants.Nan; // так как сапфор на машине. public SapforPackage() { } public SapforPackage(SapforPackage sapforPackage) { SynchronizeFields(sapforPackage); } @Override public void SynchronizeFields(DBObject src) { super.SynchronizeFields(src); SapforPackage p = (SapforPackage) src; testsNames = p.testsNames; sapforId = p.sapforId; } @Override public Class getJsonClass() { return SapforPackage_json.class; } @Override public File getHomeDirectory() { return Global.SapforPackagesDirectory; } //-- public void init() throws Exception { for (SapforTask task : package_json.tasks) task.sapfortaskspackage_id = id; Utils.CheckAndCleanDirectory(getLocalWorkspace()); saveJson(); package_json = null; // объект больше не нужен. } //-проверка, какие задачи из набора, не пересекаются с уже имеющимися в пакете. public Vector getActualTestingSetTasks(SapforTestingSet_json testingSet){ Vector possible_tasks = testingSet.createTasks(); Vector keys = package_json.getTasksKeys(); Vector new_tasks = new Vector<>(); //---- for (SapforTask task : possible_tasks) { String key = task.getUniqueKey(); if (!keys.contains(key)) { keys.add(key); new_tasks.add(task); } } return new_tasks; } }