каскадное изменение информации о группе в конфигурациях в случае ее редактирования
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user