Запрет повторяющейся конфигурации при формировании пакета 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$/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/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" />
</list>
<option name="SHOW_DIALOG" value="false" />

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,25 +145,29 @@ 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();
//---
@@ -194,6 +199,10 @@ public class SapforTask extends DBObject {
}
comparisonState = MatchState.Match;
task2.comparisonState = MatchState.Match;
if (this.id==161){
UI.Info("!");
System.out.println(comparisonState+"/"+task2.comparisonState);
UI.Info("!!");
}
}
public Date getStartDate() {

View File

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

View File

@@ -5,6 +5,7 @@ import Common.UI.Menus_2023.VisualiserMenuBar;
import Common.UI.UI;
import Common.Utils.TextLog;
import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
import TestingSystem.SAPFOR.SapforTask.MatchState;
import TestingSystem.SAPFOR.SapforTask.SapforTask;
import TestingSystem.SAPFOR.SapforTasksPackage.UI.SapforTasksPackageTree;
import Visual_DVM_2021.Passes.PassCode_2021;
@@ -230,15 +231,48 @@ public class SapforPackagesComparisonForm {
protected void body() throws Exception {
System.out.println(package1.package_json.tasks.size());
System.out.println(package2.package_json.tasks.size());
//------------------------
for (SapforTask task1: package1.package_json.tasks){
}
//теперь сравниваем задачи
int i = 1;
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());
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;
//---
}
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);
package2.package_json.buildComparisonTree(package2);