diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index f1295c73..60a56686 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -10,6 +10,7 @@
+
diff --git a/src/TestingSystem/SAPFOR/Json/SapforPackage_json.java b/src/TestingSystem/SAPFOR/Json/SapforPackage_json.java
index 4b4d03d2..2df7c09c 100644
--- a/src/TestingSystem/SAPFOR/Json/SapforPackage_json.java
+++ b/src/TestingSystem/SAPFOR/Json/SapforPackage_json.java
@@ -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 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 tasks = new Vector<>();
@@ -46,19 +56,10 @@ public class SapforPackage_json implements Serializable {
//-
public PackageSummary root = null;
public PackageComparisonSummary comparison_root = null;
- //--
- // public LinkedHashMap allTasks = new LinkedHashMap<>(); //задачи по ключам (?)
- // public LinkedHashMap> sortedTasks = new LinkedHashMap<>();
- // public LinkedHashMap>>> sortedTasks = new LinkedHashMap<>();
- //-- задачи, отсортированные для сравнения.
- // public LinkedHashMap>>>> comparisonSortedTasks = new LinkedHashMap<>();
- // public LinkedHashMap>> 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),
diff --git a/src/TestingSystem/SAPFOR/SapforTask/SapforTask.java b/src/TestingSystem/SAPFOR/SapforTask/SapforTask.java
index a990c1f0..b87d1306 100644
--- a/src/TestingSystem/SAPFOR/SapforTask/SapforTask.java
+++ b/src/TestingSystem/SAPFOR/SapforTask/SapforTask.java
@@ -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 versions1 = getSortedVersions();
- LinkedHashMap versions2 = task2.getSortedVersions();
+ }
+ LinkedHashMap versions1 = getSortedVersions();
+ LinkedHashMap 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() {
diff --git a/src/Visual_DVM_2021/Passes/All/AddTasksToSapforPackage.java b/src/Visual_DVM_2021/Passes/All/AddTasksToSapforPackage.java
index 610d4e9f..a805db58 100644
--- a/src/Visual_DVM_2021/Passes/All/AddTasksToSapforPackage.java
+++ b/src/Visual_DVM_2021/Passes/All/AddTasksToSapforPackage.java
@@ -79,6 +79,10 @@ public class AddTasksToSapforPackage extends Pass_2021 {
//--
//--
public boolean checkConfigurationCommands(SapforConfiguration sapforConfiguration) {
+ if (target.package_json.hasConfiguration(sapforConfiguration.id)){
+ Log.Writeln_("Конфигурация "+sapforConfiguration.id+" уже присутствует в пакете. Повторение конфигураций запрещено!");
+ return false;
+ }
//1. получить список всех команд.
Vector codes = new Vector<>();
//-- счетчик завершающих команд.
diff --git a/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java b/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java
index 16eac82e..842b050b 100644
--- a/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java
+++ b/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java
@@ -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.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.checkMatch(task2);
+ 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);