рефакторинг конфигураций тестирования сапфор. кнфигурация сделана как пара - набор тестов+ наборы настроек. наборы настроек стали отдельным объектом
This commit is contained in:
@@ -342,9 +342,6 @@ public enum Current {
|
||||
public static boolean CheckID(Current name, int id) {
|
||||
return (get(name) != null) && (((iDBObject) get(name)).id == id);
|
||||
}
|
||||
public static TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommand getSapforConfigurationCommand() {
|
||||
return (TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommand) get(Current.SapforConfigurationCommand);
|
||||
}
|
||||
public static boolean HasSapforProfile() {
|
||||
return get(Current.SapforProfile) != null;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
package Common.UI;
|
||||
import Common.Constants;
|
||||
import Common.Current;
|
||||
import Common.Database.DataSet;
|
||||
import Common.Global;
|
||||
@@ -17,7 +16,6 @@ import Common.UI.Trees.GraphTreeCellRenderer;
|
||||
import Common.UI.Trees.SelectionTreeCellRenderer;
|
||||
import Common.UI.Windows.FormType;
|
||||
import Common.UI.Windows.SearchReplaceForm;
|
||||
import Common.Utils.Index;
|
||||
import Common.Utils.Utils;
|
||||
import GlobalData.Compiler.CompilersDBTable;
|
||||
import GlobalData.Compiler.CompilersMenuBar;
|
||||
@@ -76,11 +74,9 @@ import TestingSystem.DVM.DVMTasks.DVMRunTasksBar;
|
||||
import TestingSystem.DVM.DVMTasks.DVMRunTasksSet;
|
||||
import TestingSystem.SAPFOR.SapforConfiguration.SapforConfigurationDBTable;
|
||||
import TestingSystem.SAPFOR.SapforConfiguration.SapforConfigurationsMenuBar;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommandsDBTable;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommandsMenuBar;
|
||||
import TestingSystem.SAPFOR.SapforPackage.SapforPackageDBTable;
|
||||
import TestingSystem.SAPFOR.SapforSettings.SapforSettingsBar;
|
||||
import TestingSystem.SAPFOR.SapforSettings.SapforSettingsCommandsBar;
|
||||
import TestingSystem.SAPFOR.SapforSettingsCommand.SapforSettingsCommandsBar;
|
||||
import TestingSystem.SAPFOR.SapforSettings.SapforSettingsDBTable;
|
||||
import TestingSystem.SAPFOR.SapforSettingsCommand.SapforSettingsCommandsDBTable;
|
||||
import TestingSystem.SAPFOR.SapforTasksPackage.UI.SapforPackagesBar;
|
||||
@@ -248,7 +244,6 @@ public class UI {
|
||||
menuBars.put(RunTasksDBTable.class, new DataMenuBar("задачи на запуск"));
|
||||
//---->>
|
||||
menuBars.put(SapforConfigurationDBTable.class, new SapforConfigurationsMenuBar());
|
||||
menuBars.put(SapforConfigurationCommandsDBTable.class, new SapforConfigurationCommandsMenuBar());
|
||||
//---->>
|
||||
menuBars.put(RegionsSet.class, new DataMenuBar("области распараллеливания"));
|
||||
menuBars.put(ArraysSet.class, new DataMenuBar("массивы"));
|
||||
|
||||
@@ -5,15 +5,20 @@ 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 String groupsDescriptions = 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()) {
|
||||
@@ -30,16 +35,38 @@ public class ConfigurationCache extends VisualCache{
|
||||
testsJson = Utils.gson.fromJson(configuration.packedTestsJson, TestsJson.class);
|
||||
}
|
||||
//-
|
||||
Vector<String> groupsDescriptionsVector = new Vector<>();
|
||||
for (GroupJson groupJson : groupsJson.array)
|
||||
groupsDescriptionsVector.add(groupJson.description);
|
||||
groupsDescriptions= String.join(";", groupsDescriptionsVector);
|
||||
if (settingsJson == null) {
|
||||
if (configuration.packedSettingsJson.isEmpty())
|
||||
settingsJson = new SettingsArrayJson(); //просто пустой
|
||||
else
|
||||
settingsJson = Utils.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 String getGroupsDescriptions() {
|
||||
return groupsDescriptions;
|
||||
public String getSettingsDescriptions() {
|
||||
return settingsSummary;
|
||||
}
|
||||
public Vector<Group> getGroups(){
|
||||
Vector<Group> groups = new Vector<>();
|
||||
|
||||
22
src/Common/UI/VisualCache/SapforConfigurationCache.java
Normal file
22
src/Common/UI/VisualCache/SapforConfigurationCache.java
Normal file
@@ -0,0 +1,22 @@
|
||||
package Common.UI.VisualCache;
|
||||
import Common.Global;
|
||||
import TestingSystem.Common.Configuration.Configuration;
|
||||
import TestingSystem.Common.Settings.Json.SettingsJson;
|
||||
import TestingSystem.Common.Test.Json.TestJson;
|
||||
import TestingSystem.Common.Test.Test;
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,8 @@ package Common.UI.VisualCache;
|
||||
import Common.Database.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;
|
||||
//нужен для серверных объектов, чтобы в сокет не класть лишнего.
|
||||
@@ -19,7 +21,9 @@ public class VisualCaches {
|
||||
}
|
||||
//чтобы не трогать сами объекты и не сбить сериализацию
|
||||
static VisualCache createCache(Object object) {
|
||||
if (object instanceof Configuration)
|
||||
if (object instanceof SapforConfiguration)
|
||||
return new SapforConfigurationCache((Configuration) object);
|
||||
if (object instanceof DVMConfiguration)
|
||||
return new ConfigurationCache((Configuration) object);
|
||||
if (object instanceof TestingPackage)
|
||||
return new PackageCache((TestingPackage) object);
|
||||
|
||||
Reference in New Issue
Block a user