рефакторинг конфигураций тестирования сапфор. кнфигурация сделана как пара - набор тестов+ наборы настроек. наборы настроек стали отдельным объектом

This commit is contained in:
2024-09-28 21:47:17 +03:00
parent 4547fd10bd
commit b89283fc91
50 changed files with 338 additions and 590 deletions

View File

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

View File

@@ -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() {
}

View File

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

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

View File

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

View File

@@ -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,17 +93,7 @@ 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) {
} else if (object instanceof DVMPackage) {
DVMPackage dvmPackage = (DVMPackage) object;
File workspace = dvmPackage.getLocalWorkspace();
Utils.forceDeleteWithCheck(workspace);

View File

@@ -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());