package _VisualDVM.TestingSystem.Common.Configuration; import Common.CommonConstants; import Common.Database.Objects.DBObject; import Common.Database.Objects.riDBObject; import Common.Utils.TextLog; import Common.Utils.Utils_; import _VisualDVM.ServerObjectsCache.ConfigurationCache; import _VisualDVM.TestingSystem.Common.Group.Group; import _VisualDVM.TestingSystem.Common.Group.Json.GroupJson; import _VisualDVM.TestingSystem.Common.Group.Json.GroupsJson; import _VisualDVM.TestingSystem.Common.Settings.Json.SettingsArrayJson; import _VisualDVM.TestingSystem.Common.Settings.Settings; import _VisualDVM.TestingSystem.Common.Test.Json.TestsJson; import _VisualDVM.TestingSystem.Common.Test.Test; import _VisualDVM.Utils; import com.sun.org.glassfish.gmbal.Description; import javax.swing.*; import java.util.Vector; public class Configuration extends riDBObject { //конфигурация = данные для пакета. //группы //тесты //настройки тестируемого объекта //пакет = запуск конфигурация + тестируемый объект //--- public int maxtime = 300; @Description("DEFAULT 0") public int autoTesting = 0; @Description("DEFAULT 1") public int kernels = 1; //ядра //-- @Description("DEFAULT ''") public String packedGroupsJson = ""; @Description("DEFAULT ''") public String packedTestsJson = ""; @Description("DEFAULT ''") public String packedSettingsJson = ""; @Description("DEFAULT -1") public int ethalon_id = CommonConstants.Nan; //пакет-эталон //---- public String printAuto() { return autoTesting > 0 ? "Да" : "Нет"; } public String printEthalon() { return (ethalon_id == CommonConstants.Nan) ? "—" : String.valueOf(ethalon_id); } public void SwitchAuto() { autoTesting = (autoTesting == 0) ? 1 : 0; } public ImageIcon GetAutoIcon() { return Utils_.getIcon("/Common/icons/" + (autoTesting == 1 ? "RedPick" : "NotPick") + ".png"); } //-- public void saveGroupsAsJson(Vector groups) { packedGroupsJson = Utils_.gson.toJson(new GroupsJson(groups)); } public void saveTestsAsJson(Vector tests) { packedTestsJson = Utils_.gson.toJson(new TestsJson(tests)); } public void saveSettingsAsJson(Vector settings) { packedSettingsJson = Utils_.gson.toJson(new SettingsArrayJson(settings)); } //-- @Override public void SynchronizeFields(DBObject src) { super.SynchronizeFields(src); Configuration c = (Configuration) src; //-- ethalon_id = c.ethalon_id; maxtime = c.maxtime; autoTesting = c.autoTesting; kernels = c.kernels; //- packedGroupsJson = c.packedGroupsJson; packedTestsJson = c.packedTestsJson; packedSettingsJson = c.packedSettingsJson; } //- для автоматического тестирования главным образом. public boolean validate(TextLog log) { return true; } @Override public String getDialogName() { return description; } //-- //работает со стороны сервера. public boolean tryUpdateGroup(Group group) { ConfigurationCache unpacked = new ConfigurationCache(this); for (GroupJson groupJson : unpacked.groupsJson.array) { if (groupJson.id == group.id) { groupJson.description = group.description; groupJson.language = String.valueOf(group.language); packedGroupsJson = Utils_.gson.toJson(unpacked.groupsJson); return true; } } return false; } /* public void updateTest(Test test){ ConfigurationCache unpacked = new ConfigurationCache(this); for (TestJson testJson : unpacked.testsJson.array) { if (testJson.id == test.id) { testJson.description = test.description; testJson.language = String.valueOf(group.language); } } packedGroupsJson = Utils_.gson.toJson(unpacked); } public boolean containsTest(int test_id) { ConfigurationCache unpacked = new ConfigurationCache(this); for (TestJson testJson : unpacked.testsJson.array) { if (testJson.id == test_id) { return true; } } return false; } */ }