package TestingSystem; import Common.Database.SQLITE.SQLiteDatabase; import GlobalData.Settings.SettingName; import SapforTestingSystem.SapforConfiguration.SapforConfigurationDBTable; import SapforTestingSystem.SapforConfigurationCommand.SapforConfigurationCommandsDBTable; import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage; import SapforTestingSystem.ServerSapfor.ServerSapforsDBTable; import TestingSystem.Configuration.UI.ConfigurationDBTable; import TestingSystem.Group.GroupsDBTable; import TestingSystem.MachineMaxKernels.MachineMaxKernelsDBTable; import TestingSystem.TSetting.TSetting; import TestingSystem.TSetting.TSettingsDBTable; import TestingSystem.Test.TestDBTable; import java.nio.file.Paths; public class TestsDatabase extends SQLiteDatabase { public ConfigurationDBTable configurations; public TestDBTable tests; public GroupsDBTable groups; public MachineMaxKernelsDBTable machinesMaxKernels; public TSettingsDBTable settings; //-- public SapforConfigurationDBTable sapforConfigurations; public SapforConfigurationCommandsDBTable sapforConfigurationCommands; //---- public ServerSapforsDBTable serverSapfors; //-- // public SapforTasksPackagesDBTable sapforTasksPackages; // public SapforTasksPackagesDBTable sapforTasksPackages; //-- public TestsDatabase() { super(Paths.get(System.getProperty("user.dir"), "Data", TasksDatabase.tests_db_name + ".sqlite").toFile()); } @Override protected void initAllTables() throws Exception { addTable(configurations = new ConfigurationDBTable()); addTable(groups = new GroupsDBTable()); addTable(tests = new TestDBTable()); addTable(machinesMaxKernels = new MachineMaxKernelsDBTable()); addTable(settings = new TSettingsDBTable()); //- addTable(sapforConfigurations = new SapforConfigurationDBTable()); addTable(sapforConfigurationCommands = new SapforConfigurationCommandsDBTable()); addTable(serverSapfors = new ServerSapforsDBTable()); // addTable(sapforTasksPackages = new SapforTasksPackagesDBTable()); // addTable(sapforTasksPackages = new SapforTasksPackagesDBTable()); } @Override public void Init() throws Exception { if (!settings.containsKey(SettingName.TaskMaxId)) Insert(new TSetting(SettingName.TaskMaxId, 63128)); if (!settings.containsKey(SettingName.SapforTaskMaxId)) Insert(new TSetting(SettingName.SapforTaskMaxId, 0)); } public long IncMaxTaskId() throws Exception { TSetting setting = settings.get(SettingName.TaskMaxId); long res = setting.value; setting.value++; Update(setting); return res; } public long IncSapforMaxTaskId() throws Exception { TSetting setting = settings.get(SettingName.SapforTaskMaxId); long res = setting.value; setting.value++; Update(setting); return res; } public SapforTasksPackage getFirstActiveSapforScenario() { /* SapforTasksPackage first_active = null; SapforTasksPackage first_queued = null; if (!sapforTasksPackages.Data.isEmpty()) { for (SapforTasksPackage s : sapforTasksPackages.Data.values()) { switch (s.state) { case Done: case Aborted: break; case Queued: if (first_queued == null) first_queued = s; break; default: if (first_active == null) first_active = s; //это и будет первый активный. break; } } if (first_active != null) return first_active; if (first_queued != null) { first_queued.state = TasksPackageState.PackageStart; try { Update(first_queued); } catch (Exception ex) { ex.printStackTrace(); } } return first_queued; } */ return null; } }