Files
VisualSapfor/src/_VisualDVM/TestingSystem/Common/Configuration/Configuration.java

140 lines
5.0 KiB
Java
Raw Normal View History

2024-10-09 22:21:57 +03:00
package _VisualDVM.TestingSystem.Common.Configuration;
import Common.CommonConstants;
import Common.Database.Objects.DBObject;
import Common.Database.Objects.riDBObject;
2024-09-22 23:10:27 +03:00
import Common.Utils.TextLog;
2024-10-14 15:19:13 +03:00
import Common.Utils.Utils_;
import _VisualDVM.ServerObjectsCache.ConfigurationCache;
2024-10-09 22:21:57 +03:00
import _VisualDVM.TestingSystem.Common.Group.Group;
import _VisualDVM.TestingSystem.Common.Group.Json.GroupJson;
2024-10-09 22:21:57 +03:00
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 com.sun.org.glassfish.gmbal.Description;
2024-09-14 00:18:27 +03:00
import javax.swing.*;
import java.util.List;
2024-09-14 00:18:27 +03:00
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; //ядра
2024-10-14 15:19:13 +03:00
//--
@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() {
2024-10-11 00:00:30 +03:00
return Utils_.getIcon("/Common/icons/" + (autoTesting == 1 ? "RedPick" : "NotPick") + ".png");
}
2024-09-14 00:18:27 +03:00
//--
public void saveGroupsAsJson(Vector<Group> groups) {
2024-10-11 00:00:30 +03:00
packedGroupsJson = Utils_.gson.toJson(new GroupsJson(groups));
}
public void saveTestsAsJson(Vector<Test> tests) {
2024-10-11 00:00:30 +03:00
packedTestsJson = Utils_.gson.toJson(new TestsJson(tests));
}
public void saveSettingsAsJson(Vector<Settings> settings) {
2024-10-11 00:00:30 +03:00
packedSettingsJson = Utils_.gson.toJson(new SettingsArrayJson(settings));
}
2024-09-17 02:53:17 +03:00
//--
2024-09-14 00:18:27 +03:00
@Override
public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src);
Configuration c = (Configuration) src;
//--
ethalon_id = c.ethalon_id;
2024-09-14 00:18:27 +03:00
maxtime = c.maxtime;
autoTesting = c.autoTesting;
kernels = c.kernels;
2024-09-17 02:53:17 +03:00
//-
packedGroupsJson = c.packedGroupsJson;
2024-09-17 02:53:17 +03:00
packedTestsJson = c.packedTestsJson;
packedSettingsJson = c.packedSettingsJson;
}
2024-09-22 23:10:27 +03:00
//- для автоматического тестирования главным образом.
public boolean validate(TextLog log) {
2024-09-22 23:10:27 +03:00
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 boolean tryDeleteGroup(Group group) {
boolean flag = false;
ConfigurationCache unpacked = new ConfigurationCache(this);
List<GroupJson> actualGroups = new Vector<>();
for (GroupJson groupJson : unpacked.groupsJson.array) {
if (groupJson.id == group.id)
flag = true;
else actualGroups.add(groupJson);
}
if (flag) {
unpacked.groupsJson.array = actualGroups;
packedGroupsJson = Utils_.gson.toJson(unpacked.groupsJson);
}
return flag;
}
/*
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;
}
*/
2024-09-14 00:18:27 +03:00
}