no message

This commit is contained in:
2024-10-08 23:45:06 +03:00
parent 07436988cf
commit 91f73cbfa0
51 changed files with 107 additions and 71 deletions

View 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;
}
}

View 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;
}
}

View 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;
}
}

View File

@@ -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;
}
}

View File

@@ -0,0 +1,3 @@
package _VisualDVM.ServerObjectsCache;
public class VisualCache {
}

View 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());
}
}
}

View File

@@ -1,6 +1,4 @@
package _VisualDVM.Syntax;
import Common.Visual.Themes.VisualiserTheme;
import java.awt.*;
public class DarkVisualiserTheme extends SPFEditorTheme {
@Override

View File

@@ -405,4 +405,5 @@ public class FortranSPFTokenMaker extends ProvidedTokenMaker {
break;
}
}
//_VisualDVM.
}

View File

@@ -1,6 +1,4 @@
package _VisualDVM.Syntax;
import Common.Visual.Themes.VisualiserTheme;
import java.awt.*;
public class LightSPFEditorTheme extends SPFEditorTheme {
@Override

View File

@@ -2,8 +2,6 @@ package _VisualDVM.Syntax;
import Common.Utils.CommonUtils;
import Common.Visual.Themes.VisualiserTheme;
import org.fife.ui.rsyntaxtextarea.Theme;
import java.awt.*;
public abstract class SPFEditorTheme extends VisualiserTheme {
protected abstract String getEditorThemePath(); //-
//если использовать один и тот же объект на все едиторы пявляются странности

View File

View File

@@ -0,0 +1,26 @@
package _VisualDVM.Visual.Windows;
import Common.Utils.CommonUtils;
import Common.Visual.Windows.Dialog.VFileChooser_;
import Common_old.Constants;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import java.io.File;
public class ProjectsChooser extends VFileChooser_ {
public ProjectsChooser(String title) {
super(title, new FileFilter() {
@Override
public boolean accept(File f) {
return
!CommonUtils.ContainsCyrillic(f.getAbsolutePath()) &&
!f.getName().equalsIgnoreCase(Constants.data)
;
}
@Override
public String getDescription() {
return "Все папки";
}
});
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
}
}

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="_VisualDVM.Windows.SearchReplaceForm">
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="_VisualDVM.Visual.Windows.SearchReplaceForm">
<grid id="cbd77" binding="MainPanel" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="10" left="10" bottom="10" right="10"/>
<constraints>

View File

@@ -1,4 +1,4 @@
package _VisualDVM.Windows;
package _VisualDVM.Visual.Windows;
import Common.Utils.CommonUtils;
import Common.Visual.CommonUI;
import Common.Visual.Windows.Form;