каскадное изменение описаний конфигураций при изменении имен настроек

This commit is contained in:
2024-11-15 02:08:42 +03:00
parent 3e32e51e57
commit ddd975a37f
2 changed files with 62 additions and 5 deletions

View File

@@ -9,6 +9,7 @@ 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.TestsJson;
import _VisualDVM.TestingSystem.Common.Test.Test;
@@ -114,6 +115,32 @@ public class Configuration extends riDBObject {
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 void updateTest(Test test){
ConfigurationCache unpacked = new ConfigurationCache(this);

View File

@@ -25,6 +25,7 @@ import _VisualDVM.TestingSystem.Common.TestingPackageToKill.TestingPackageToKill
import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfiguration;
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage;
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage_json;
import _VisualDVM.TestingSystem.DVM.DVMSettings.DVMSettings;
import _VisualDVM.TestingSystem.DVM.DVMTestingChecker;
import _VisualDVM.TestingSystem.SAPFOR.Json.SapforPackage_json;
import _VisualDVM.TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
@@ -117,6 +118,21 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
db.Update(sapforConfiguration);
}
}
} else if (object instanceof DVMSettings) {
DVMSettings dvmSettings = (DVMSettings) object;
//-
for (DVMConfiguration dvmConfiguration : db.dvmConfigurations.Data.values()) {
if (dvmConfiguration.tryUpdateSettings(dvmSettings)) {
db.Update(dvmConfiguration);
}
}
} else if (object instanceof SapforSettings) {
SapforSettings sapforSettings = (SapforSettings) object;
for (SapforConfiguration sapforConfiguration : db.sapforConfigurations.Data.values()) {
if (sapforConfiguration.tryUpdateSettings(sapforSettings)) {
db.Update(sapforConfiguration);
}
}
}
}
@Override
@@ -138,7 +154,6 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
Utils_.forceDeleteWithCheck(group_test.getServerPath());
}
//--
//-
for (DVMConfiguration dvmConfiguration : db.dvmConfigurations.Data.values()) {
if (dvmConfiguration.tryDeleteGroup(group)) {
db.Update(dvmConfiguration);
@@ -164,8 +179,22 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
SapforPackage sapforPackage = (SapforPackage) object;
File workspace = sapforPackage.getLocalWorkspace();
Utils_.forceDeleteWithCheck(workspace);
} else if (object instanceof DVMSettings) {
DVMSettings dvmSettings = (DVMSettings) object;
for (DVMConfiguration dvmConfiguration : db.dvmConfigurations.Data.values()) {
if (dvmConfiguration.tryDeleteSettings(dvmSettings)) {
db.Update(dvmConfiguration);
}
}
} else if (object instanceof SapforSettings) {
//--
SapforSettings sapforSettings = (SapforSettings) object;
for (SapforConfiguration sapforConfiguration : db.sapforConfigurations.Data.values()) {
if (sapforConfiguration.tryDeleteSettings(sapforSettings)) {
db.Update(sapforConfiguration);
}
}
//--
Vector<SapforSettingsCommand> commands = new Vector<>();
for (SapforSettingsCommand command : db.sapforSettingsCommands.Data.values()) {
if (command.sapforsettings_id == sapforSettings.id)
@@ -175,6 +204,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
db.Delete(command);
}
}
//-
}
//-->>>
@Override