рефакторинг конфигураций тестирования сапфор. кнфигурация сделана как пара - набор тестов+ наборы настроек. наборы настроек стали отдельным объектом
This commit is contained in:
59
.idea/workspace.xml
generated
59
.idea/workspace.xml
generated
@@ -7,33 +7,56 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Settings/Settings.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettings/SapforSettings.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettings/SapforSettingsBar.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettings/SapforSettingsCommandsBar.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettings/SapforSettingsDBTable.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettings/UI/SapforSettingsCommandFields.form" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettings/UI/SapforSettingsCommandFields.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettings/UI/SapforSettingsFields.form" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettings/UI/SapforSettingsFields.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettingsCommand/SapforSettingsCommand.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettingsCommand/SapforSettingsCommandsDBTable.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DeleteSapforSettings.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DeleteSapforSettingsCommand.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/EditSapforSettings.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/EditSapforSettingsCommand.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PublishSapforSettings.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PublishSapforSettingsCommand.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/Common/UI/VisualCache/SapforConfigurationCache.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Settings/Json/SettingsArrayJson.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Settings/Json/SettingsJson.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMSettings/DVMSettings.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/Current.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Current.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Common/UI/UI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/UI.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Common/UI/VisualCache/ConfigurationCache.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/VisualCache/ConfigurationCache.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/Configuration/Configuration.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Configuration/Configuration.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/Group/Json/GroupJson.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Group/Json/GroupJson.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/Settings/Settings.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Settings/Settings.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SynchronizeTests.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SynchronizeTests.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMConfiguration/DVMConfigurationDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMConfiguration/DVMConfigurationDBTable.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/Json/SapforConfiguration_json.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/Json/SapforConfiguration_json.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/Json/SapforPackage_json.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/Json/SapforPackage_json.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/Json/SapforTestingSet_json.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/Json/SapforTestingSet_json.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfiguration/SapforConfiguration.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfiguration/SapforConfiguration.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" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfiguration/UI/SapforConfigurationFields.form" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfiguration/UI/SapforConfigurationFields.form" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfiguration/UI/SapforConfigurationFields.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfiguration/UI/SapforConfigurationFields.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfigurationCommand/SapforConfigurationCommand.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfigurationCommand/SapforConfigurationCommandsDBTable.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfigurationCommand/SapforConfigurationCommandsMenuBar.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfigurationCommand/UI/SapforConfigurationCommandFields.form" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfigurationCommand/UI/SapforConfigurationCommandFields.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforPackage/SapforPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforPackage/SapforPackage.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettings/SapforSettings.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettings/SapforSettings.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettings/SapforSettingsBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettings/SapforSettingsBar.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettings/SapforSettingsCommandsBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettingsCommand/SapforSettingsCommandsBar.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettings/SapforSettingsDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettings/SapforSettingsDBTable.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettingsCommand/SapforSettingsCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettingsCommand/SapforSettingsCommand.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettingsCommand/SapforSettingsCommandsDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforSettingsCommand/SapforSettingsCommandsDBTable.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTask/SapforTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTask/SapforTask.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DeleteSapforConfigurationCommand.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/EditSapforConfigurationCommand.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/EditSapforSettingsCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/EditSapforSettingsCommand.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PublishSapforConfigurationCommand.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PublishSapforSettingsCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PublishSapforSettingsCommand.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SaveCurrentDVMConfiguration.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SaveCurrentDVMConfiguration.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SaveCurrentSAPFORConfiguration.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SaveCurrentSAPFORConfiguration.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ShowCurrentSAPFORConfigurationTests.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ShowCurrentSAPFORConfigurationTests.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SaveCurrentConfiguration.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SaveCurrentConfiguration.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/ShowCurrentConfigurationTests.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/ShowCurrentConfigurationTests.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/TestingForm.form" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/TestingForm.form" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/TestingForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/TestingForm.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/buffer_.form" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/buffer_.form" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/buffer_.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/buffer_.java" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -5,6 +5,8 @@ import Common.Utils.TextLog;
|
||||
import Common.Utils.Utils;
|
||||
import TestingSystem.Common.Group.Group;
|
||||
import TestingSystem.Common.Group.Json.GroupsJson;
|
||||
import TestingSystem.Common.Settings.Json.SettingsArrayJson;
|
||||
import TestingSystem.Common.Settings.Settings;
|
||||
import TestingSystem.Common.Test.Json.TestsJson;
|
||||
import TestingSystem.Common.Test.Test;
|
||||
import com.sun.org.glassfish.gmbal.Description;
|
||||
@@ -21,7 +23,6 @@ public class Configuration extends riDBObject {
|
||||
public int maxtime = 300;
|
||||
@Description("DEFAULT 0")
|
||||
public int autoTesting = 0;
|
||||
|
||||
@Description("DEFAULT 1")
|
||||
public int kernels = 1; //ядра
|
||||
//----
|
||||
@@ -29,10 +30,10 @@ public class Configuration extends riDBObject {
|
||||
return autoTesting > 0 ? "Да" : "Нет";
|
||||
}
|
||||
public void SwitchAuto() {
|
||||
autoTesting = (autoTesting == 0)? 1:0;
|
||||
autoTesting = (autoTesting == 0) ? 1 : 0;
|
||||
}
|
||||
public ImageIcon GetAutoIcon() {
|
||||
return Utils.getIcon("/icons/" + (autoTesting==1 ? "RedPick" : "NotPick") + ".png");
|
||||
return Utils.getIcon("/icons/" + (autoTesting == 1 ? "RedPick" : "NotPick") + ".png");
|
||||
}
|
||||
//--
|
||||
public String getFlags() {
|
||||
@@ -46,6 +47,8 @@ public class Configuration extends riDBObject {
|
||||
public String packedGroupsJson = "";
|
||||
@Description("DEFAULT ''")
|
||||
public String packedTestsJson = "";
|
||||
@Description("DEFAULT ''")
|
||||
public String packedSettingsJson = "";
|
||||
//--
|
||||
public void saveGroupsAsJson(Vector<Group> groups) {
|
||||
packedGroupsJson = Utils.jsonToPrettyFormat(Utils.gson.toJson(new GroupsJson(groups)));
|
||||
@@ -53,6 +56,9 @@ public class Configuration extends riDBObject {
|
||||
public void saveTestsAsJson(Vector<Test> tests) {
|
||||
packedTestsJson = Utils.jsonToPrettyFormat(Utils.gson.toJson(new TestsJson(tests)));
|
||||
}
|
||||
public void saveSettingsAsJson(Vector<Settings> settings) {
|
||||
packedSettingsJson = Utils.jsonToPrettyFormat(Utils.gson.toJson(new SettingsArrayJson(settings)));
|
||||
}
|
||||
//--
|
||||
@Override
|
||||
public void SynchronizeFields(DBObject src) {
|
||||
@@ -65,9 +71,10 @@ public class Configuration extends riDBObject {
|
||||
//-
|
||||
packedGroupsJson = c.packedGroupsJson;
|
||||
packedTestsJson = c.packedTestsJson;
|
||||
packedSettingsJson = c.packedSettingsJson;
|
||||
}
|
||||
//- для автоматического тестирования главным образом.
|
||||
public boolean validate(TextLog log){
|
||||
public boolean validate(TextLog log) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,8 @@ public class GroupJson {
|
||||
public String language;
|
||||
public GroupJson(Group group) {
|
||||
id = group.id;
|
||||
description = group.description + Utils.RBrackets(group.language.getDescription());
|
||||
language = group.language.toString();
|
||||
description = group.description;
|
||||
}
|
||||
public GroupJson() {
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package TestingSystem.Common.Settings.Json;
|
||||
import TestingSystem.Common.Settings.Settings;
|
||||
import com.google.gson.annotations.Expose;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
public class SettingsArrayJson {
|
||||
@Expose
|
||||
public List<SettingsJson> array =new Vector<>();
|
||||
public SettingsArrayJson(){
|
||||
}
|
||||
//при создании пакета.
|
||||
public SettingsArrayJson(Vector<? extends Settings> settings_in){
|
||||
array =new Vector<>();
|
||||
for (Settings settings: settings_in)
|
||||
array.add(new SettingsJson(settings));
|
||||
}
|
||||
}
|
||||
|
||||
15
src/TestingSystem/Common/Settings/Json/SettingsJson.java
Normal file
15
src/TestingSystem/Common/Settings/Json/SettingsJson.java
Normal file
@@ -0,0 +1,15 @@
|
||||
package TestingSystem.Common.Settings.Json;
|
||||
import TestingSystem.Common.Settings.Settings;
|
||||
import com.google.gson.annotations.Expose;
|
||||
public class SettingsJson {
|
||||
@Expose
|
||||
public int id;
|
||||
@Expose
|
||||
public String description;
|
||||
public SettingsJson(Settings settings) {
|
||||
id = settings.id;
|
||||
description = settings.description;
|
||||
}
|
||||
public SettingsJson() {
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package TestingSystem.Common.Settings;
|
||||
import Common.Database.DBObject;
|
||||
import Common.Database.riDBObject;
|
||||
import TestingSystem.SAPFOR.SapforSettings.SapforSettings;
|
||||
import Common.Utils.TextLog;
|
||||
//предопределенный набор настроек тестируемой системы. сохраняется для упрощения.
|
||||
public abstract class Settings extends riDBObject {
|
||||
public String flags="";
|
||||
@@ -11,4 +11,5 @@ public abstract class Settings extends riDBObject {
|
||||
Settings s = (Settings) src;
|
||||
flags=s.flags;
|
||||
}
|
||||
public boolean validate(TextLog Log){return true;}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@ import TestingSystem.DVM.DVMPackage.DVMPackage_json;
|
||||
import TestingSystem.DVM.DVMTestingChecker;
|
||||
import TestingSystem.SAPFOR.Json.SapforPackage_json;
|
||||
import TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommand;
|
||||
import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
|
||||
import TestingSystem.SAPFOR.SapforSettings.SapforSettings;
|
||||
import TestingSystem.SAPFOR.SapforSettingsCommand.SapforSettingsCommand;
|
||||
@@ -94,16 +93,6 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
((ServerSapfor) object).home_path
|
||||
)
|
||||
);
|
||||
} else if (object instanceof SapforConfiguration) {
|
||||
SapforConfiguration sapforConfiguration = (SapforConfiguration) object;
|
||||
Vector<SapforConfigurationCommand> commands = new Vector<>();
|
||||
for (SapforConfigurationCommand command : db.sapforConfigurationCommands.Data.values()) {
|
||||
if (command.sapforconfiguration_id == sapforConfiguration.id)
|
||||
commands.add(command);
|
||||
}
|
||||
for (SapforConfigurationCommand command : commands) {
|
||||
db.Delete(command);
|
||||
}
|
||||
} else if (object instanceof DVMPackage) {
|
||||
DVMPackage dvmPackage = (DVMPackage) object;
|
||||
File workspace = dvmPackage.getLocalWorkspace();
|
||||
|
||||
@@ -16,7 +16,6 @@ import TestingSystem.DVM.DVMPackage.DVMPackage;
|
||||
import TestingSystem.DVM.DVMPackage.DVMPackageDBTable;
|
||||
import TestingSystem.DVM.DVMTasks.DVMRunTasksSet;
|
||||
import TestingSystem.SAPFOR.SapforConfiguration.SapforConfigurationDBTable;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommandsDBTable;
|
||||
import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
|
||||
import TestingSystem.SAPFOR.SapforPackage.SapforPackageDBTable;
|
||||
import TestingSystem.SAPFOR.SapforSettings.SapforSettingsDBTable;
|
||||
@@ -44,7 +43,6 @@ public class TestsDatabase extends SQLiteDatabase {
|
||||
public TestingPackagesToKillDBTable testingPackagesToKill;
|
||||
//--
|
||||
public SapforConfigurationDBTable sapforConfigurations;
|
||||
public SapforConfigurationCommandsDBTable sapforConfigurationCommands;
|
||||
//----
|
||||
public ServerSapforsDBTable serverSapfors;
|
||||
//---
|
||||
@@ -65,7 +63,6 @@ public class TestsDatabase extends SQLiteDatabase {
|
||||
addTable(testingPackagesToKill = new TestingPackagesToKillDBTable());
|
||||
//-
|
||||
addTable(sapforConfigurations = new SapforConfigurationDBTable());
|
||||
addTable(sapforConfigurationCommands = new SapforConfigurationCommandsDBTable());
|
||||
addTable(serverSapfors = new ServerSapforsDBTable());
|
||||
addTable(sapforSettings = new SapforSettingsDBTable());
|
||||
addTable(sapforSettingsCommands = new SapforSettingsCommandsDBTable());
|
||||
|
||||
@@ -39,7 +39,8 @@ public class DVMConfigurationDBTable extends iDBTable<DVMConfiguration> {
|
||||
}
|
||||
@Override
|
||||
protected void AdditionalInitColumns() {
|
||||
columns.get(5).setMaxWidth(300);
|
||||
columns.get(5).setRenderer(TableRenderers.RendererMultiline);
|
||||
columns.get(5).setMaxWidth(500);
|
||||
columns.get(7).setRenderer(TableRenderers.RendererMultiline);
|
||||
columns.get(8).setRenderer(TableRenderers.RendererMultiline);
|
||||
columns.get(15).setRenderer(TableRenderers.RendererMultiline);
|
||||
@@ -77,7 +78,7 @@ public class DVMConfigurationDBTable extends iDBTable<DVMConfiguration> {
|
||||
return object.kernels;
|
||||
|
||||
case 5:
|
||||
return cache.getGroupsDescriptions();
|
||||
return cache.groupsSummary;
|
||||
case 6:
|
||||
return cache.getTestsCount();
|
||||
//todo упростить. и флаги и окружение будут просто одной строкой. мульти не актуально.
|
||||
|
||||
4
src/TestingSystem/DVM/DVMSettings/DVMSettings.java
Normal file
4
src/TestingSystem/DVM/DVMSettings/DVMSettings.java
Normal file
@@ -0,0 +1,4 @@
|
||||
package TestingSystem.DVM.DVMSettings;
|
||||
import TestingSystem.Common.Settings.Settings;
|
||||
public class DVMSettings extends Settings {
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import com.google.gson.annotations.Expose;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
//на самом деле уже settings. конфиграция = группы + настройки
|
||||
public class SapforConfiguration_json implements Serializable {
|
||||
@Expose
|
||||
public int id = Constants.Nan;
|
||||
|
||||
@@ -61,16 +61,6 @@ public class SapforPackage_json implements Serializable {
|
||||
return names;
|
||||
}
|
||||
//--
|
||||
public boolean hasConfiguration(int configuration_id) {
|
||||
for (SapforTestingSet_json set : testingSets) {
|
||||
for (SapforConfiguration_json configuration : set.configurations) {
|
||||
if (configuration.id == configuration_id)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
//--
|
||||
public void sortTasks() {
|
||||
tasks.sort(new Comparator<SapforTask>() {
|
||||
@Override
|
||||
|
||||
@@ -13,7 +13,7 @@ public class SapforTestingSet_json implements Serializable {
|
||||
@Expose
|
||||
public List<SapforTest_json> tests = new Vector<>();
|
||||
@Expose
|
||||
public List<SapforConfiguration_json> configurations = new Vector<>();
|
||||
public List<SapforConfiguration_json> configurations = new Vector<>();//todo переименовать в настройки?
|
||||
public Vector<SapforTask> createTasks() {
|
||||
Vector<SapforTask> tasks = new Vector<>();
|
||||
//-
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
package TestingSystem.SAPFOR.SapforConfiguration;
|
||||
import Common.Constants;
|
||||
import Common.Database.DBObject;
|
||||
import Common.Global;
|
||||
import Common.UI.VisualCache.ConfigurationCache;
|
||||
@@ -9,54 +10,12 @@ import ProjectData.LanguageName;
|
||||
import TestingSystem.Common.Configuration.Configuration;
|
||||
import TestingSystem.Common.Group.Group;
|
||||
import TestingSystem.Common.Test.Test;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommand;
|
||||
import TestingSystem.SAPFOR.SapforSettings.SapforSettings;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import com.sun.org.glassfish.gmbal.Description;
|
||||
|
||||
import java.util.Vector;
|
||||
public class SapforConfiguration extends Configuration {
|
||||
//настройки.
|
||||
public int FREE_FORM = 0; //"Свободный выходной стиль"; -f90
|
||||
public int STATIC_SHADOW_ANALYSIS = 0;//"Оптимизация теневых обменов"; -sh
|
||||
public int MAX_SHADOW_WIDTH = 50; // "Максимальный размер теневых граней"; (%) -shwidth значение поля
|
||||
public int KEEP_SPF_DIRECTIVES = 0; //"Сохранять SPF директивы при построении параллельных вариантов"; -keepSPF
|
||||
public int KEEP_DVM_DIRECTIVES = 0;// "Учитывать DVM директивы"; -keepDVM
|
||||
//----
|
||||
@Override
|
||||
public String getFlags() {
|
||||
Vector<String> res = new Vector<>();
|
||||
if (FREE_FORM > 0)
|
||||
res.add("-f90");
|
||||
if (STATIC_SHADOW_ANALYSIS > 0)
|
||||
res.add("-sh");
|
||||
if (MAX_SHADOW_WIDTH > 0)
|
||||
res.add("-shwidth " + MAX_SHADOW_WIDTH);
|
||||
if (KEEP_DVM_DIRECTIVES > 0)
|
||||
res.add("-keepDVM");
|
||||
if (KEEP_SPF_DIRECTIVES > 0)
|
||||
res.add("-keepSPF");
|
||||
return String.join(" ", res);
|
||||
}
|
||||
//-
|
||||
public Vector<PassCode_2021> getPassCodes() {
|
||||
Vector<PassCode_2021> res = new Vector<>();
|
||||
for (SapforConfigurationCommand command : Global.testingServer.db.sapforConfigurationCommands.Data.values()) {
|
||||
if (command.sapforconfiguration_id == id) {
|
||||
res.add(command.passCode);
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
//--
|
||||
@Override
|
||||
public void SynchronizeFields(DBObject src) {
|
||||
super.SynchronizeFields(src);
|
||||
SapforConfiguration c = (SapforConfiguration) src;
|
||||
FREE_FORM = c.FREE_FORM;
|
||||
STATIC_SHADOW_ANALYSIS = c.STATIC_SHADOW_ANALYSIS;
|
||||
MAX_SHADOW_WIDTH = c.MAX_SHADOW_WIDTH;
|
||||
KEEP_SPF_DIRECTIVES = c.KEEP_SPF_DIRECTIVES;
|
||||
KEEP_DVM_DIRECTIVES = c.KEEP_DVM_DIRECTIVES;
|
||||
}
|
||||
public SapforConfiguration(SapforConfiguration sapforConfiguration) {
|
||||
this.SynchronizeFields(sapforConfiguration);
|
||||
}
|
||||
@@ -64,43 +23,17 @@ public class SapforConfiguration extends Configuration {
|
||||
}
|
||||
@Override
|
||||
public boolean validate(TextLog Log) {
|
||||
//1. проверка цепочки команд на корректность
|
||||
Vector<PassCode_2021> codes = Global.testingServer.db.sapforConfigurationCommands.getCodes(this);
|
||||
if (codes.size() == 0) {
|
||||
Log.Writeln_("Конфигурация:" + id + " не содержит ни одного прохода.");
|
||||
return false;
|
||||
}
|
||||
int first = 0;
|
||||
int last = codes.size() - 1;
|
||||
Vector<PassCode_2021> matches = new Vector<>();
|
||||
for (int i = 0; i < codes.size(); ++i) {
|
||||
PassCode_2021 code = codes.get(i);
|
||||
if (code.isSapforStart()) {
|
||||
if (i > first) {
|
||||
Log.Writeln_("Неверная конфигурация:" + id + ": проход" +
|
||||
Utils.Brackets(code.getDescription()) +
|
||||
" может быть только первым!");
|
||||
}
|
||||
}
|
||||
if (code.isSapforTerminal()) {
|
||||
if (i < last) {
|
||||
Log.Writeln_("Неверная конфигурация:" + id + ": проход " +
|
||||
Utils.Brackets(code.getDescription()) +
|
||||
" может быть только последним!");
|
||||
}
|
||||
}
|
||||
if (matches.contains(code)) {
|
||||
Log.Writeln_("Неверная конфигурация:" + id + ": проход " +
|
||||
Utils.Brackets(code.getDescription()) +
|
||||
" запрещено применять более одного раза!");
|
||||
} else matches.add(code);
|
||||
}
|
||||
//2. Проверка входящих групп на единственный язык фортран
|
||||
ConfigurationCache cache = (ConfigurationCache) VisualCaches.GetCache(this);
|
||||
//--
|
||||
Vector<Group> groups = cache.getGroups();
|
||||
Vector<LanguageName> groupsLanguages = new Vector<>();
|
||||
Vector<SapforSettings> settingsArray= new Vector<>();
|
||||
//-
|
||||
//1. проверка цепочек команд на корректность
|
||||
for (SapforSettings sapforSettings: settingsArray){
|
||||
sapforSettings.validate(Log);
|
||||
}
|
||||
//2. Проверка входящих групп на единственный язык фортран
|
||||
for (Group group : groups) {
|
||||
if (!groupsLanguages.contains(group.language))
|
||||
groupsLanguages.add(group.language);
|
||||
|
||||
@@ -10,7 +10,6 @@ import Common.UI.Windows.Dialog.DBObjectDialog;
|
||||
import Common.Utils.Utils;
|
||||
import Common.Utils.Vector_;
|
||||
import TestingSystem.SAPFOR.SapforConfiguration.UI.SapforConfigurationFields;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommand;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Vector;
|
||||
@@ -39,11 +38,13 @@ public class SapforConfigurationDBTable extends iDBTable<SapforConfiguration> {
|
||||
}
|
||||
@Override
|
||||
protected void AdditionalInitColumns() {
|
||||
columns.get(5).setRenderer(TableRenderers.RendererAutoConfiguration);
|
||||
columns.get(5).setEditor(TableEditors.EditorAutoConfiguration);
|
||||
columns.get(5).setMinWidth(25);
|
||||
columns.get(5).setMaxWidth(25);
|
||||
columns.get(6).setMaxWidth(300);
|
||||
columns.get(4).setRenderer(TableRenderers.RendererAutoConfiguration);
|
||||
columns.get(4).setEditor(TableEditors.EditorAutoConfiguration);
|
||||
columns.get(4).setMinWidth(25);
|
||||
columns.get(4).setMaxWidth(25);
|
||||
columns.get(6).setMaxWidth(500);
|
||||
columns.get(7).setRenderer(TableRenderers.RendererMultiline);
|
||||
columns.get(7).setMaxWidth(500);
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -52,11 +53,11 @@ public class SapforConfigurationDBTable extends iDBTable<SapforConfiguration> {
|
||||
return new String[]{
|
||||
"имя",
|
||||
"автор",
|
||||
"ядра",
|
||||
"",
|
||||
"ядра",
|
||||
"параметры",
|
||||
"группы",
|
||||
"тестов",
|
||||
"флаги",
|
||||
"тестов"
|
||||
};
|
||||
}
|
||||
@Override
|
||||
@@ -68,15 +69,15 @@ public class SapforConfigurationDBTable extends iDBTable<SapforConfiguration> {
|
||||
case 3:
|
||||
return object.sender_name;
|
||||
case 4:
|
||||
return object.kernels;
|
||||
case 5:
|
||||
return object.printAuto();
|
||||
case 5:
|
||||
return object.kernels;
|
||||
case 6:
|
||||
return cache.getGroupsDescriptions();
|
||||
return cache.getSettingsDescriptions();
|
||||
case 7:
|
||||
return cache.getTestsCount();
|
||||
return cache.groupsSummary;
|
||||
case 8:
|
||||
return object.getFlags();
|
||||
return cache.getTestsCount();
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
@@ -87,11 +88,11 @@ public class SapforConfigurationDBTable extends iDBTable<SapforConfiguration> {
|
||||
return new DBObjectDialog<SapforConfiguration, SapforConfigurationFields>(SapforConfigurationFields.class) {
|
||||
@Override
|
||||
public int getDefaultHeight() {
|
||||
return 415;
|
||||
return 200;
|
||||
}
|
||||
@Override
|
||||
public int getDefaultWidth() {
|
||||
return 600;
|
||||
return 450;
|
||||
}
|
||||
@Override
|
||||
public void validateFields() {
|
||||
@@ -99,21 +100,11 @@ public class SapforConfigurationDBTable extends iDBTable<SapforConfiguration> {
|
||||
@Override
|
||||
public void fillFields() {
|
||||
fields.tfName.setText(Result.description);
|
||||
fields.cbFREE_FORM.setSelected(Result.FREE_FORM != 0);
|
||||
fields.cbKEEP_DVM_DIRECTIVES.setSelected(Result.KEEP_DVM_DIRECTIVES != 0);
|
||||
fields.cbKEEP_SPF_DIRECTIVES.setSelected(Result.KEEP_SPF_DIRECTIVES != 0);
|
||||
fields.cbSTATIC_SHADOW_ANALYSIS.setSelected(Result.STATIC_SHADOW_ANALYSIS != 0);
|
||||
fields.sMAX_SHADOW_WIDTH.setValue(Result.MAX_SHADOW_WIDTH);
|
||||
fields.sKernels.setValue(Result.kernels);
|
||||
}
|
||||
@Override
|
||||
public void ProcessResult() {
|
||||
Result.description = fields.tfName.getText();
|
||||
Result.FREE_FORM = Utils.fromBoolean(fields.cbFREE_FORM.isSelected());
|
||||
Result.KEEP_DVM_DIRECTIVES = Utils.fromBoolean(fields.cbKEEP_DVM_DIRECTIVES.isSelected());
|
||||
Result.KEEP_SPF_DIRECTIVES = Utils.fromBoolean(fields.cbKEEP_SPF_DIRECTIVES.isSelected());
|
||||
Result.STATIC_SHADOW_ANALYSIS = Utils.fromBoolean(fields.cbSTATIC_SHADOW_ANALYSIS.isSelected());
|
||||
Result.MAX_SHADOW_WIDTH = fields.sMAX_SHADOW_WIDTH.getValue();
|
||||
Result.kernels = (int) fields.sKernels.getValue();
|
||||
}
|
||||
@Override
|
||||
@@ -123,12 +114,6 @@ public class SapforConfigurationDBTable extends iDBTable<SapforConfiguration> {
|
||||
}
|
||||
};
|
||||
}
|
||||
@Override
|
||||
public LinkedHashMap<Class<? extends DBObject>, FKBehaviour> getFKDependencies() {
|
||||
LinkedHashMap<Class<? extends DBObject>, FKBehaviour> res = new LinkedHashMap<>();
|
||||
res.put(SapforConfigurationCommand.class, new FKBehaviour(FKDataBehaviour.DELETE, FKCurrentObjectBehaviuor.ACTIVE));
|
||||
return res;
|
||||
}
|
||||
public Vector<SapforConfiguration> getAutoConfigurations() {
|
||||
Vector<SapforConfiguration> res = new Vector_<>();
|
||||
for (SapforConfiguration configuration : Data.values()) {
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
<grid id="27dc6" binding="content" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<margin top="0" left="0" bottom="0" right="0"/>
|
||||
<constraints>
|
||||
<xy x="20" y="20" width="883" height="400"/>
|
||||
<xy x="20" y="20" width="342" height="160"/>
|
||||
</constraints>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
<children>
|
||||
<grid id="d1d6e" layout-manager="GridLayoutManager" row-count="9" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<grid id="d1d6e" layout-manager="GridLayoutManager" row-count="3" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<margin top="0" left="0" bottom="0" right="0"/>
|
||||
<constraints>
|
||||
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
|
||||
@@ -19,7 +19,7 @@
|
||||
<component id="3257b" class="javax.swing.JLabel">
|
||||
<constraints>
|
||||
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="2" use-parent-layout="false">
|
||||
<preferred-size width="284" height="20"/>
|
||||
<preferred-size width="99" height="20"/>
|
||||
</grid>
|
||||
</constraints>
|
||||
<properties>
|
||||
@@ -29,11 +29,23 @@
|
||||
</component>
|
||||
<vspacer id="224d6">
|
||||
<constraints>
|
||||
<grid row="8" column="0" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false">
|
||||
<preferred-size width="284" height="14"/>
|
||||
<grid row="2" column="0" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false">
|
||||
<preferred-size width="99" height="14"/>
|
||||
</grid>
|
||||
</constraints>
|
||||
</vspacer>
|
||||
<component id="1eea4" class="javax.swing.JLabel">
|
||||
<constraints>
|
||||
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="2" use-parent-layout="false">
|
||||
<preferred-size width="99" height="20"/>
|
||||
</grid>
|
||||
</constraints>
|
||||
<properties>
|
||||
<font name="Times New Roman" size="16" style="2"/>
|
||||
<text value="ядра"/>
|
||||
<toolTipText value="количество ядер, задействованное при тестировани"/>
|
||||
</properties>
|
||||
</component>
|
||||
<component id="ecbf1" class="javax.swing.JTextField" binding="tfName" custom-create="true">
|
||||
<constraints>
|
||||
<grid row="0" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
|
||||
@@ -44,95 +56,6 @@
|
||||
</constraints>
|
||||
<properties/>
|
||||
</component>
|
||||
<component id="b644a" class="javax.swing.JCheckBox" binding="cbFREE_FORM">
|
||||
<constraints>
|
||||
<grid row="2" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false">
|
||||
<preferred-size width="284" height="25"/>
|
||||
</grid>
|
||||
</constraints>
|
||||
<properties>
|
||||
<font name="Times New Roman" size="14" style="2"/>
|
||||
<icon value="icons/NotPick.png"/>
|
||||
<selectedIcon value="icons/Pick.png"/>
|
||||
<text value="Свободный выходной стиль"/>
|
||||
</properties>
|
||||
</component>
|
||||
<component id="7721e" class="javax.swing.JCheckBox" binding="cbKEEP_SPF_DIRECTIVES">
|
||||
<constraints>
|
||||
<grid row="5" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false">
|
||||
<preferred-size width="284" height="25"/>
|
||||
</grid>
|
||||
</constraints>
|
||||
<properties>
|
||||
<font name="Times New Roman" size="14" style="2"/>
|
||||
<icon value="icons/NotPick.png"/>
|
||||
<selectedIcon value="icons/Pick.png"/>
|
||||
<text value="Сохранять SPF директивы"/>
|
||||
</properties>
|
||||
</component>
|
||||
<component id="f44c1" class="javax.swing.JLabel">
|
||||
<constraints>
|
||||
<grid row="6" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="3" use-parent-layout="false">
|
||||
<preferred-size width="284" height="17"/>
|
||||
</grid>
|
||||
</constraints>
|
||||
<properties>
|
||||
<font name="Times New Roman" size="14" style="2"/>
|
||||
<text value="Максимальный размер теневых граней, %"/>
|
||||
</properties>
|
||||
</component>
|
||||
<component id="54e77" class="javax.swing.JCheckBox" binding="cbSTATIC_SHADOW_ANALYSIS">
|
||||
<constraints>
|
||||
<grid row="3" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false">
|
||||
<preferred-size width="284" height="25"/>
|
||||
</grid>
|
||||
</constraints>
|
||||
<properties>
|
||||
<font name="Times New Roman" size="14" style="2"/>
|
||||
<icon value="icons/NotPick.png"/>
|
||||
<selectedIcon value="icons/Pick.png"/>
|
||||
<text value="Оптимизация теневых обменов"/>
|
||||
</properties>
|
||||
</component>
|
||||
<component id="4e865" class="javax.swing.JCheckBox" binding="cbKEEP_DVM_DIRECTIVES">
|
||||
<constraints>
|
||||
<grid row="4" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false">
|
||||
<preferred-size width="284" height="25"/>
|
||||
</grid>
|
||||
</constraints>
|
||||
<properties>
|
||||
<font name="Times New Roman" size="14" style="2"/>
|
||||
<icon value="icons/NotPick.png"/>
|
||||
<selectedIcon value="icons/Pick.png"/>
|
||||
<text value="Учитывать DVM директивы"/>
|
||||
</properties>
|
||||
</component>
|
||||
<component id="14243" class="javax.swing.JSlider" binding="sMAX_SHADOW_WIDTH">
|
||||
<constraints>
|
||||
<grid row="7" column="0" row-span="1" col-span="2" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
|
||||
<minimum-size width="500" height="40"/>
|
||||
<preferred-size width="500" height="40"/>
|
||||
<maximum-size width="500" height="40"/>
|
||||
</grid>
|
||||
</constraints>
|
||||
<properties>
|
||||
<majorTickSpacing value="25"/>
|
||||
<minorTickSpacing value="1"/>
|
||||
<paintLabels value="true"/>
|
||||
<paintTicks value="true"/>
|
||||
<snapToTicks value="false"/>
|
||||
</properties>
|
||||
</component>
|
||||
<component id="1eea4" class="javax.swing.JLabel">
|
||||
<constraints>
|
||||
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="2" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties>
|
||||
<font name="Times New Roman" size="16" style="2"/>
|
||||
<text value="ядра"/>
|
||||
<toolTipText value="количество ядер, задействованное при тестировани"/>
|
||||
</properties>
|
||||
</component>
|
||||
<component id="2a173" class="javax.swing.JSpinner" binding="sKernels">
|
||||
<constraints>
|
||||
<grid row="1" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
|
||||
|
||||
@@ -9,11 +9,6 @@ public class SapforConfigurationFields implements DialogFields {
|
||||
private JPanel content;
|
||||
public JTextField tfName;
|
||||
public JSpinner sTransformationMaxtime;
|
||||
public JCheckBox cbFREE_FORM;
|
||||
public JSlider sMAX_SHADOW_WIDTH;
|
||||
public JCheckBox cbSTATIC_SHADOW_ANALYSIS;
|
||||
public JCheckBox cbKEEP_SPF_DIRECTIVES;
|
||||
public JCheckBox cbKEEP_DVM_DIRECTIVES;
|
||||
public JSpinner sKernels;
|
||||
//--
|
||||
@Override
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
package TestingSystem.SAPFOR.SapforConfigurationCommand;
|
||||
import Common.Constants;
|
||||
import Common.Current;
|
||||
import Common.Database.DBObject;
|
||||
import Common.Database.riDBObject;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import com.sun.org.glassfish.gmbal.Description;
|
||||
public class SapforConfigurationCommand extends riDBObject {
|
||||
@Description("DEFAULT -1")
|
||||
public int sapforconfiguration_id = Constants.Nan;
|
||||
public PassCode_2021 passCode = PassCode_2021.SPF_RemoveDvmDirectives;
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
return Current.HasSapforConfiguration() && (Current.getSapforConfiguration().id == sapforconfiguration_id);
|
||||
}
|
||||
@Override
|
||||
public void SynchronizeFields(DBObject src) {
|
||||
super.SynchronizeFields(src);
|
||||
SapforConfigurationCommand c = (SapforConfigurationCommand) src;
|
||||
sapforconfiguration_id = c.sapforconfiguration_id;
|
||||
passCode = c.passCode;
|
||||
}
|
||||
public SapforConfigurationCommand() {
|
||||
}
|
||||
public SapforConfigurationCommand(SapforConfigurationCommand sapforConfigurationCommand) {
|
||||
this.SynchronizeFields(sapforConfigurationCommand);
|
||||
}
|
||||
}
|
||||
@@ -1,82 +0,0 @@
|
||||
package TestingSystem.SAPFOR.SapforConfigurationCommand;
|
||||
import Common.Current;
|
||||
import Common.Database.iDBTable;
|
||||
import Common.UI.DataSetControlForm;
|
||||
import Common.UI.UI;
|
||||
import Common.UI.Windows.Dialog.DBObjectDialog;
|
||||
import TestingSystem.Common.Configuration.Configuration;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.UI.SapforConfigurationCommandFields;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
|
||||
import java.util.Vector;
|
||||
public class SapforConfigurationCommandsDBTable extends iDBTable<SapforConfigurationCommand> {
|
||||
public SapforConfigurationCommandsDBTable() {
|
||||
super(SapforConfigurationCommand.class);
|
||||
}
|
||||
@Override
|
||||
public String getSingleDescription() {
|
||||
return "команда";
|
||||
}
|
||||
@Override
|
||||
public String getPluralDescription() {
|
||||
return "команды";
|
||||
}
|
||||
@Override
|
||||
protected DataSetControlForm createUI() {
|
||||
return new DataSetControlForm(this) {
|
||||
@Override
|
||||
public boolean hasCheckBox() {
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
protected void AdditionalInitColumns() {
|
||||
//columns.get(0).setVisible(false);
|
||||
}
|
||||
};
|
||||
}
|
||||
@Override
|
||||
public String[] getUIColumnNames() {
|
||||
return new String[]{
|
||||
"Проход"
|
||||
};
|
||||
}
|
||||
@Override
|
||||
public Object getFieldAt(SapforConfigurationCommand object, int columnIndex) {
|
||||
switch (columnIndex) {
|
||||
case 2:
|
||||
return object.passCode.getDescription();
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public Current CurrentName() {
|
||||
return Current.SapforConfigurationCommand;
|
||||
}
|
||||
@Override
|
||||
public DBObjectDialog<SapforConfigurationCommand, SapforConfigurationCommandFields> getDialog() {
|
||||
return new DBObjectDialog<SapforConfigurationCommand, SapforConfigurationCommandFields>(SapforConfigurationCommandFields.class) {
|
||||
@Override
|
||||
public int getDefaultHeight() {
|
||||
return 250;
|
||||
}
|
||||
@Override
|
||||
public void fillFields() {
|
||||
UI.TrySelect(fields.cbPassCode, Result.passCode);
|
||||
}
|
||||
@Override
|
||||
public void ProcessResult() {
|
||||
Result.passCode = (PassCode_2021) fields.cbPassCode.getSelectedItem();
|
||||
Result.sapforconfiguration_id = Current.getSapforConfiguration().id;
|
||||
}
|
||||
};
|
||||
}
|
||||
public Vector<PassCode_2021> getCodes(Configuration configuration) {
|
||||
Vector<PassCode_2021> res = new Vector<>();
|
||||
for (SapforConfigurationCommand command : Data.values()) {
|
||||
if (command.sapforconfiguration_id == configuration.id)
|
||||
res.add(command.passCode);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
package TestingSystem.SAPFOR.SapforConfigurationCommand;
|
||||
import Common.UI.Menus_2023.DataMenuBar;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
public class SapforConfigurationCommandsMenuBar extends DataMenuBar {
|
||||
public SapforConfigurationCommandsMenuBar() {
|
||||
super("команды",
|
||||
PassCode_2021.PublishSapforConfigurationCommand,
|
||||
PassCode_2021.EditSapforConfigurationCommand,
|
||||
PassCode_2021.DeleteSapforConfigurationCommand
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="TestingSystem.SAPFOR.SapforConfigurationCommand.UI.SapforConfigurationCommandFields">
|
||||
<grid id="27dc6" binding="content" layout-manager="GridLayoutManager" row-count="2" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<margin top="0" left="0" bottom="0" right="0"/>
|
||||
<constraints>
|
||||
<xy x="20" y="20" width="500" height="400"/>
|
||||
</constraints>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
<children>
|
||||
<component id="97a3c" class="javax.swing.JLabel">
|
||||
<constraints>
|
||||
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="2" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties>
|
||||
<font name="Times New Roman" size="16" style="2"/>
|
||||
<text value="проход"/>
|
||||
</properties>
|
||||
</component>
|
||||
<vspacer id="7e4ea">
|
||||
<constraints>
|
||||
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
</vspacer>
|
||||
<component id="e95d0" class="javax.swing.JComboBox" binding="cbPassCode" custom-create="true">
|
||||
<constraints>
|
||||
<grid row="0" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties>
|
||||
<toolTipText value="выберите проход"/>
|
||||
</properties>
|
||||
</component>
|
||||
</children>
|
||||
</grid>
|
||||
</form>
|
||||
@@ -1,32 +0,0 @@
|
||||
package TestingSystem.SAPFOR.SapforConfigurationCommand.UI;
|
||||
import Common.Current;
|
||||
import Common.UI.Tables.StyledCellLabel;
|
||||
import Common.UI.Windows.Dialog.DialogFields;
|
||||
import Repository.Component.Sapfor.Sapfor;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
public class SapforConfigurationCommandFields implements DialogFields {
|
||||
private JPanel content;
|
||||
public JComboBox<PassCode_2021> cbPassCode;
|
||||
@Override
|
||||
public Component getContent() {
|
||||
return content;
|
||||
}
|
||||
private void createUIComponents() {
|
||||
// TODO: place custom component creation code here
|
||||
cbPassCode = new JComboBox<>();
|
||||
cbPassCode.setRenderer((list, value, index, isSelected, cellHasFocus) -> {
|
||||
JLabel res = new StyledCellLabel();
|
||||
res.setText(value.getDescription());
|
||||
res.setBackground(isSelected ?
|
||||
Current.getTheme().selection_background : Current.getTheme().background
|
||||
);
|
||||
return res;
|
||||
});
|
||||
//-
|
||||
for (PassCode_2021 code : Sapfor.getScenariosCodes())
|
||||
cbPassCode.addItem(code);
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import Common.Current;
|
||||
import Common.Database.DBObject;
|
||||
import Common.Global;
|
||||
import Common.UI.VisualCache.ConfigurationCache;
|
||||
import Common.UI.VisualCache.SapforConfigurationCache;
|
||||
import Common.UI.VisualCache.VisualCaches;
|
||||
import Common.Utils.TextLog;
|
||||
import Common.Utils.Utils;
|
||||
@@ -16,6 +17,7 @@ import TestingSystem.SAPFOR.Json.SapforPackage_json;
|
||||
import TestingSystem.SAPFOR.Json.SapforTest_json;
|
||||
import TestingSystem.SAPFOR.Json.SapforTestingSet_json;
|
||||
import TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
|
||||
import TestingSystem.SAPFOR.SapforSettings.SapforSettings;
|
||||
import TestingSystem.SAPFOR.SapforTask.SapforTask;
|
||||
import TestingSystem.SAPFOR.ServerSapfor.ServerSapfor;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
@@ -155,21 +157,26 @@ public class SapforPackage extends TestingPackage<SapforPackage_json> {
|
||||
testingSet.tests.add(test_json);
|
||||
}
|
||||
for (SapforConfiguration configuration : configurations) {
|
||||
SapforConfigurationCache cache = (SapforConfigurationCache) VisualCaches.GetCache(configuration);
|
||||
Vector<SapforSettings> settingsVector=cache.getSettings();
|
||||
//--
|
||||
SapforConfiguration_json configuration_json = new SapforConfiguration_json();
|
||||
configuration_json.id = configuration.id;
|
||||
configuration_json.name = configuration.description;
|
||||
configuration_json.flags = configuration.getFlags();
|
||||
Vector<PassCode_2021> codes = configuration.getPassCodes();
|
||||
for (SapforSettings sapforSettings: settingsVector) {
|
||||
//--
|
||||
SapforConfiguration_json settings_json = new SapforConfiguration_json();
|
||||
settings_json.id = sapforSettings.id;
|
||||
settings_json.name = sapforSettings.description;
|
||||
settings_json.flags = sapforSettings.flags;
|
||||
Vector<PassCode_2021> codes = sapforSettings.getCodes();
|
||||
//--- коррекцию кода нельзя вызвать если инклуды есть. в общем случае.
|
||||
if (!codes.firstElement().equals(PassCode_2021.SPF_InsertIncludesPass))
|
||||
configuration_json.codes.add(PassCode_2021.SPF_CorrectCodeStylePass); //всегда добавляется.
|
||||
settings_json.codes.add(PassCode_2021.SPF_CorrectCodeStylePass); //всегда добавляется.
|
||||
//--
|
||||
configuration_json.codes.addAll(codes);
|
||||
settings_json.codes.addAll(codes);
|
||||
//--->>
|
||||
testingSet.configurations.add(configuration_json);
|
||||
testingSet.configurations.add(settings_json);
|
||||
//-->>
|
||||
}
|
||||
}
|
||||
new_tasks = getActualTestingSetTasks(testingSet);
|
||||
saveConfigurationsAsJson(configurations);
|
||||
package_json.testingSets.add(testingSet);
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
package TestingSystem.SAPFOR.SapforSettings;
|
||||
import Common.Database.DBObject;
|
||||
import Common.Global;
|
||||
import Common.Utils.TextLog;
|
||||
import Common.Utils.Utils;
|
||||
import TestingSystem.Common.Settings.Settings;
|
||||
import TestingSystem.SAPFOR.SapforSettingsCommand.SapforSettingsCommand;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
|
||||
import java.util.Vector;
|
||||
public class SapforSettings extends Settings {
|
||||
@@ -25,7 +30,7 @@ public class SapforSettings extends Settings {
|
||||
if (KEEP_SPF_DIRECTIVES > 0)
|
||||
res.add("-keepSPF");
|
||||
//--
|
||||
flags= String.join(" ", res);
|
||||
flags = String.join(" ", res);
|
||||
}
|
||||
//--
|
||||
@Override
|
||||
@@ -41,5 +46,52 @@ public class SapforSettings extends Settings {
|
||||
public SapforSettings(SapforSettings sapforSettings) {
|
||||
this.SynchronizeFields(sapforSettings);
|
||||
}
|
||||
public SapforSettings(){}
|
||||
public SapforSettings() {
|
||||
}
|
||||
public Vector<PassCode_2021> getCodes() {
|
||||
Vector<PassCode_2021> res = new Vector<>();
|
||||
for (SapforSettingsCommand command : Global.testingServer.db.sapforSettingsCommands.Data.values())
|
||||
if (command.sapforsettings_id == id) res.add(command.passCode);
|
||||
return res;
|
||||
}
|
||||
@Override
|
||||
public boolean validate(TextLog Log) {
|
||||
boolean res = true;
|
||||
Vector<PassCode_2021> codes = getCodes();
|
||||
if (codes.size() == 0) {
|
||||
Log.Writeln_("Настройки:" + id + " не содержат ни одного прохода.");
|
||||
return false;
|
||||
}
|
||||
//-
|
||||
int first = 0;
|
||||
int last = codes.size() - 1;
|
||||
Vector<PassCode_2021> matches = new Vector<>();
|
||||
for (int i = 0; i < codes.size(); ++i) {
|
||||
PassCode_2021 code = codes.get(i);
|
||||
if (code.isSapforStart()) {
|
||||
if (i > first) {
|
||||
Log.Writeln_("Неверные настройки:" + id + ": проход" +
|
||||
Utils.Brackets(code.getDescription()) +
|
||||
" может быть только первым!");
|
||||
res=false;
|
||||
}
|
||||
}
|
||||
if (code.isSapforTerminal()) {
|
||||
if (i < last) {
|
||||
Log.Writeln_("Неверные настройки:" + id + ": проход " +
|
||||
Utils.Brackets(code.getDescription()) +
|
||||
" может быть только последним!");
|
||||
res= false;
|
||||
}
|
||||
}
|
||||
if (matches.contains(code)) {
|
||||
Log.Writeln_("Неверные настройки:" + id + ": проход " +
|
||||
Utils.Brackets(code.getDescription()) +
|
||||
" запрещено применять более одного раза!");
|
||||
res=false;
|
||||
} else matches.add(code);
|
||||
}
|
||||
//-
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import Common.UI.Menus_2023.DataMenuBar;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
public class SapforSettingsBar extends DataMenuBar {
|
||||
public SapforSettingsBar() {
|
||||
super("настройки",
|
||||
super("параметры тестирования",
|
||||
PassCode_2021.PublishSapforSettings,
|
||||
PassCode_2021.EditSapforSettings,
|
||||
PassCode_2021.DeleteSapforSettings
|
||||
|
||||
@@ -18,11 +18,11 @@ public class SapforSettingsDBTable extends iDBTable<SapforSettings> {
|
||||
}
|
||||
@Override
|
||||
public String getSingleDescription() {
|
||||
return "настройки системы SAPFOR";
|
||||
return "параметры тестирования системы SAPFOR";
|
||||
}
|
||||
@Override
|
||||
public String getPluralDescription() {
|
||||
return "настройки системы SAPFOR";
|
||||
return "параметры тестирования системы SAPFOR";
|
||||
}
|
||||
@Override
|
||||
protected DataSetControlForm createUI() {
|
||||
|
||||
@@ -3,7 +3,6 @@ import Common.Constants;
|
||||
import Common.Current;
|
||||
import Common.Database.DBObject;
|
||||
import Common.Database.riDBObject;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommand;
|
||||
import TestingSystem.SAPFOR.SapforSettings.SapforSettings;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import com.sun.org.glassfish.gmbal.Description;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package TestingSystem.SAPFOR.SapforSettings;
|
||||
package TestingSystem.SAPFOR.SapforSettingsCommand;
|
||||
import Common.UI.Menus_2023.DataMenuBar;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
public class SapforSettingsCommandsBar extends DataMenuBar {
|
||||
@@ -4,8 +4,6 @@ import Common.Database.iDBTable;
|
||||
import Common.UI.DataSetControlForm;
|
||||
import Common.UI.UI;
|
||||
import Common.UI.Windows.Dialog.DBObjectDialog;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommand;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.UI.SapforConfigurationCommandFields;
|
||||
import TestingSystem.SAPFOR.SapforSettings.SapforSettings;
|
||||
import TestingSystem.SAPFOR.SapforSettings.UI.SapforSettingsCommandFields;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
|
||||
@@ -168,7 +168,7 @@ public class SapforTask extends DBObject {
|
||||
@Override
|
||||
public String toString() {
|
||||
return
|
||||
"#" + id + " группа " + Utils.Brackets(group_description) + " тест " + Utils.Brackets(test_description) + " конфигурация " + Utils.Brackets(sapfor_configuration_id);
|
||||
"#" + id + " группа " + Utils.Brackets(group_description) + " тест " + Utils.Brackets(test_description) + " параметры " + Utils.Brackets(sapfor_configuration_id);
|
||||
// getUniqueKey();
|
||||
}
|
||||
public String getPassesInfo() {
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Global;
|
||||
import TestingSystem.Common.TestingServer;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommand;
|
||||
import Visual_DVM_2021.Passes.Server.DeleteServerObjects;
|
||||
public class DeleteSapforConfigurationCommand extends DeleteServerObjects<TestingServer, SapforConfigurationCommand> {
|
||||
public DeleteSapforConfigurationCommand() {
|
||||
super(Global.testingServer, SapforConfigurationCommand.class);
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Global;
|
||||
import TestingSystem.Common.TestingServer;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommand;
|
||||
import Visual_DVM_2021.Passes.Server.EditServerObject;
|
||||
public class EditSapforConfigurationCommand extends EditServerObject<TestingServer,SapforConfigurationCommand> {
|
||||
public EditSapforConfigurationCommand() {
|
||||
super(Global.testingServer,SapforConfigurationCommand.class);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Global;
|
||||
import TestingSystem.Common.TestingServer;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommand;
|
||||
import TestingSystem.SAPFOR.SapforSettingsCommand.SapforSettingsCommand;
|
||||
import Visual_DVM_2021.Passes.Server.EditServerObject;
|
||||
public class EditSapforSettingsCommand extends EditServerObject<TestingServer, SapforSettingsCommand> {
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import Common.Global;
|
||||
import TestingSystem.Common.TestingServer;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommand;
|
||||
import Visual_DVM_2021.Passes.Server.PublishServerObject;
|
||||
public class PublishSapforConfigurationCommand extends PublishServerObject<TestingServer, SapforConfigurationCommand> {
|
||||
public PublishSapforConfigurationCommand() {
|
||||
super(Global.testingServer, SapforConfigurationCommand.class);
|
||||
}
|
||||
@Override
|
||||
public boolean fillObjectFields() throws Exception {
|
||||
target.sapforconfiguration_id = Current.getSapforConfiguration().id;
|
||||
return super.fillObjectFields();
|
||||
}
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
return Current.Check(Log, Current.SapforConfiguration)&&super.canStart(args);
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,6 @@ package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import Common.Global;
|
||||
import TestingSystem.Common.TestingServer;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommand;
|
||||
import TestingSystem.SAPFOR.SapforSettingsCommand.SapforSettingsCommand;
|
||||
import Visual_DVM_2021.Passes.Server.PublishServerObject;
|
||||
public class PublishSapforSettingsCommand extends PublishServerObject<TestingServer, SapforSettingsCommand> {
|
||||
|
||||
@@ -1,17 +1,11 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import Common.Global;
|
||||
import TestingSystem.Common.Group.Group;
|
||||
import TestingSystem.Common.Test.Test;
|
||||
import TestingSystem.Common.TestingServer;
|
||||
import TestingSystem.DVM.DVMConfiguration.DVMConfiguration;
|
||||
import TestingSystem.DVM.DVMSettings.DVMSettings;
|
||||
import Visual_DVM_2021.Passes.SaveCurrentConfiguration;
|
||||
import Visual_DVM_2021.Passes.Server.EditServerObject;
|
||||
|
||||
import java.util.Vector;
|
||||
public class SaveCurrentDVMConfiguration extends SaveCurrentConfiguration<DVMConfiguration> {
|
||||
public class SaveCurrentDVMConfiguration extends SaveCurrentConfiguration<DVMConfiguration, DVMSettings> {
|
||||
public SaveCurrentDVMConfiguration() {
|
||||
super(DVMConfiguration.class);
|
||||
super(DVMConfiguration.class, DVMSettings.class);
|
||||
}
|
||||
@Override
|
||||
public Current currentName() {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import TestingSystem.DVM.DVMConfiguration.DVMConfiguration;
|
||||
import TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
|
||||
import TestingSystem.SAPFOR.SapforSettings.SapforSettings;
|
||||
import Visual_DVM_2021.Passes.SaveCurrentConfiguration;
|
||||
public class SaveCurrentSAPFORConfiguration extends SaveCurrentConfiguration<SapforConfiguration> {
|
||||
public class SaveCurrentSAPFORConfiguration extends SaveCurrentConfiguration<SapforConfiguration, SapforSettings> {
|
||||
public SaveCurrentSAPFORConfiguration() {
|
||||
super(SapforConfiguration.class);
|
||||
super(SapforConfiguration.class, SapforSettings.class);
|
||||
}
|
||||
@Override
|
||||
public Current currentName() {
|
||||
|
||||
@@ -1,9 +1,30 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import Common.Global;
|
||||
import Common.UI.VisualCache.ConfigurationCache;
|
||||
import Common.UI.VisualCache.SapforConfigurationCache;
|
||||
import Common.UI.VisualCache.VisualCaches;
|
||||
import TestingSystem.Common.Settings.Settings;
|
||||
import TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
|
||||
import TestingSystem.SAPFOR.SapforSettings.SapforSettings;
|
||||
import Visual_DVM_2021.Passes.ShowCurrentConfigurationTests;
|
||||
public class ShowCurrentSAPFORConfigurationTests extends ShowCurrentConfigurationTests {
|
||||
|
||||
import java.util.Vector;
|
||||
public class ShowCurrentSAPFORConfigurationTests extends ShowCurrentConfigurationTests<SapforConfiguration> {
|
||||
@Override
|
||||
public Current currentName() {
|
||||
return Current.SapforConfiguration;
|
||||
}
|
||||
@Override
|
||||
protected void showDone() throws Exception {
|
||||
super.showDone();
|
||||
SapforConfigurationCache cache = (SapforConfigurationCache) VisualCaches.GetCache(target);
|
||||
Vector<SapforSettings> settings = cache.getSettings();
|
||||
for (SapforSettings s: settings)
|
||||
s.Select(true);
|
||||
//--
|
||||
if (!settings.isEmpty()){
|
||||
Global.testingServer.db.sapforSettings.ShowUI(settings.lastElement().id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -274,10 +274,6 @@ public enum PassCode_2021 {
|
||||
EditSapforConfiguration,
|
||||
DeleteSapforConfiguration,
|
||||
//-
|
||||
PublishSapforConfigurationCommand,
|
||||
EditSapforConfigurationCommand,
|
||||
DeleteSapforConfigurationCommand,
|
||||
//->
|
||||
OpenSapforEtalonVersion,
|
||||
OpenSapforVersion,
|
||||
PublishServerSapfor,
|
||||
@@ -538,12 +534,6 @@ public enum PassCode_2021 {
|
||||
return "Установить тип для отмеченных файлов";
|
||||
case DeleteDownloadedBugReports:
|
||||
return "Удалить загруженные отчёты об ошибках";
|
||||
case DeleteSapforConfigurationCommand:
|
||||
return "Удалить команду конфигурации тестирования Sapfor";
|
||||
case EditSapforConfigurationCommand:
|
||||
return "Редактировать команду конфигурации тестирования Sapfor";
|
||||
case PublishSapforConfigurationCommand:
|
||||
return "Опубликовать команду конфигурации тестирования Sapfor";
|
||||
case PublishSapforConfiguration:
|
||||
return "Опубликовать конфигурацию тестирования SAPFOR";
|
||||
case EditSapforConfiguration:
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
package Visual_DVM_2021.Passes;
|
||||
import Common.Current;
|
||||
import Common.Global;
|
||||
import Common.UI.UI;
|
||||
import Common.UI.VisualCache.ConfigurationCache;
|
||||
import Common.UI.VisualCache.VisualCaches;
|
||||
import Common.Utils.Utils;
|
||||
import TestingSystem.Common.Configuration.Configuration;
|
||||
import TestingSystem.Common.Group.Group;
|
||||
import TestingSystem.Common.Settings.Settings;
|
||||
import TestingSystem.Common.Test.Test;
|
||||
import TestingSystem.Common.TestingServer;
|
||||
import Visual_DVM_2021.Passes.Server.EditServerObject;
|
||||
|
||||
import java.util.Vector;
|
||||
public abstract class SaveCurrentConfiguration<C extends Configuration> extends EditServerObject<TestingServer, C> {
|
||||
public abstract class SaveCurrentConfiguration<C extends Configuration, S extends Settings> extends EditServerObject<TestingServer, C> {
|
||||
Vector<Group> groups;
|
||||
Vector<Test> tests;
|
||||
Class<S> s;
|
||||
Vector<Settings> settings;
|
||||
//--
|
||||
public SaveCurrentConfiguration(Class<C> d_in) {
|
||||
public SaveCurrentConfiguration(Class<C> d_in, Class<S> s_in) {
|
||||
super(Global.testingServer, d_in);
|
||||
s =s_in;
|
||||
}
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
@@ -31,12 +31,16 @@ public abstract class SaveCurrentConfiguration<C extends Configuration> extends
|
||||
//--
|
||||
groups = new Vector<>();
|
||||
tests = new Vector<>();
|
||||
settings= new Vector<>();
|
||||
//---
|
||||
for (Group group : Global.testingServer.db.groups.getCheckedItems()) {
|
||||
groups.add(group);
|
||||
Vector<Test> groupTests = Global.testingServer.db.tests.getSelectedGroupTests(group);
|
||||
tests.addAll(groupTests);
|
||||
}
|
||||
for (Object setting: Global.testingServer.db.tables.get(s).getCheckedItems()){
|
||||
settings.add((Settings) setting);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
@@ -44,6 +48,7 @@ public abstract class SaveCurrentConfiguration<C extends Configuration> extends
|
||||
//занесение информации об участвующих группах конфигурациях и тестах
|
||||
target.saveGroupsAsJson(groups);
|
||||
target.saveTestsAsJson(tests);
|
||||
target.saveSettingsAsJson(settings);
|
||||
//--
|
||||
super.ServerAction();
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import TestingSystem.Common.Group.Group;
|
||||
import TestingSystem.Common.Test.Test;
|
||||
|
||||
import java.util.Vector;
|
||||
public abstract class ShowCurrentConfigurationTests extends Pass_2021<Configuration> {
|
||||
public abstract class ShowCurrentConfigurationTests<C extends Configuration> extends Pass_2021<C> {
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
return "/icons/ShowPassword.png";
|
||||
@@ -22,7 +22,7 @@ public abstract class ShowCurrentConfigurationTests extends Pass_2021<Configurat
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
target = null;
|
||||
if (Current.Check(Log, currentName())) {
|
||||
target = (Configuration) Current.get(currentName());
|
||||
target = (C) Current.get(currentName());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -396,32 +396,12 @@
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
<children>
|
||||
<splitpane id="c70f1" binding="SC81">
|
||||
<grid id="6109f" binding="sapforConfigurationsPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
|
||||
<constraints border-constraint="Center"/>
|
||||
<properties>
|
||||
<dividerLocation value="500"/>
|
||||
<dividerSize value="3"/>
|
||||
</properties>
|
||||
<border type="none"/>
|
||||
<children>
|
||||
<grid id="2f93b" binding="sapforConfigurationsPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
|
||||
<constraints>
|
||||
<splitpane position="left"/>
|
||||
</constraints>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
<children/>
|
||||
</grid>
|
||||
<grid id="3f00d" binding="sapforConfigurationCommandsPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
|
||||
<constraints>
|
||||
<splitpane position="right"/>
|
||||
</constraints>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
<children/>
|
||||
</grid>
|
||||
</children>
|
||||
</splitpane>
|
||||
</children>
|
||||
</grid>
|
||||
<grid id="1ee44" layout-manager="BorderLayout" hgap="0" vgap="0">
|
||||
|
||||
@@ -35,7 +35,6 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
|
||||
public JSplitPane SC18;
|
||||
public JSplitPane SC19;
|
||||
public JSplitPane SC80;
|
||||
public JSplitPane SC81;
|
||||
public JSplitPane SC83;
|
||||
//---
|
||||
private JTabbedPane testingTabs;
|
||||
@@ -54,7 +53,6 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
|
||||
private JPanel sapforConfigurationsPanel;
|
||||
private JLabel sapforConfigurationsLabel;
|
||||
private JLabel sapforConfigurationsCommandsLabel;
|
||||
private JPanel sapforConfigurationCommandsPanel;
|
||||
private JPanel sapforScenariosPanel;
|
||||
private JPanel serverSapforsPanel;
|
||||
private JPanel sapforPackagesPanel;
|
||||
@@ -134,7 +132,6 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
|
||||
Global.testingServer.db.dvmPackages.mountUI(dvmPackagesPanel);
|
||||
Global.testingServer.db.dvmRunTasks.mountUI(dvmRunTasksPanel);
|
||||
Global.testingServer.db.sapforConfigurations.mountUI(sapforConfigurationsPanel);
|
||||
Global.testingServer.db.sapforConfigurationCommands.mountUI(sapforConfigurationCommandsPanel);
|
||||
Global.testingServer.db.serverSapfors.mountUI(serverSapforsPanel);
|
||||
Global.testingServer.db.sapforPackages.mountUI(sapforPackagesPanel);
|
||||
Global.testingServer.db.sapforSettings.mountUI(sapforSettingsPanel);
|
||||
|
||||
@@ -6,6 +6,13 @@
|
||||
</constraints>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
<children>
|
||||
<grid id="a1635" binding="sapforConfigurationsPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
|
||||
<constraints border-constraint="Center"/>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
<children/>
|
||||
</grid>
|
||||
</children>
|
||||
</grid>
|
||||
</form>
|
||||
|
||||
@@ -2,5 +2,6 @@ package Visual_DVM_2021.UI.Main;
|
||||
import javax.swing.*;
|
||||
public class buffer_ {
|
||||
private JPanel panel1;
|
||||
private JPanel sapforConfigurationsPanel;
|
||||
//Скачать пакет задач
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user