175 lines
6.6 KiB
Java
175 lines
6.6 KiB
Java
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.Json.SettingsJson;
|
||
import _VisualDVM.TestingSystem.Common.Settings.Settings;
|
||
import _VisualDVM.TestingSystem.Common.Test.Json.TestJson;
|
||
import _VisualDVM.TestingSystem.Common.Test.Json.TestsJson;
|
||
import _VisualDVM.TestingSystem.Common.Test.Test;
|
||
import com.sun.org.glassfish.gmbal.Description;
|
||
|
||
import javax.swing.*;
|
||
import java.util.LinkedHashMap;
|
||
import java.util.List;
|
||
import java.util.Vector;
|
||
public class Configuration extends riDBObject {
|
||
//конфигурация = данные для пакета.
|
||
//группы
|
||
//тесты
|
||
//настройки тестируемого объекта
|
||
//пакет = запуск конфигурация + тестируемый объект
|
||
//---
|
||
public int maxtime = 60;
|
||
@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<Group> groups) {
|
||
packedGroupsJson = Utils_.gson.toJson(new GroupsJson(groups));
|
||
}
|
||
public void saveTestsAsJson(Vector<Test> tests) {
|
||
packedTestsJson = Utils_.gson.toJson(new TestsJson(tests));
|
||
}
|
||
public void saveSettingsAsJson(Vector<Settings> 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 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 boolean tryUpdateSettings(Settings settings) {
|
||
ConfigurationCache unpacked = new ConfigurationCache(this);
|
||
for (SettingsJson settingsJson : unpacked.settingsJson.array) {
|
||
if (settingsJson.id == settings.id) {
|
||
settingsJson.description = settings.description;
|
||
packedSettingsJson = Utils_.gson.toJson(unpacked.settingsJson);
|
||
return true;
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
public boolean tryDeleteSettings(Settings settings) {
|
||
boolean flag = false;
|
||
ConfigurationCache unpacked = new ConfigurationCache(this);
|
||
List<SettingsJson> actualSettings = new Vector<>();
|
||
for (SettingsJson settingsJson : unpacked.settingsJson.array) {
|
||
if (settingsJson.id == settings.id)
|
||
flag = true;
|
||
else actualSettings.add(settingsJson);
|
||
}
|
||
if (flag) {
|
||
unpacked.settingsJson.array = actualSettings;
|
||
packedSettingsJson = Utils_.gson.toJson(unpacked.settingsJson);
|
||
}
|
||
return flag;
|
||
}
|
||
public boolean tryDeleteTest(Test test) {
|
||
boolean flag = false;
|
||
ConfigurationCache unpacked = new ConfigurationCache(this);
|
||
List<TestJson> actualTests = new Vector<>();
|
||
for (TestJson testJson : unpacked.testsJson.array) {
|
||
if (testJson.id==test.id)
|
||
flag = true;
|
||
else actualTests.add(testJson);
|
||
}
|
||
if (flag) {
|
||
unpacked.testsJson.array = actualTests;
|
||
packedTestsJson = Utils_.gson.toJson(unpacked.testsJson);
|
||
}
|
||
return flag;
|
||
}
|
||
public boolean tryDeleteTests(LinkedHashMap<Integer, Test> tests) {
|
||
boolean flag = false;
|
||
ConfigurationCache unpacked = new ConfigurationCache(this);
|
||
List<TestJson> actualTests = new Vector<>();
|
||
for (TestJson testJson : unpacked.testsJson.array) {
|
||
if (tests.containsKey(testJson.id))
|
||
flag = true;
|
||
else actualTests.add(testJson);
|
||
}
|
||
if (flag) {
|
||
unpacked.testsJson.array = actualTests;
|
||
packedTestsJson = Utils_.gson.toJson(unpacked.testsJson);
|
||
}
|
||
return flag;
|
||
}
|
||
}
|