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

124 lines
4.5 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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<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 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;
}
*/
}