Запрет повторяющейся конфигурации при формировании пакета SAPFOR

This commit is contained in:
2024-02-25 19:35:14 +03:00
parent 00af17e823
commit 1c57e1821f
5 changed files with 96 additions and 47 deletions

1
.idea/workspace.xml generated
View File

@@ -10,6 +10,7 @@
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" 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/SapforPackage_json.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/Json/SapforPackage_json.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/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/AddTasksToSapforPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddTasksToSapforPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />

View File

@@ -1,4 +1,5 @@
package TestingSystem.SAPFOR.Json; package TestingSystem.SAPFOR.Json;
import Common.UI.UI;
import GlobalData.Tasks.TaskState; import GlobalData.Tasks.TaskState;
import TestingSystem.SAPFOR.SapforPackage.SapforPackage; import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
import TestingSystem.SAPFOR.SapforTask.MatchState; import TestingSystem.SAPFOR.SapforTask.MatchState;
@@ -26,6 +27,15 @@ public class SapforPackage_json implements Serializable {
//-- //--
@Expose @Expose
public List<SapforTestingSet_json> testingSets = new Vector<>(); //сет = конфигурации + тесты. public List<SapforTestingSet_json> testingSets = new Vector<>(); //сет = конфигурации + тесты.
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;
}
//-- //--
@Expose @Expose
public List<SapforTask> tasks = new Vector<>(); public List<SapforTask> tasks = new Vector<>();
@@ -46,19 +56,10 @@ public class SapforPackage_json implements Serializable {
//- //-
public PackageSummary root = null; public PackageSummary root = null;
public PackageComparisonSummary comparison_root = null; public PackageComparisonSummary comparison_root = null;
//--
// public LinkedHashMap<String, SapforTask> allTasks = new LinkedHashMap<>(); //задачи по ключам (?)
// public LinkedHashMap<TaskState, Vector<SapforTask>> sortedTasks = new LinkedHashMap<>();
// public LinkedHashMap<TaskState, LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>>> sortedTasks = new LinkedHashMap<>();
//-- задачи, отсортированные для сравнения.
// public LinkedHashMap<MatchState, LinkedHashMap<TaskState, LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>>>> comparisonSortedTasks = new LinkedHashMap<>();
// public LinkedHashMap<MatchState, LinkedHashMap<TaskState, Vector<SapforTask>>> comparisonSortedTasks = new LinkedHashMap<>();
//----
//--------- //---------
public void DropComparison() { public void DropComparison() {
// UI.Info("DROP COMPARISON");
comparison_root = null; comparison_root = null;
// comparisonSortedTasks.clear(); UI.Info("DROP COMPARISON");
for (SapforTask task : tasks) for (SapforTask task : tasks)
task.comparisonState = MatchState.Unknown; task.comparisonState = MatchState.Unknown;
} }
@@ -89,7 +90,7 @@ public class SapforPackage_json implements Serializable {
comparison_root.mismatches_count = 0; comparison_root.mismatches_count = 0;
//-- //--
for (SapforTask task : tasks) { for (SapforTask task : tasks) {
System.out.println(task.getUniqueKey()+":"+task.comparisonState); // System.out.println(task.getUniqueKey()+":"+task.comparisonState);
DefaultMutableTreeNode taskNode = task.getNode(Paths.get( DefaultMutableTreeNode taskNode = task.getNode(Paths.get(
package_in.getLocalWorkspace().getAbsolutePath(), package_in.getLocalWorkspace().getAbsolutePath(),
String.valueOf(task.set_id), String.valueOf(task.set_id),

View File

@@ -1,6 +1,7 @@
package TestingSystem.SAPFOR.SapforTask; package TestingSystem.SAPFOR.SapforTask;
import Common.Constants; import Common.Constants;
import Common.Database.DBObject; import Common.Database.DBObject;
import Common.UI.UI;
import Common.Utils.Utils; import Common.Utils.Utils;
import GlobalData.Tasks.TaskState; import GlobalData.Tasks.TaskState;
import TestingSystem.SAPFOR.Json.SapforVersion_json; import TestingSystem.SAPFOR.Json.SapforVersion_json;
@@ -144,25 +145,29 @@ public class SapforTask extends DBObject {
for (SapforVersion_json version_json : versions) for (SapforVersion_json version_json : versions)
res.put(version_json.version, version_json); res.put(version_json.version, version_json);
//-- //--
for (SapforVersion_json version_json : variants) for (SapforVersion_json variant_json : variants)
res.put(version_json.version, version_json); res.put(variant_json.version, variant_json);
return res; return res;
} }
public void checkMatch(SapforTask task2) { public void checkMatch(SapforTask task2) {
//todo Для каждого случая подобрать иконку (?) //todo Для каждого случая подобрать иконку (?)
if (!state.equals(task2.state)) { if (!state.equals(task2.state)) {
System.out.println("Не совпадение состояний задачи " + getUniqueKey()); System.out.println("Не совпадение состояний задачи " + getUniqueKey());
//-- //--
comparisonState = MatchState.NotMatch; comparisonState = MatchState.NotMatch;
task2.comparisonState = MatchState.NotMatch; task2.comparisonState = MatchState.NotMatch;
return;
//-- //--
} else if ((versions.size() != task2.versions.size())|| (variants.size() != task2.variants.size())) { }
if ((versions.size() != task2.versions.size()) || (variants.size() != task2.variants.size())) {
System.out.println("Не совпадение количества версий в задаче " + getUniqueKey()); System.out.println("Не совпадение количества версий в задаче " + getUniqueKey());
//-- //--
comparisonState = MatchState.NotMatch; comparisonState = MatchState.NotMatch;
task2.comparisonState = MatchState.NotMatch; task2.comparisonState = MatchState.NotMatch;
return;
//-- //--
} else { }
LinkedHashMap<String, SapforVersion_json> versions1 = getSortedVersions(); LinkedHashMap<String, SapforVersion_json> versions1 = getSortedVersions();
LinkedHashMap<String, SapforVersion_json> versions2 = task2.getSortedVersions(); LinkedHashMap<String, SapforVersion_json> versions2 = task2.getSortedVersions();
//--- //---
@@ -194,6 +199,10 @@ public class SapforTask extends DBObject {
} }
comparisonState = MatchState.Match; comparisonState = MatchState.Match;
task2.comparisonState = MatchState.Match; task2.comparisonState = MatchState.Match;
if (this.id==161){
UI.Info("!");
System.out.println(comparisonState+"/"+task2.comparisonState);
UI.Info("!!");
} }
} }
public Date getStartDate() { public Date getStartDate() {
@@ -205,7 +214,7 @@ public class SapforTask extends DBObject {
@Override @Override
public String toString() { public String toString() {
return 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(); // getUniqueKey();
} }
public String getPassesInfo() { public String getPassesInfo() {

View File

@@ -79,6 +79,10 @@ public class AddTasksToSapforPackage extends Pass_2021<SapforPackage> {
//-- //--
//-- //--
public boolean checkConfigurationCommands(SapforConfiguration sapforConfiguration) { public boolean checkConfigurationCommands(SapforConfiguration sapforConfiguration) {
if (target.package_json.hasConfiguration(sapforConfiguration.id)){
Log.Writeln_("Конфигурация "+sapforConfiguration.id+" уже присутствует в пакете. Повторение конфигураций запрещено!");
return false;
}
//1. получить список всех команд. //1. получить список всех команд.
Vector<PassCode_2021> codes = new Vector<>(); Vector<PassCode_2021> codes = new Vector<>();
//-- счетчик завершающих команд. //-- счетчик завершающих команд.

View File

@@ -5,6 +5,7 @@ import Common.UI.Menus_2023.VisualiserMenuBar;
import Common.UI.UI; import Common.UI.UI;
import Common.Utils.TextLog; import Common.Utils.TextLog;
import TestingSystem.SAPFOR.SapforPackage.SapforPackage; import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
import TestingSystem.SAPFOR.SapforTask.MatchState;
import TestingSystem.SAPFOR.SapforTask.SapforTask; import TestingSystem.SAPFOR.SapforTask.SapforTask;
import TestingSystem.SAPFOR.SapforTasksPackage.UI.SapforTasksPackageTree; import TestingSystem.SAPFOR.SapforTasksPackage.UI.SapforTasksPackageTree;
import Visual_DVM_2021.Passes.PassCode_2021; import Visual_DVM_2021.Passes.PassCode_2021;
@@ -230,15 +231,48 @@ public class SapforPackagesComparisonForm {
protected void body() throws Exception { protected void body() throws Exception {
System.out.println(package1.package_json.tasks.size()); System.out.println(package1.package_json.tasks.size());
System.out.println(package2.package_json.tasks.size()); System.out.println(package2.package_json.tasks.size());
//------------------------
for (SapforTask task1: package1.package_json.tasks){
}
//теперь сравниваем задачи //теперь сравниваем задачи
int i = 1; int i = 1;
for (SapforTask task1 : package1.package_json.tasks) { for (SapforTask task1 : package1.package_json.tasks) {
System.out.println(i + "=" + task1.getUniqueKey()); if (task1.id==161){
UI.Info("161");
SapforTask task2 = package2.package_json.getTaskByKey(task1.getUniqueKey()); SapforTask task2 = package2.package_json.getTaskByKey(task1.getUniqueKey());
task1.checkMatch(task2); task1.comparisonState=MatchState.Match;
task2.comparisonState=MatchState.Match;
UI.Info(String.valueOf(task2.id));
}
// System.out.println(i + "=" + task1.getUniqueKey());
SapforTask task2 = package2.package_json.getTaskByKey(task1.getUniqueKey());
task1.comparisonState=MatchState.Match;
task2.comparisonState=MatchState.Match;
// task1.checkMatch(task2);
//-- //--
++i; ++i;
//---
} }
System.out.println("i="+i);
//--
int unknown_1 = 0;
for (SapforTask task: package1.package_json.tasks){
if (task.comparisonState.equals(MatchState.Unknown))
unknown_1++;
}
System.out.println("UNknown1="+unknown_1);
//--
int unknown_2 = 0;
for (SapforTask task: package2.package_json.tasks){
if (task.comparisonState.equals(MatchState.Unknown))
unknown_2++;
}
System.out.println("UNknown2="+unknown_2); //??!!
//-- //--
package1.package_json.buildComparisonTree(package1); package1.package_json.buildComparisonTree(package1);
package2.package_json.buildComparisonTree(package2); package2.package_json.buildComparisonTree(package2);