каскадное изменение конфигураций в случае удаления группы

This commit is contained in:
2024-11-15 01:17:52 +03:00
parent e0fa7abeb4
commit 3e32e51e57
3 changed files with 30 additions and 7 deletions

View File

@@ -12,10 +12,10 @@ 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.List;
import java.util.Vector;
public class Configuration extends riDBObject {
//конфигурация = данные для пакета.
@@ -98,6 +98,22 @@ public class Configuration extends riDBObject {
}
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);

View File

@@ -137,6 +137,19 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
Utils_.forceDeleteWithCheck(group_test.getArchive());
Utils_.forceDeleteWithCheck(group_test.getServerPath());
}
//--
//-
for (DVMConfiguration dvmConfiguration : db.dvmConfigurations.Data.values()) {
if (dvmConfiguration.tryDeleteGroup(group)){
db.Update(dvmConfiguration);
}
}
for (SapforConfiguration sapforConfiguration : db.sapforConfigurations.Data.values()) {
if (sapforConfiguration.tryDeleteGroup(group)){
db.Update(sapforConfiguration);
}
}
//--
} else if (object instanceof ServerSapfor) {
Utils_.forceDeleteWithCheck(
new File(