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

5
.idea/workspace.xml generated
View File

@@ -7,7 +7,12 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment=""> <list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/Common/UI/VisualCache/PackageCache.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/UI/VisualCache/VisualCaches.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/VisualCache/VisualCaches.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Common/UI/VisualCache/VisualCaches.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/VisualCache/VisualCaches.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPackage/TestingPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPackage/TestingPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfiguration/SapforConfigurationDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfiguration/SapforConfigurationDBTable.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />

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

View File

@@ -27,16 +27,9 @@ public abstract class TestingPackage<J> extends riDBObject {
@Description("DEFAULT 0") @Description("DEFAULT 0")
public int connectionErrosCount = 0; public int connectionErrosCount = 0;
public TasksPackageState state = TasksPackageState.Draft; public TasksPackageState state = TasksPackageState.Draft;
//---данные для отображения.
@Description("DEFAULT ''") @Description("DEFAULT ''")
public String packedConfigurationsJson = ""; public String packedConfigurationsJson = "";
//-- //--
@Description("IGNORE")
public ConfigurationsJson configurationsJson = null;
@Description("IGNORE")
public Vector<String> configurationsDescriptions = null;
//--
@Override @Override
public void SynchronizeFields(DBObject src) { public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src); super.SynchronizeFields(src);
@@ -91,22 +84,4 @@ public abstract class TestingPackage<J> extends riDBObject {
public void saveConfigurationsAsJson(Vector<? extends Configuration> configurations) { public void saveConfigurationsAsJson(Vector<? extends Configuration> configurations) {
packedConfigurationsJson = Utils.jsonToPrettyFormat(Utils.gson.toJson(new ConfigurationsJson(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.Global;
import Common.UI.DataSetControlForm; import Common.UI.DataSetControlForm;
import Common.UI.UI; 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.Comparator;
import java.util.Date; import java.util.Date;
@@ -66,7 +69,7 @@ public class DVMPackageDBTable extends iDBTable<DVMPackage> {
"Машина", "Машина",
"Пользователь", "Пользователь",
"DVM", "DVM",
"конфигурации", "Конфигурации",
"Задач", "Задач",
"Ядер", "Ядер",
"Прогресс", "Прогресс",
@@ -77,6 +80,7 @@ public class DVMPackageDBTable extends iDBTable<DVMPackage> {
} }
@Override @Override
public Object getFieldAt(DVMPackage object, int columnIndex) { public Object getFieldAt(DVMPackage object, int columnIndex) {
PackageCache cache = (PackageCache) VisualCaches.GetCache(object);
switch (columnIndex) { switch (columnIndex) {
case 2: case 2:
return object.sender_name; return object.sender_name;
@@ -87,7 +91,7 @@ public class DVMPackageDBTable extends iDBTable<DVMPackage> {
case 5: case 5:
return object.version; return object.version;
case 6: case 6:
return object.getConfigurationsDescriptions(); return cache.getConfigurationsDescriptions();
case 7: case 7:
return object.tasksCount; return object.tasksCount;
case 8: case 8:

View File

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