исправление бага с кешированием.

This commit is contained in:
2024-09-19 00:24:36 +03:00
parent 660a410a05
commit 54d86d6e4d
7 changed files with 25 additions and 28 deletions

View File

@@ -16,14 +16,10 @@ public class ConfigurationCache extends VisualCache{
public TestsJson testsJson = null;
//--
public ConfigurationCache(Configuration configuration) {
// System.out.println("configuration cache new instance for "+configuration.id);
// System.out.println("packageGroupsJson="+Utils.Brackets(configuration.packedGroupsJson));
if (configuration.packedGroupsJson.isEmpty()) {
// System.out.println("empty");
groupsJson = new GroupsJson(); //просто пустой
}
else {
// System.out.println("not empty");
groupsJson = Utils.gson.fromJson(configuration.packedGroupsJson, GroupsJson.class);
}
//--

View File

@@ -29,8 +29,8 @@ public class VisualCaches {
VisualCache res = null;
LinkedHashMap<Object, VisualCache> data = getDataForClass(object.getClass());
if (!data.containsKey(object.getPK())) {
// System.out.println("get visual cache for " + object.getPK()+" "+object.getClass());
// System.out.println("cache not found, creating...");
// System.out.println("get visual cache for " + object.getPK()+" "+object.getClass());
// System.out.println("cache not found, creating...");
data.put(object.getPK(), res = createCache(object));
} else {
// System.out.println("cache found");
@@ -38,11 +38,22 @@ public class VisualCaches {
}
return res;
}
//Принудительно удалить старый и записать новый.
public static void RefreshCache(DBObject object){
// System.out.println("refresh cache for " + object.getPK()+" "+object.getClass().getSimpleName());
LinkedHashMap<Object, VisualCache> data = getDataForClass(object.getClass());
//--
if (data.containsKey(object.getPK())) {
data.remove(object.getPK());
}
data.put(object.getPK(), createCache(object));
}
public static void DeleteCache(DBObject object){
DeleteCache(object.getClass(), object.getPK());
}
public static void DeleteCache(Class class_, Object pk){
// System.out.println("Delete for " + pk+" "+class_);
// System.out.println("Delete cache for " + pk+" "+class_);
LinkedHashMap<Object, VisualCache> data = getDataForClass(class_);
if (data.containsKey(pk))
data.remove(pk);