прмежуточный. в процесе рефакторина лишних джсон. частично в разобранном виде поэтому не сливать!

This commit is contained in:
2025-03-21 23:02:53 +03:00
parent 74146fae4c
commit 10c213feae
14 changed files with 224 additions and 209 deletions

View File

@@ -7,7 +7,6 @@ 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;
@@ -33,14 +32,12 @@ public class Configuration extends riDBObject {
@Description("DEFAULT 1")
public int kernels = 1; //ядра
//--
@Description("DEFAULT ''")
public String packedGroupsJson = "";
//@Description("DEFAULT ''")
// public String packedGroupsJson = "";
@Description("DEFAULT ''")
public String packedTestsJson = "";
@Description("DEFAULT ''")
public String packedSettingsJson = "";
@Description("DEFAULT -1")
public int ethalon_id = CommonConstants.Nan; //пакет-эталон ( в двм тестировании не нужен.)
@Description("DEFAULT 0")
public int groupsOnly = 0;
//если флаг выставлен, то при формировании пакета берутся все тесты из участвущих групп. тесты конфигурации игнорируются.
@@ -51,9 +48,6 @@ public class Configuration extends riDBObject {
public String printGroupsOnly() {
return groupsOnly !=0 ? "Да" : "Нет";
}
public String printEthalon() {
return (ethalon_id == CommonConstants.Nan) ? "" : String.valueOf(ethalon_id);
}
public void SwitchAuto() {
autoTesting = (autoTesting == 0) ? 1 : 0;
}
@@ -61,7 +55,7 @@ public class Configuration extends riDBObject {
return Utils_.getIcon("/Common/icons/" + (autoTesting == 1 ? "RedPick" : "NotPick") + ".png");
}
//--
public void saveGroupsAsJson(Vector<Group> groups) {
public void saveGroups(Vector<Group> groups) {
}
public void saveTestsAsJson(Vector<Test> tests) {
packedTestsJson = Utils_.gson.toJson(new TestsJson(tests));
@@ -75,13 +69,10 @@ public class Configuration extends riDBObject {
super.SynchronizeFields(src);
Configuration c = (Configuration) src;
//--
ethalon_id = c.ethalon_id;
maxtime = c.maxtime;
autoTesting = c.autoTesting;
kernels = c.kernels;
groupsOnly = c.groupsOnly;
//-
// packedGroupsJson = c.packedGroupsJson;
packedTestsJson = c.packedTestsJson;
packedSettingsJson = c.packedSettingsJson;
}
@@ -94,33 +85,6 @@ public class Configuration extends riDBObject {
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) {
@@ -147,34 +111,4 @@ public class Configuration extends riDBObject {
}
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;
}
}

View File

@@ -154,20 +154,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
}
@Override
protected void afterEditAction(DBObject object) throws Exception {
if (object instanceof Group) {
Group group = (Group) object;
//-
for (DVMConfiguration dvmConfiguration : db.dvmConfigurations.Data.values()) {
if (dvmConfiguration.tryUpdateGroup(group)) {
db.Update(dvmConfiguration);
}
}
for (SapforConfiguration sapforConfiguration : db.sapforConfigurations.Data.values()) {
if (sapforConfiguration.tryUpdateGroup(group)) {
db.Update(sapforConfiguration);
}
}
} else if (object instanceof DVMSettings) {
if (object instanceof DVMSettings) {
DVMSettings dvmSettings = (DVMSettings) object;
//-
for (DVMConfiguration dvmConfiguration : db.dvmConfigurations.Data.values()) {
@@ -182,6 +169,12 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
db.Update(sapforConfiguration);
}
}
} else if (object instanceof DVMConfiguration){
DVMConfiguration dvmConfiguration = (DVMConfiguration) object;
db.RefreshDVMConfigurationGroups(dvmConfiguration);
}else if (object instanceof SapforConfiguration){
SapforConfiguration sapforConfiguration = (SapforConfiguration) object;
db.RefreshSapforConfigurationGroups(sapforConfiguration);
}
}
@Override
@@ -190,34 +183,10 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
Test test = (Test) object;
Utils_.forceDeleteWithCheck(test.getServerPath());
//--
for (DVMConfiguration dvmConfiguration : db.dvmConfigurations.Data.values()) {
if (dvmConfiguration.tryDeleteTest(test)) {
db.Update(dvmConfiguration);
}
}
for (SapforConfiguration sapforConfiguration : db.sapforConfigurations.Data.values()) {
if (sapforConfiguration.tryDeleteTest(test)) {
db.Update(sapforConfiguration);
}
}
//-
} else if (object instanceof Group) {
Group group = (Group) object;
LinkedHashMap<Integer, Test> groupTests = db.getMapByFKi(group, Test.class);
//--
for (DVMConfiguration dvmConfiguration : db.dvmConfigurations.Data.values()) {
if (dvmConfiguration.tryDeleteGroup(group)) {
dvmConfiguration.tryDeleteTests(groupTests);
db.Update(dvmConfiguration);
}
}
for (SapforConfiguration sapforConfiguration : db.sapforConfigurations.Data.values()) {
if (sapforConfiguration.tryDeleteGroup(group)) {
sapforConfiguration.tryDeleteTests(groupTests);
db.Update(sapforConfiguration);
}
}
//--
for (Test group_test : groupTests.values()) {
Utils_.forceDeleteWithCheck(group_test.getServerPath());
db.DeleteDependencies(group_test);

View File

@@ -10,8 +10,10 @@ import _VisualDVM.Passes.PassCode;
import _VisualDVM.ServerObjectsCache.VisualCaches;
import _VisualDVM.TestingSystem.Common.Group.Group;
import _VisualDVM.TestingSystem.Common.Group.GroupsDBTable;
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.Test.Json.TestJson;
import _VisualDVM.TestingSystem.Common.Test.Json.TestsJson;
import _VisualDVM.TestingSystem.Common.Test.Test;
import _VisualDVM.TestingSystem.Common.Test.TestDBTable;
import _VisualDVM.TestingSystem.Common.TestFile.TestFile;
@@ -25,10 +27,10 @@ import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage;
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackageDBTable;
import _VisualDVM.TestingSystem.DVM.DVMSettings.DVMSettingsDBTable;
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMRunTasksSet;
import _VisualDVM.TestingSystem.SAPFOR.SapforConfigurationGroup.SapforConfigurationGroup;
import _VisualDVM.TestingSystem.SAPFOR.SapforConfigurationGroup.SapforConfigurationGroupsDBTable;
import _VisualDVM.TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
import _VisualDVM.TestingSystem.SAPFOR.SapforConfiguration.SapforConfigurationDBTable;
import _VisualDVM.TestingSystem.SAPFOR.SapforConfigurationGroup.SapforConfigurationGroup;
import _VisualDVM.TestingSystem.SAPFOR.SapforConfigurationGroup.SapforConfigurationGroupsDBTable;
import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.SapforPackage;
import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.SapforPackageDBTable;
import _VisualDVM.TestingSystem.SAPFOR.SapforSettings.SapforSettingsDBTable;
@@ -215,7 +217,7 @@ public class TestsDatabase extends SQLiteDatabase {
Insert(test);
//->>
importTestFile(test, file);
TestFile testFile = new TestFile(test,file);
TestFile testFile = new TestFile(test, file);
Insert(testFile);
//--
DetectTestMinMaxDim(sapfor, group, test);
@@ -236,7 +238,7 @@ public class TestsDatabase extends SQLiteDatabase {
String testDescription = Utils_.getNameWithoutExtension(file.getName()) + "_" + group.language.getDVMCompile();
Test oldTest = tests.getStandardTestByDescription(oldGroup.id, testDescription);
if (oldTest == null) {
CreateTestFromSingleFile(account, sapfor, oldGroup, file, testDescription);
CreateTestFromSingleFile(account, sapfor, oldGroup, file, testDescription);
} else {
importTestFile(oldTest, file);
}
@@ -356,7 +358,7 @@ public class TestsDatabase extends SQLiteDatabase {
dvmSettings.ShowUI();
super.ResetUI();
}
public void saveTestFiles(Test test) throws Exception{
public void saveTestFiles(Test test) throws Exception {
for (TestFile file : test.files) {
file.test_id = test.id;
Insert(file);
@@ -368,7 +370,7 @@ public class TestsDatabase extends SQLiteDatabase {
for (TestFile file : files)
Delete(file);
}
public void Patch() throws Exception{
public void Patch() throws Exception {
/*
Vector<DVMConfigurationGroup> DVMConfigurationGroups=new Vector<>();
//группы dvm конфигураций
@@ -405,4 +407,107 @@ public class TestsDatabase extends SQLiteDatabase {
Commit();
*/
}
public static boolean containsGroup(DVMConfigurationGroup group_, Vector<DVMConfigurationGroup> groups) {
for (DVMConfigurationGroup group : groups) {
if (group.isEqual(group_)) {
return true;
}
}
return false;
}
public static boolean containsGroup(SapforConfigurationGroup group_, Vector<SapforConfigurationGroup> groups) {
for (SapforConfigurationGroup group : groups) {
if (group.isEqual(group_)) {
return true;
}
}
return false;
}
public void RefreshDVMConfigurationGroups(DVMConfiguration dvmConfiguration) throws Exception{
if (dvmConfiguration.configurationGroups != null) {
Vector<DVMConfigurationGroup> old_ = getVectorByFK(dvmConfiguration, DVMConfigurationGroup.class);
Vector<DVMConfigurationGroup> new_ = dvmConfiguration.configurationGroups;
//--
Vector<DVMConfigurationGroup> to_delete = new Vector<>();
Vector<DVMConfigurationGroup> to_add = new Vector<>();
for (DVMConfigurationGroup group: old_){
if (!containsGroup(group, new_))
to_delete.add(group);
}
for (DVMConfigurationGroup group : new_) {
if (!containsGroup(group, old_))
to_add.add(group);
}
for (DVMConfigurationGroup group: to_delete)
Delete(group);
for (DVMConfigurationGroup group: to_add)
Insert(group);
dvmConfiguration.configurationGroups=null;
}
}
//--
public void RefreshSapforConfigurationGroups(SapforConfiguration sapforConfiguration) throws Exception{
if (sapforConfiguration.configurationGroups != null) {
Vector<SapforConfigurationGroup> old_ = getVectorByFK(sapforConfiguration, SapforConfigurationGroup.class);
Vector<SapforConfigurationGroup> new_ = sapforConfiguration.configurationGroups;
//--
Vector<SapforConfigurationGroup> to_delete = new Vector<>();
Vector<SapforConfigurationGroup> to_add = new Vector<>();
for (SapforConfigurationGroup group: old_){
if (!containsGroup(group, new_))
to_delete.add(group);
}
for (SapforConfigurationGroup group : new_) {
if (!containsGroup(group, old_))
to_add.add(group);
}
for (SapforConfigurationGroup group: to_delete)
Delete(group);
for (SapforConfigurationGroup group: to_add)
Insert(group);
}
}
//--
public Vector<Integer> getDVMConfigurationGroupsIds(DVMConfiguration configuration){
Vector<Integer> res = new Vector<>();
for (DVMConfigurationGroup dvmConfigurationGroup: dvmConfigurationGroups.Data.values()){
if (dvmConfigurationGroup.dvmconfiguration_id==configuration.id)
res.add(dvmConfigurationGroup.group_id);
}
return res;
}
public Vector<Integer> getDVMConfigurationSettingsIds(DVMConfiguration configuration) {
Vector<Integer> res=new Vector<>();
//временно
SettingsArrayJson settingsArrayJson = Utils_.gson.fromJson(configuration.packedSettingsJson,SettingsArrayJson.class);
for (SettingsJson settingsJson: settingsArrayJson.array){
res.add(settingsJson.id);
}
return res;
}
public LinkedHashMap<Integer, Vector<Integer>> getDVMConfigurationGroupsTestsIds(DVMConfiguration configuration) {
LinkedHashMap<Integer,Vector<Integer>> res =new LinkedHashMap<>();
for (int group_id: getDVMConfigurationGroupsIds(configuration)) {
if (configuration.groupsOnly == 0) {
Vector<Integer> test_ids = new Vector<>();
//--
//временно.
TestsJson testsJson = Utils_.gson.fromJson(configuration.packedTestsJson, TestsJson.class);
for (TestJson testJson : testsJson.array) {
if (Global.testingServer.db.tests.containsKey(testJson.id)) {
Test test = Global.testingServer.db.tests.get(testJson.id);
if (test.group_id == group_id)
test_ids.add(test.id);
}
}
//--
res.put(group_id, test_ids);
} else {
res.put(group_id, getFKi(group_id, Group.class, Test.class));
}
}
return res;
}
}