Запрет повторяющейся конфигурации при формировании пакета 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

View File

@@ -1,4 +1,5 @@
package TestingSystem.SAPFOR.Json;
import Common.UI.UI;
import GlobalData.Tasks.TaskState;
import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
import TestingSystem.SAPFOR.SapforTask.MatchState;
@@ -26,6 +27,15 @@ public class SapforPackage_json implements Serializable {
//--
@Expose
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
public List<SapforTask> tasks = new Vector<>();
@@ -46,19 +56,10 @@ public class SapforPackage_json implements Serializable {
//-
public PackageSummary 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() {
// UI.Info("DROP COMPARISON");
comparison_root = null;
// comparisonSortedTasks.clear();
UI.Info("DROP COMPARISON");
for (SapforTask task : tasks)
task.comparisonState = MatchState.Unknown;
}
@@ -89,7 +90,7 @@ public class SapforPackage_json implements Serializable {
comparison_root.mismatches_count = 0;
//--
for (SapforTask task : tasks) {
System.out.println(task.getUniqueKey()+":"+task.comparisonState);
// System.out.println(task.getUniqueKey()+":"+task.comparisonState);
DefaultMutableTreeNode taskNode = task.getNode(Paths.get(
package_in.getLocalWorkspace().getAbsolutePath(),
String.valueOf(task.set_id),

View File

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