no message

This commit is contained in:
2024-09-18 15:25:58 +03:00
parent cd28ce025d
commit c469a38709
6 changed files with 54 additions and 32 deletions

View File

@@ -0,0 +1,25 @@
package Common.UI.VisualCache;
import Common.Utils.Utils;
import TestingSystem.Common.Configuration.Configuration;
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 = Utils.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

@@ -1,6 +1,7 @@
package Common.UI.VisualCache;
import Common.Database.DBObject;
import TestingSystem.Common.Configuration.Configuration;
import TestingSystem.Common.TestingPackage.TestingPackage;
import java.util.LinkedHashMap;
//нужен для серверных объектов, чтобы в сокет не класть лишнего.
@@ -20,10 +21,12 @@ public class VisualCaches {
static VisualCache createCache(Object object) {
if (object instanceof Configuration)
return new ConfigurationCache((Configuration) object);
if (object instanceof TestingPackage)
return new PackageCache((TestingPackage) object);
return new VisualCache();
}
public static VisualCache GetCache(DBObject object) {
// System.out.println("get visual cache for " + object.getPK());
// System.out.println("get visual cache for " + object.getPK()+" "+object.getClass());
VisualCache res = null;
LinkedHashMap<Object, VisualCache> data = getDataForClass(object.getClass());
if (!data.containsKey(object.getPK())) {

View File

@@ -27,16 +27,9 @@ public abstract class TestingPackage<J> extends riDBObject {
@Description("DEFAULT 0")
public int connectionErrosCount = 0;
public TasksPackageState state = TasksPackageState.Draft;
//---данные для отображения.
@Description("DEFAULT ''")
public String packedConfigurationsJson = "";
//--
@Description("IGNORE")
public ConfigurationsJson configurationsJson = null;
@Description("IGNORE")
public Vector<String> configurationsDescriptions = null;
//--
@Override
public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src);
@@ -91,22 +84,4 @@ public abstract class TestingPackage<J> extends riDBObject {
public void saveConfigurationsAsJson(Vector<? extends Configuration> configurations) {
packedConfigurationsJson = Utils.jsonToPrettyFormat(Utils.gson.toJson(new ConfigurationsJson(configurations)));
}
//пакеты нередактируемые поэтому метод сработает только один раз.
void unpackConfigurationsAsJson() {
if (configurationsJson == null) {
if (packedConfigurationsJson.isEmpty())
configurationsJson = new ConfigurationsJson(); //просто пустой
else
configurationsJson = Utils.gson.fromJson(packedConfigurationsJson, ConfigurationsJson.class);
}
}
public Vector<String> getConfigurationsDescriptions() {
if (configurationsDescriptions==null) {
unpackConfigurationsAsJson();
configurationsDescriptions = new Vector<>();
for (ConfigurationJson configurationJson : configurationsJson.array)
configurationsDescriptions.add(configurationJson.description);
}
return configurationsDescriptions;
}
}

View File

@@ -4,6 +4,9 @@ import Common.Database.iDBTable;
import Common.Global;
import Common.UI.DataSetControlForm;
import Common.UI.UI;
import Common.UI.VisualCache.PackageCache;
import Common.UI.VisualCache.VisualCache;
import Common.UI.VisualCache.VisualCaches;
import java.util.Comparator;
import java.util.Date;
@@ -66,7 +69,7 @@ public class DVMPackageDBTable extends iDBTable<DVMPackage> {
"Машина",
"Пользователь",
"DVM",
"конфигурации",
"Конфигурации",
"Задач",
"Ядер",
"Прогресс",
@@ -77,6 +80,7 @@ public class DVMPackageDBTable extends iDBTable<DVMPackage> {
}
@Override
public Object getFieldAt(DVMPackage object, int columnIndex) {
PackageCache cache = (PackageCache) VisualCaches.GetCache(object);
switch (columnIndex) {
case 2:
return object.sender_name;
@@ -87,7 +91,7 @@ public class DVMPackageDBTable extends iDBTable<DVMPackage> {
case 5:
return object.version;
case 6:
return object.getConfigurationsDescriptions();
return cache.getConfigurationsDescriptions();
case 7:
return object.tasksCount;
case 8:

View File

@@ -2,6 +2,9 @@ package TestingSystem.SAPFOR.SapforConfiguration;
import Common.Current;
import Common.Database.*;
import Common.UI.DataSetControlForm;
import Common.UI.Tables.TableRenderers;
import Common.UI.VisualCache.ConfigurationCache;
import Common.UI.VisualCache.VisualCaches;
import Common.UI.Windows.Dialog.DBObjectDialog;
import Common.Utils.Utils;
import TestingSystem.SAPFOR.SapforConfiguration.UI.SapforConfigurationFields;
@@ -33,7 +36,7 @@ public class SapforConfigurationDBTable extends iDBTable<SapforConfiguration> {
}
@Override
protected void AdditionalInitColumns() {
//columns.get(0).setVisible(false);
columns.get(5).setRenderer(TableRenderers.RendererMultiline);
}
};
}
@@ -42,21 +45,28 @@ public class SapforConfigurationDBTable extends iDBTable<SapforConfiguration> {
return new String[]{
"имя",
"автор",
"авто",
"группы",
"тестов",
"флаги"
// "теневые грани, %"
};
}
@Override
public Object getFieldAt(SapforConfiguration object, int columnIndex) {
ConfigurationCache cache = (ConfigurationCache) VisualCaches.GetCache(object);
switch (columnIndex) {
case 2:
return object.description;
case 3:
return object.sender_name;
case 4:
return object.printAuto();
case 5:
return cache.getGroupsDescriptions();
case 6:
return cache.getTestsCount();
case 7:
return object.getFlags();
// case 5:
// return object.MAX_SHADOW_WIDTH;
default:
return null;
}