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

This commit is contained in:
2024-11-15 00:44:23 +03:00
parent 901eb0f623
commit e0fa7abeb4
9 changed files with 109 additions and 38 deletions

View File

@@ -21,25 +21,20 @@ public class ConfigurationCache extends VisualCache {
public Vector<String> groupsSummary = null;
//--
public ConfigurationCache(Configuration configuration) {
if (configuration.packedGroupsJson.isEmpty()) {
if (configuration.packedGroupsJson.isEmpty())
groupsJson = new GroupsJson(); //просто пустой
} else {
else
groupsJson = Utils_.gson.fromJson(configuration.packedGroupsJson, GroupsJson.class);
}
//--
if (testsJson == null) {
if (configuration.packedTestsJson.isEmpty())
testsJson = new TestsJson(); //просто пустой
else
testsJson = Utils_.gson.fromJson(configuration.packedTestsJson, TestsJson.class);
}
if (configuration.packedTestsJson.isEmpty())
testsJson = new TestsJson(); //просто пустой
else
testsJson = Utils_.gson.fromJson(configuration.packedTestsJson, TestsJson.class);
//-
if (settingsJson == null) {
if (configuration.packedSettingsJson.isEmpty())
settingsJson = new SettingsArrayJson(); //просто пустой
else
settingsJson = Utils_.gson.fromJson(configuration.packedSettingsJson, SettingsArrayJson.class);
}
if (configuration.packedSettingsJson.isEmpty())
settingsJson = new SettingsArrayJson(); //просто пустой
else
settingsJson = Utils_.gson.fromJson(configuration.packedSettingsJson, SettingsArrayJson.class);
//-
LinkedHashMap<String, Vector<String>> gmap = new LinkedHashMap<>();
for (GroupJson groupJson : groupsJson.array) {

View File

@@ -6,7 +6,7 @@ import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfiguration;
import _VisualDVM.TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
import java.util.LinkedHashMap;
//нужен для серверных объектов, чтобы в сокет не класть лишнего.
//нужен со стороны клиента для серверных объектов, чтобы в сокет не класть лишнего.
public class VisualCaches {
static LinkedHashMap<Class, LinkedHashMap<Object, VisualCache>> allData = new LinkedHashMap<>();
static LinkedHashMap<Object, VisualCache> getDataForClass(Class class_) {
@@ -19,14 +19,16 @@ public class VisualCaches {
}
return data;
}
public static void ClearDataForClass(Class class_) {
if (allData.containsKey(class_)) {
allData.get(class_).clear();
}
}
//чтобы не трогать сами объекты и не сбить сериализацию
static VisualCache createCache(Object object) {
if (object instanceof SapforConfiguration)
return new SapforConfigurationCache((Configuration) object);
if (object instanceof DVMConfiguration)
return new DVMConfigurationCache((Configuration) object);
if (object instanceof TestingPackage)
return new PackageCache((TestingPackage) object);
if (object instanceof SapforConfiguration) return new SapforConfigurationCache((Configuration) object);
if (object instanceof DVMConfiguration) return new DVMConfigurationCache((Configuration) object);
if (object instanceof TestingPackage) return new PackageCache((TestingPackage) object);
return new VisualCache();
}
public static VisualCache GetCache(DBObject object) {
@@ -58,8 +60,7 @@ public class VisualCaches {
public static void DeleteCache(Class class_, Object pk) {
// System.out.println("Delete cache for " + pk+" "+class_);
LinkedHashMap<Object, VisualCache> data = getDataForClass(class_);
if (data.containsKey(pk))
data.remove(pk);
if (data.containsKey(pk)) data.remove(pk);
}
public static void Print() {
System.out.println("alldata size=" + allData.size());