no message
This commit is contained in:
94
src/_VisualDVM/ServerObjectsCache/ConfigurationCache.java
Normal file
94
src/_VisualDVM/ServerObjectsCache/ConfigurationCache.java
Normal file
@@ -0,0 +1,94 @@
|
||||
package _VisualDVM.ServerObjectsCache;
|
||||
import Common.Utils.CommonUtils;
|
||||
import _VisualDVM.Global;
|
||||
import TestingSystem.Common.Configuration.Configuration;
|
||||
import TestingSystem.Common.Group.Group;
|
||||
import TestingSystem.Common.Group.Json.GroupJson;
|
||||
import TestingSystem.Common.Group.Json.GroupsJson;
|
||||
import TestingSystem.Common.Settings.Json.SettingsArrayJson;
|
||||
import TestingSystem.Common.Settings.Json.SettingsJson;
|
||||
import TestingSystem.Common.Test.Json.TestJson;
|
||||
import TestingSystem.Common.Test.Json.TestsJson;
|
||||
import TestingSystem.Common.Test.Test;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Vector;
|
||||
public class ConfigurationCache extends VisualCache {
|
||||
public GroupsJson groupsJson = null;
|
||||
public TestsJson testsJson = null;
|
||||
public SettingsArrayJson settingsJson = null;
|
||||
public String settingsSummary = null;
|
||||
public Vector<String> groupsSummary = null;
|
||||
//--
|
||||
public ConfigurationCache(Configuration configuration) {
|
||||
if (configuration.packedGroupsJson.isEmpty()) {
|
||||
groupsJson = new GroupsJson(); //просто пустой
|
||||
} else {
|
||||
groupsJson = CommonUtils.gson.fromJson(configuration.packedGroupsJson, GroupsJson.class);
|
||||
}
|
||||
//--
|
||||
if (testsJson == null) {
|
||||
if (configuration.packedTestsJson.isEmpty())
|
||||
testsJson = new TestsJson(); //просто пустой
|
||||
else
|
||||
testsJson = CommonUtils.gson.fromJson(configuration.packedTestsJson, TestsJson.class);
|
||||
}
|
||||
//-
|
||||
if (settingsJson == null) {
|
||||
if (configuration.packedSettingsJson.isEmpty())
|
||||
settingsJson = new SettingsArrayJson(); //просто пустой
|
||||
else
|
||||
settingsJson = CommonUtils.gson.fromJson(configuration.packedSettingsJson, SettingsArrayJson.class);
|
||||
}
|
||||
//-
|
||||
LinkedHashMap<String, Vector<String>> gmap = new LinkedHashMap<>();
|
||||
for (GroupJson groupJson : groupsJson.array) {
|
||||
Vector<String> vector = null;
|
||||
if (gmap.containsKey(groupJson.language)) {
|
||||
vector = gmap.get(groupJson.language);
|
||||
} else {
|
||||
vector = new Vector<>();
|
||||
gmap.put(groupJson.language, vector);
|
||||
}
|
||||
vector.add(groupJson.description);
|
||||
}
|
||||
groupsSummary = new Vector<>();
|
||||
for (String language : gmap.keySet()) {
|
||||
groupsSummary.add(language + ": " + String.join(";", gmap.get(language)));
|
||||
}
|
||||
Vector<String> settingsDescriptionsVector = new Vector<>();
|
||||
for (SettingsJson settingsJson : settingsJson.array)
|
||||
settingsDescriptionsVector.add(settingsJson.description);
|
||||
settingsSummary = String.join(";", settingsDescriptionsVector);
|
||||
}
|
||||
public int getTestsCount() {
|
||||
return testsJson.array.size();
|
||||
}
|
||||
public Vector<Group> getGroups() {
|
||||
Vector<Group> groups = new Vector<>();
|
||||
for (GroupJson groupJson : groupsJson.array) {
|
||||
if (Global.testingServer.db.groups.containsKey(groupJson.id))
|
||||
groups.add(Global.testingServer.db.groups.get(groupJson.id));
|
||||
}
|
||||
return groups;
|
||||
}
|
||||
public Vector<Test> getTests() {
|
||||
Vector<Test> tests = new Vector<>();
|
||||
for (TestJson testJson : testsJson.array) {
|
||||
if (Global.testingServer.db.tests.containsKey(testJson.id))
|
||||
tests.add(Global.testingServer.db.tests.get(testJson.id));
|
||||
}
|
||||
return tests;
|
||||
}
|
||||
public Vector<Test> getGroupTests(Group group) {
|
||||
Vector<Test> tests = new Vector<>();
|
||||
for (TestJson testJson : testsJson.array) {
|
||||
if (Global.testingServer.db.tests.containsKey(testJson.id)) {
|
||||
Test test = Global.testingServer.db.tests.get(testJson.id);
|
||||
if (test.group_id == group.id)
|
||||
tests.add(test);
|
||||
}
|
||||
}
|
||||
return tests;
|
||||
}
|
||||
}
|
||||
20
src/_VisualDVM/ServerObjectsCache/DVMConfigurationCache.java
Normal file
20
src/_VisualDVM/ServerObjectsCache/DVMConfigurationCache.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package _VisualDVM.ServerObjectsCache;
|
||||
import _VisualDVM.Global;
|
||||
import TestingSystem.Common.Configuration.Configuration;
|
||||
import TestingSystem.Common.Settings.Json.SettingsJson;
|
||||
import TestingSystem.DVM.DVMSettings.DVMSettings;
|
||||
|
||||
import java.util.Vector;
|
||||
public class DVMConfigurationCache extends ConfigurationCache{
|
||||
public DVMConfigurationCache(Configuration configuration) {
|
||||
super(configuration);
|
||||
}
|
||||
public Vector<DVMSettings> getSettings(){
|
||||
Vector<DVMSettings> res = new Vector<>();
|
||||
for (SettingsJson settingsJson : settingsJson.array){
|
||||
if (Global.testingServer.db.dvmSettings.containsKey(settingsJson.id))
|
||||
res.add(Global.testingServer.db.dvmSettings.get(settingsJson.id));
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
24
src/_VisualDVM/ServerObjectsCache/PackageCache.java
Normal file
24
src/_VisualDVM/ServerObjectsCache/PackageCache.java
Normal file
@@ -0,0 +1,24 @@
|
||||
package _VisualDVM.ServerObjectsCache;
|
||||
import Common.Utils.CommonUtils;
|
||||
import TestingSystem.Common.Configuration.Json.ConfigurationJson;
|
||||
import TestingSystem.Common.Configuration.Json.ConfigurationsJson;
|
||||
import TestingSystem.Common.TestingPackage.TestingPackage;
|
||||
|
||||
import java.util.Vector;
|
||||
public class PackageCache extends VisualCache{
|
||||
public ConfigurationsJson configurationsJson = null;
|
||||
public Vector<String> configurationsDescriptions = null;
|
||||
public PackageCache(TestingPackage testingPackage){
|
||||
if (testingPackage.packedConfigurationsJson.isEmpty())
|
||||
configurationsJson = new ConfigurationsJson(); //просто пустой
|
||||
else
|
||||
configurationsJson = CommonUtils.gson.fromJson(testingPackage.packedConfigurationsJson, ConfigurationsJson.class);
|
||||
//---
|
||||
configurationsDescriptions=new Vector<>();
|
||||
for(ConfigurationJson configurationJson: configurationsJson.array)
|
||||
configurationsDescriptions.add(configurationJson.description);
|
||||
}
|
||||
public Vector<String> getConfigurationsDescriptions() {
|
||||
return configurationsDescriptions;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package _VisualDVM.ServerObjectsCache;
|
||||
import _VisualDVM.Global;
|
||||
import TestingSystem.Common.Configuration.Configuration;
|
||||
import TestingSystem.Common.Settings.Json.SettingsJson;
|
||||
import TestingSystem.SAPFOR.SapforSettings.SapforSettings;
|
||||
|
||||
import java.util.Vector;
|
||||
public class SapforConfigurationCache extends ConfigurationCache{
|
||||
public SapforConfigurationCache(Configuration configuration) {
|
||||
super(configuration);
|
||||
}
|
||||
public Vector<SapforSettings> getSettings(){
|
||||
Vector<SapforSettings> res = new Vector<>();
|
||||
for (SettingsJson settingsJson : settingsJson.array){
|
||||
if (Global.testingServer.db.sapforSettings.containsKey(settingsJson.id))
|
||||
res.add(Global.testingServer.db.sapforSettings.get(settingsJson.id));
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
3
src/_VisualDVM/ServerObjectsCache/VisualCache.java
Normal file
3
src/_VisualDVM/ServerObjectsCache/VisualCache.java
Normal file
@@ -0,0 +1,3 @@
|
||||
package _VisualDVM.ServerObjectsCache;
|
||||
public class VisualCache {
|
||||
}
|
||||
71
src/_VisualDVM/ServerObjectsCache/VisualCaches.java
Normal file
71
src/_VisualDVM/ServerObjectsCache/VisualCaches.java
Normal file
@@ -0,0 +1,71 @@
|
||||
package _VisualDVM.ServerObjectsCache;
|
||||
import Common.Database.Objects.DBObject;
|
||||
import TestingSystem.Common.Configuration.Configuration;
|
||||
import TestingSystem.Common.TestingPackage.TestingPackage;
|
||||
import TestingSystem.DVM.DVMConfiguration.DVMConfiguration;
|
||||
import 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_) {
|
||||
LinkedHashMap<Object, VisualCache> data;
|
||||
if (allData.containsKey(class_)) {
|
||||
data = allData.get(class_);
|
||||
} else {
|
||||
data = new LinkedHashMap<>();
|
||||
allData.put(class_, data);
|
||||
}
|
||||
return data;
|
||||
}
|
||||
//чтобы не трогать сами объекты и не сбить сериализацию
|
||||
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);
|
||||
return new VisualCache();
|
||||
}
|
||||
public static VisualCache GetCache(DBObject object) {
|
||||
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...");
|
||||
data.put(object.getPK(), res = createCache(object));
|
||||
} else {
|
||||
// System.out.println("cache found");
|
||||
res = data.get(object.getPK());
|
||||
}
|
||||
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 cache for " + pk+" "+class_);
|
||||
LinkedHashMap<Object, VisualCache> data = getDataForClass(class_);
|
||||
if (data.containsKey(pk))
|
||||
data.remove(pk);
|
||||
}
|
||||
public static void Print(){
|
||||
System.out.println("alldata size="+allData.size());
|
||||
for (Class class_: allData.keySet()){
|
||||
System.out.println("class="+class_.getSimpleName()+" size="+allData.get(class_).size());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user