diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index a2940487..f1295c73 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -10,7 +10,6 @@
-
diff --git a/src/TestingSystem/SAPFOR/Json/SapforPackage_json.java b/src/TestingSystem/SAPFOR/Json/SapforPackage_json.java
index 44c7ca71..4b4d03d2 100644
--- a/src/TestingSystem/SAPFOR/Json/SapforPackage_json.java
+++ b/src/TestingSystem/SAPFOR/Json/SapforPackage_json.java
@@ -10,7 +10,6 @@ import com.google.gson.annotations.Expose;
import javax.swing.tree.DefaultMutableTreeNode;
import java.io.Serializable;
import java.nio.file.Paths;
-import java.util.Comparator;
import java.util.List;
import java.util.Vector;
public class SapforPackage_json implements Serializable {
@@ -30,55 +29,49 @@ public class SapforPackage_json implements Serializable {
//--
@Expose
public List tasks = new Vector<>();
+ public boolean containsKey(String key) {
+ for (SapforTask task : tasks) {
+ if (task.getUniqueKey().equals(key))
+ return true;
+ }
+ return false;
+ }
+ public SapforTask getTaskByKey(String key) {
+ for (SapforTask task : tasks) {
+ if (task.getUniqueKey().equals(key))
+ return task;
+ }
+ return null;
+ }
//-
public PackageSummary root = null;
public PackageComparisonSummary comparison_root = null;
//--
- // public LinkedHashMap allTasks = new LinkedHashMap<>(); //задачи по ключам (?)
- // public LinkedHashMap> sortedTasks = new LinkedHashMap<>();
+ // 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 LinkedHashMap>> comparisonSortedTasks = new LinkedHashMap<>();
//----
//---------
public void DropComparison() {
// UI.Info("DROP COMPARISON");
comparison_root = null;
- // comparisonSortedTasks.clear();
- for (SapforTask task: tasks)
+ // comparisonSortedTasks.clear();
+ for (SapforTask task : tasks)
task.comparisonState = MatchState.Unknown;
}
- public void SortTasksForComparison() {
- /*
- comparisonSortedTasks.clear();
- for (MatchState matchState : MatchState.values()) {
- LinkedHashMap> match_state_tasks = new LinkedHashMap<>();
- //-
- for (TaskState state : TaskState.values()) {
- Vector stateTasks = new Vector<>();
- for (SapforTask task : tasks) {
- if (task.state.equals(state) && task.matchState.equals(matchState))
- stateTasks.add(task);
- }
- if (!stateTasks.isEmpty()) {
- match_state_tasks.put(state, stateTasks);
- }
- }
- comparisonSortedTasks.put(matchState, match_state_tasks);
- }
- */
- }
public void buildTree(SapforPackage package_in) {
- // tasks.sort(Comparator.comparing(SapforTask::getPK));
- for (SapforTask task: tasks)
+ //--
+ for (SapforTask task : tasks)
task.comparisonState = MatchState.Unknown;
//---
root = new PackageSummary();
- root.count = package_in.package_json.tasks.size();
- root.errors_count=0;
+ root.count = tasks.size();
+ root.errors_count = 0;
//--
- for (SapforTask task: tasks){
+ for (SapforTask task : tasks) {
DefaultMutableTreeNode taskNode = task.getNode(Paths.get(
package_in.getLocalWorkspace().getAbsolutePath(),
String.valueOf(task.set_id),
@@ -90,30 +83,22 @@ public class SapforPackage_json implements Serializable {
}
}
public void buildComparisonTree(SapforPackage package_in) {
- /*
+ System.out.println(package_in.id);
comparison_root = new PackageComparisonSummary();
- comparison_root.count = package_in.package_json.allTasks.size();
+ comparison_root.count = tasks.size();
+ comparison_root.mismatches_count = 0;
//--
- for (MatchState match_state : comparisonSortedTasks.keySet()) {
- int count = 0;
- LinkedHashMap> task_states = comparisonSortedTasks.get(match_state);
- //---
- for (TaskState state : task_states.keySet()) {
- Vector tasks = task_states.get(state);
- //-
- for (SapforTask task : tasks) {
- DefaultMutableTreeNode taskNode = task.getNode(Paths.get(
- package_in.getLocalWorkspace().getAbsolutePath(),
- String.valueOf(task.set_id),
- String.valueOf(task.sapfor_configuration_id)
- ).toFile());
- comparison_root.add(taskNode);
- count++;
- }
- }
- if (match_state.equals(MatchState.NotMatch))
- comparison_root.mismatches_count+=count;
+ for (SapforTask task : tasks) {
+ System.out.println(task.getUniqueKey()+":"+task.comparisonState);
+ DefaultMutableTreeNode taskNode = task.getNode(Paths.get(
+ package_in.getLocalWorkspace().getAbsolutePath(),
+ String.valueOf(task.set_id),
+ String.valueOf(task.sapfor_configuration_id)
+ ).toFile());
+ comparison_root.add(taskNode);
+ if (task.comparisonState.equals(MatchState.NotMatch))
+ comparison_root.mismatches_count++;
}
- */
+ System.out.println("====");
}
}
diff --git a/src/TestingSystem/SAPFOR/SapforTask/SapforTask.java b/src/TestingSystem/SAPFOR/SapforTask/SapforTask.java
index 2516a5a3..a990c1f0 100644
--- a/src/TestingSystem/SAPFOR/SapforTask/SapforTask.java
+++ b/src/TestingSystem/SAPFOR/SapforTask/SapforTask.java
@@ -152,12 +152,16 @@ public class SapforTask extends DBObject {
//todo Для каждого случая подобрать иконку (?)
if (!state.equals(task2.state)) {
System.out.println("Не совпадение состояний задачи " + getUniqueKey());
+ //--
comparisonState = MatchState.NotMatch;
task2.comparisonState = MatchState.NotMatch;
+ //--
} else if ((versions.size() != task2.versions.size())|| (variants.size() != task2.variants.size())) {
System.out.println("Не совпадение количества версий в задаче " + getUniqueKey());
+ //--
comparisonState = MatchState.NotMatch;
task2.comparisonState = MatchState.NotMatch;
+ //--
} else {
LinkedHashMap versions1 = getSortedVersions();
LinkedHashMap versions2 = task2.getSortedVersions();
@@ -165,8 +169,10 @@ public class SapforTask extends DBObject {
for (String name1 : versions1.keySet()) {
if (!versions2.containsKey(name1)) {
System.out.println("Не совпадение имен версий в задаче " + getUniqueKey());
+ //--
comparisonState = MatchState.NotMatch;
task2.comparisonState = MatchState.NotMatch;
+ //--
return;
}
}
@@ -178,9 +184,11 @@ public class SapforTask extends DBObject {
SapforVersion_json version2 = versions2.get(name1);
//---
if (!version1.isMatch(version2)) {
- System.out.println("Не совпадение версий в задаче " + getUniqueKey());
+ System.out.println("Не совпадение кода версий в задаче " + getUniqueKey());
+ //-
comparisonState = MatchState.NotMatch;
task2.comparisonState = MatchState.NotMatch;
+ //-
return;
}
}
diff --git a/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java b/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java
index a767d879..16eac82e 100644
--- a/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java
+++ b/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java
@@ -11,7 +11,6 @@ import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
import javax.swing.*;
-import java.util.Comparator;
public class SapforPackagesComparisonForm {
public boolean comparisonMode = false;
//-->>
@@ -121,6 +120,8 @@ public class SapforPackagesComparisonForm {
} catch (Exception ex) {
ex.printStackTrace();
}
+ }else {
+ object.package_json.DropComparison();
}
//--
showCommonTree();
@@ -197,13 +198,11 @@ public class SapforPackagesComparisonForm {
return false;
}
//--
- /*
- for (String key1 : package1.package_json.tasks) {
- if (!package2.package_json.allTasks.containsKey(key1)) {
- Log.Writeln_("Задача эталона " + key1 + "не найдена в сравниваемом пакете!");
- }
+ //todo в дереве отображать пустые задачи заместо тех кого не хватает.
+ for (SapforTask task1 : package1.package_json.tasks) {
+ if (!package2.package_json.containsKey(task1.getUniqueKey()))
+ Log.Writeln_("Задача эталона " + task1.getUniqueKey() + "не найдена в сравниваемом пакете!");
}
- */
return Log.isEmpty();
}
return false;
@@ -229,29 +228,20 @@ public class SapforPackagesComparisonForm {
}
@Override
protected void body() throws Exception {
- /*
- System.out.println(package1.package_json.allTasks.size());
- System.out.println(package2.package_json.allTasks.size());
-
-
+ System.out.println(package1.package_json.tasks.size());
+ System.out.println(package2.package_json.tasks.size());
//теперь сравниваем задачи
int i = 1;
- for (String key1 : package1.package_json.allTasks.keySet()) {
- System.out.println(i + "=" + key1);
- SapforTask task1 = package1.package_json.allTasks.get(key1);
- SapforTask task2 = package2.package_json.allTasks.get(key1);
- //--
+ for (SapforTask task1 : package1.package_json.tasks) {
+ System.out.println(i + "=" + task1.getUniqueKey());
+ SapforTask task2 = package2.package_json.getTaskByKey(task1.getUniqueKey());
task1.checkMatch(task2);
//--
++i;
}
//--
- package1.package_json.SortTasksForComparison();
- package2.package_json.SortTasksForComparison();
- //-
package1.package_json.buildComparisonTree(package1);
package2.package_json.buildComparisonTree(package2);
- */
}
@Override
protected boolean validate() {