diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 8642db2e..9a9bb9f9 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -7,16 +7,21 @@
-
+
-
-
+
+
+
-
-
+
+
+
+
+
+
@@ -38,8 +43,8 @@
-
+
diff --git a/src/TestingSystem/SAPFOR/Json/SapforPackage_json.java b/src/TestingSystem/SAPFOR/Json/SapforPackage_json.java
index 4382db51..b0ca0b68 100644
--- a/src/TestingSystem/SAPFOR/Json/SapforPackage_json.java
+++ b/src/TestingSystem/SAPFOR/Json/SapforPackage_json.java
@@ -3,13 +3,12 @@ import GlobalData.Tasks.TaskState;
import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
import TestingSystem.SAPFOR.SapforTask.MatchState;
import TestingSystem.SAPFOR.SapforTask.SapforTask;
-import TestingSystem.SAPFOR.SapforTasksPackage.UI.*;
+import TestingSystem.SAPFOR.SapforTasksPackage.UI.PackageSummary;
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.LinkedHashMap;
import java.util.List;
import java.util.Vector;
@@ -38,7 +37,8 @@ public class SapforPackage_json implements Serializable {
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() {
@@ -46,9 +46,13 @@ public class SapforPackage_json implements Serializable {
comparison_root = null;
comparisonSortedTasks.clear();
for (SapforTask task : allTasks.values())
- task.match = MatchState.NotMatch;
+ task.matchState = MatchState.NotMatch;
}
public void SortTasks() {
+ //-- СБРОС СРАВНЕНИЯ
+ for (SapforTask task: allTasks.values())
+ task.matchState = MatchState.Unknown;
+ //--
sortedTasks.clear();
for (TaskState state : TaskState.values()) {
Vector stateTasks = new Vector<>();
@@ -60,119 +64,29 @@ public class SapforPackage_json implements Serializable {
sortedTasks.put(state, stateTasks);
}
}
-
public void SortTasksForComparison() {
comparisonSortedTasks.clear();
- //раскидать задачи по состояниям, конфигам, группам
for (MatchState matchState : MatchState.values()) {
- System.out.println("match_state=" + matchState.toString());
- LinkedHashMap>>> state_tasks = new LinkedHashMap<>();
- comparisonSortedTasks.put(matchState, state_tasks);
- //--
+ LinkedHashMap> match_state_tasks = new LinkedHashMap<>();
+ //-
for (TaskState state : TaskState.values()) {
- LinkedHashMap>> configuration_tasks = new LinkedHashMap<>();
- state_tasks.put(state, configuration_tasks);
- //--
+ Vector stateTasks = new Vector<>();
for (SapforTask task : tasks) {
- // if (matchState.equals(MatchState.Unknown)) {
- if (task.match.equals(matchState) && task.state.equals(state)) {
- LinkedHashMap> groups_tasks = null;
- if (configuration_tasks.containsKey(task.sapfor_configuration_id)) {
- groups_tasks = configuration_tasks.get(task.sapfor_configuration_id);
- } else {
- groups_tasks = new LinkedHashMap<>();
- configuration_tasks.put(task.sapfor_configuration_id, groups_tasks);
- }
- Vector tasks = null;
- if (groups_tasks.containsKey(task.group_description)) {
- tasks = groups_tasks.get(task.group_description);
- } else {
- tasks = new Vector<>();
- groups_tasks.put(task.group_description, tasks);
- }
- tasks.add(task);
- }
- // }
- }
- }
- //--
- }
- //рассортировать задачи в группах по ключам.
- for (MatchState matchState : MatchState.values()) {
- LinkedHashMap>>> state_tasks = comparisonSortedTasks.get(matchState);
- for (TaskState state : TaskState.values()) {
- LinkedHashMap>> configuration_tasks = state_tasks.get(state);
- for (int configuration_id : configuration_tasks.keySet()) {
- LinkedHashMap> groups_tasks = configuration_tasks.get(configuration_id);
- for (String group : groups_tasks.keySet()) {
- Vector tasks_ = groups_tasks.get(group);
- tasks_.sort(Comparator.comparing(SapforTask::getUniqueKey));
- }
+ 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 buildComparisonTree(SapforPackage package_in) {
- comparison_root = new PackageSummary();
- for (MatchState match_state : comparisonSortedTasks.keySet()) {
- //--
- MatchesSummary matchesSummary = new MatchesSummary(match_state);
- //---
- LinkedHashMap>>> task_states = comparisonSortedTasks.get(match_state);
- //---
- for (TaskState state : task_states.keySet()) {
- //--
- StateSummary stateSummary = new StateSummary(state);
- //--
- LinkedHashMap>> tasksByConfigurations = task_states.get(state);
- for (int configuration_id : tasksByConfigurations.keySet()) {
- //--
- DefaultMutableTreeNode configurationNode = null;
- //--
- LinkedHashMap> groups_tasks = tasksByConfigurations.get(configuration_id);
- for (String group : groups_tasks.keySet()) {
- //--
- GroupSummary groupSummary = new GroupSummary(group);
- //--
- for (SapforTask task : groups_tasks.get(group)) {
- //--
- stateSummary.count++;
- matchesSummary.count++;
- comparison_root.count++;
- //--
- if (configurationNode == null) {
- configurationNode = new ConfigurationSummary(configuration_id, task);
- }
- //--
- groupSummary.add(task.getVersionsTree(
- Paths.get(package_in.getLocalWorkspace().getAbsolutePath(),
- String.valueOf(task.set_id),
- String.valueOf(configuration_id)).toFile())
- );
- }
- if (configurationNode != null)
- configurationNode.add(groupSummary);
- }
- stateSummary.add(configurationNode);
- }
- if (stateSummary.count > 0) {
- matchesSummary.add(stateSummary);
- }
- }
- //---
- if (matchesSummary.count > 0) {
- comparison_root.add(matchesSummary);
- }
- }
- }
- //--
- // public
public void buildTree(SapforPackage package_in) {
root = new PackageSummary();
root.count = package_in.package_json.allTasks.size();
//--
for (TaskState state : sortedTasks.keySet()) {
- StateSummary stateSummary = new StateSummary(state);
Vector tasks = sortedTasks.get(state);
//-
if (state.equals(TaskState.DoneWithErrors))
@@ -184,10 +98,34 @@ public class SapforPackage_json implements Serializable {
String.valueOf(task.set_id),
String.valueOf(task.sapfor_configuration_id)
).toFile());
- stateSummary.add(taskNode);
- stateSummary.count++;
+ root.add(taskNode);
}
- root.add(stateSummary);
+ }
+ }
+ public void buildComparisonTree(SapforPackage package_in) {
+ comparison_root = new PackageSummary();
+ comparison_root.count = package_in.package_json.allTasks.size();
+ //--
+ for (MatchState match_state : comparisonSortedTasks.keySet()) {
+ // MatchesSummary matchesSummary = new MatchesSummary(match_state);
+ LinkedHashMap> task_states = comparisonSortedTasks.get(match_state);
+ //---
+ for (TaskState state : task_states.keySet()) {
+ Vector tasks = task_states.get(state);
+ //-
+ if (state.equals(TaskState.DoneWithErrors))
+ comparison_root.errors_count += tasks.size();
+ //-
+ 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);
+ }
+ }
+
}
}
}
diff --git a/src/TestingSystem/SAPFOR/Json/SapforVersion_json.java b/src/TestingSystem/SAPFOR/Json/SapforVersion_json.java
index 6bdaacca..1ee9b71e 100644
--- a/src/TestingSystem/SAPFOR/Json/SapforVersion_json.java
+++ b/src/TestingSystem/SAPFOR/Json/SapforVersion_json.java
@@ -36,6 +36,8 @@ public class SapforVersion_json implements Serializable {
//--
public SapforTask task = null; //родная задача. Нужна для построения дерева версий.
public db_project_info project = null;
+ //--
+ public SapforVersionState state = SapforVersionState.Empty;
public SapforVersionMatchState matchState = SapforVersionMatchState.Unknown;
//--
public SapforVersion_json(String version_in, String description_in) {
@@ -46,12 +48,12 @@ public class SapforVersion_json implements Serializable {
version = version_in.substring(root_in.length() + 1);
description = description_in;
}
- @Override
- public String toString() {
- return Home.getName() + " : " + Utils.Brackets(description);
- }
+
public SapforVersionState init(File configurationRoot) {
- SapforVersionState state = SapforVersionState.Empty;
+ //--
+ state = SapforVersionState.Empty;
+ matchState = SapforVersionMatchState.Unknown;
+ //--
String relativePath = Global.isWindows ? Utils.toW(version) : version;
Home = Paths.get(configurationRoot.getAbsolutePath(), relativePath).toFile();
files = new LinkedHashMap<>();
@@ -288,4 +290,8 @@ public class SapforVersion_json implements Serializable {
project.db.Disconnect();
}
}
+ @Override
+ public String toString() {
+ return Home.getName() + " : " + Utils.Brackets(description);
+ }
}
diff --git a/src/TestingSystem/SAPFOR/SapforTask/SapforTask.java b/src/TestingSystem/SAPFOR/SapforTask/SapforTask.java
index bc325f7a..8fafc178 100644
--- a/src/TestingSystem/SAPFOR/SapforTask/SapforTask.java
+++ b/src/TestingSystem/SAPFOR/SapforTask/SapforTask.java
@@ -3,8 +3,9 @@ import Common.Constants;
import Common.Database.DBObject;
import Common.Utils.Utils;
import GlobalData.Tasks.TaskState;
-import TestingSystem.SAPFOR.Json.SapforVersionState;
import TestingSystem.SAPFOR.Json.SapforVersion_json;
+import TestingSystem.SAPFOR.SapforTasksPackage.UI.SapforPackageTreeNode;
+import TestingSystem.SAPFOR.SapforTasksPackage.UI.SapforTaskNode;
import TestingSystem.SAPFOR.SapforTasksPackage.UI.VersionSummary;
import Visual_DVM_2021.Passes.PassCode_2021;
import com.google.gson.annotations.Expose;
@@ -35,8 +36,6 @@ public class SapforTask extends DBObject {
@Expose
public String codes = "";
@Expose
- public TaskState state = TaskState.Inactive;
- @Expose
public long StartDate = 0; //дата начала выполнения
@Expose
public long ChangeDate = 0;//дата окончания выполнения
@@ -51,13 +50,14 @@ public class SapforTask extends DBObject {
@Description("IGNORE")
@Expose
public Vector variants = new Vector<>();
- //----------
+ //-------------------------------------------------
+ @Expose
+ public TaskState state = TaskState.Inactive;
@Description("IGNORE")
- public MatchState match = MatchState.NotMatch;
- // MatchState.Unknown;
- //-----------
+ public MatchState matchState = MatchState.Unknown; //для сравнения. в обычном режиме всегда Unknown!
+ //--------------------------------------------------
public String getUniqueKey() {
- return group_description + "_" + test_description + "_" +sapfor_configuration_id;
+ return group_description + "_" + test_description + "_" + sapfor_configuration_id;
}
public String getSummary() {
Vector lines = new Vector<>();
@@ -77,26 +77,24 @@ public class SapforTask extends DBObject {
//--
for (SapforVersion_json version_json : versions) {
version_json.task = this;
- // System.out.println(version_json.version);
+ // System.out.println(version_json.version);
//-
- child = new VersionSummary(version_json, version_json.init(configurationRoot));
+ version_json.init(configurationRoot);
+ child = new VersionSummary(version_json);
if (parent == null) {
root = child;
parent = child;
} else {
- // if (!child.state.equals(SapforVersionState.Empty)) {
- parent.add(child);
- parent = child;
- // }
+ parent.add(child);
+ parent = child;
}
//-
}
if (parent != null) {
for (SapforVersion_json version_json : variants) {
version_json.task = this;
- // if (!child.state.equals(SapforVersionState.Empty)) {
- parent.add(new VersionSummary(version_json, version_json.init(configurationRoot)));
- // }
+ version_json.init(configurationRoot);
+ parent.add(new VersionSummary(version_json));
}
}
//--
@@ -119,7 +117,7 @@ public class SapforTask extends DBObject {
super.SynchronizeFields(object);
SapforTask t = (SapforTask) object;
id = t.id;
- set_id= t.set_id;
+ set_id = t.set_id;
sapfor_configuration_id = t.sapfor_configuration_id;
sapfortaskspackage_id = t.sapfortaskspackage_id;
//-
@@ -141,12 +139,6 @@ public class SapforTask extends DBObject {
}
return String.join("→", versionsLines);
}
- /*
- @Override
- public boolean isVisible() {
- return Current.HasSapforTasksPackage() && Current.getSapforTasksPackage().id == this.sapfortaskspackage_id;
- }
- */
public LinkedHashMap getSortedVersions() {
LinkedHashMap res = new LinkedHashMap<>();
for (SapforVersion_json version_json : versions)
@@ -185,8 +177,8 @@ public class SapforTask extends DBObject {
return;
}
}
- match = MatchState.Match;
- task2.match = MatchState.Match;
+ matchState = MatchState.Match;
+ task2.matchState = MatchState.Match;
}
}
public Date getStartDate() {
@@ -198,14 +190,14 @@ public class SapforTask extends DBObject {
@Override
public String toString() {
return
- "группа "+Utils.Brackets(group_description)+" тест "+Utils.Brackets(test_description)+" конфигурация "+Utils.Brackets(sapfor_configuration_id);
- // getUniqueKey();
+ "группа " + Utils.Brackets(group_description) + " тест " + Utils.Brackets(test_description) + " конфигурация " + Utils.Brackets(sapfor_configuration_id);
+ // getUniqueKey();
}
- public String getPassesInfo(){
+ public String getPassesInfo() {
String res = "";
- String [] data = codes.split(" ");
+ String[] data = codes.split(" ");
Vector strings = new Vector<>();
- for (String code_s: data){
+ for (String code_s : data) {
PassCode_2021 code = PassCode_2021.valueOf(code_s);
strings.add(Utils.Brackets(code.getDescription()));
}
@@ -213,12 +205,13 @@ public class SapforTask extends DBObject {
}
//---
public DefaultMutableTreeNode getNode(File configurationRoot) {
- DefaultMutableTreeNode res = new DefaultMutableTreeNode(this);
- DefaultMutableTreeNode flags_info = new DefaultMutableTreeNode("флаги: "+this.flags);
- DefaultMutableTreeNode passes_info = new DefaultMutableTreeNode("проходы: "+getPassesInfo());
+ SapforPackageTreeNode res = new SapforTaskNode(this);
//-
- int total_versions_count = versions.size()+variants.size();
- DefaultMutableTreeNode versions_info = new DefaultMutableTreeNode("версии: "+total_versions_count);
+ DefaultMutableTreeNode flags_info = new DefaultMutableTreeNode("флаги: " + this.flags);
+ DefaultMutableTreeNode passes_info = new DefaultMutableTreeNode("проходы: " + getPassesInfo());
+ //-
+ int total_versions_count = versions.size() + variants.size();
+ DefaultMutableTreeNode versions_info = new DefaultMutableTreeNode("версии: " + total_versions_count);
versions_info.add(getVersionsTree(configurationRoot));
//--
res.add(flags_info);
diff --git a/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/ConfigurationSummary.java b/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/ConfigurationSummary.java
deleted file mode 100644
index 18b1629a..00000000
--- a/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/ConfigurationSummary.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package TestingSystem.SAPFOR.SapforTasksPackage.UI;
-import Common.Constants;
-import Common.Utils.Utils;
-import TestingSystem.SAPFOR.SapforTask.SapforTask;
-import Visual_DVM_2021.Passes.PassCode_2021;
-
-import java.util.Arrays;
-import java.util.Vector;
-public class ConfigurationSummary extends SapforPackageTreeNode {
- public int configuration_id = Constants.Nan;
- public String flags = "";
- public Vector codes_descriptions = new Vector<>();
- public ConfigurationSummary(int configuration_id_in, SapforTask task) {
- configuration_id = configuration_id_in;
- flags = task.flags;
- Vector codes_s = new Vector<>(Arrays.asList(task.codes.split(" ")));
- for (int i = 1; i < codes_s.size(); ++i) {
- codes_descriptions.add(Utils.Brackets(PassCode_2021.valueOf(codes_s.get(i)).getDescription()));
- }
- }
- @Override
- public String toString() {
- return flags + " " + String.join("→", codes_descriptions);
- }
- @Override
- public String getImageKey() {
- return "Configuration";
- }
-}
diff --git a/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/GroupSummary.java b/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/GroupSummary.java
deleted file mode 100644
index 313f4a8a..00000000
--- a/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/GroupSummary.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package TestingSystem.SAPFOR.SapforTasksPackage.UI;
-public class GroupSummary extends SapforPackageTreeNode {
- public String group_name = "";
- @Override
- public String getImageKey() {
- return "Group";
- }
- public GroupSummary(String group_name_in) {
- group_name = group_name_in;
- }
- @Override
- public String toString() {
- return group_name;
- }
-}
diff --git a/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/MatchesSummary.java b/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/MatchesSummary.java
deleted file mode 100644
index 55f60b35..00000000
--- a/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/MatchesSummary.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package TestingSystem.SAPFOR.SapforTasksPackage.UI;
-import TestingSystem.SAPFOR.SapforTask.MatchState;
-public class MatchesSummary extends SapforPackageTreeNode {
- public MatchState state;
- public int count = 0;
- public MatchesSummary(MatchState state_in) {
- state = state_in;
- }
- @Override
- public String toString() {
- return state.getDescription() + " : " + count;
- }
- @Override
- public String getImageKey() {
- switch (state) {
- case Match:
- return "Match";
- case NotMatch:
- return "NotMatch";
- default:
- return "Unknown";
- }
- }
-}
diff --git a/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/PackageSummary.java b/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/PackageSummary.java
index a25c4f1d..6888a041 100644
--- a/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/PackageSummary.java
+++ b/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/PackageSummary.java
@@ -5,7 +5,7 @@ public class PackageSummary extends SapforPackageTreeNode {
public int errors_count=0;
@Override
public String getImageKey() {
- return "UnknownStateSummary";
+ return "Package";
}
public PackageSummary() {
}
diff --git a/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/SapforTaskNode.java b/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/SapforTaskNode.java
new file mode 100644
index 00000000..04ff2168
--- /dev/null
+++ b/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/SapforTaskNode.java
@@ -0,0 +1,27 @@
+package TestingSystem.SAPFOR.SapforTasksPackage.UI;
+import TestingSystem.SAPFOR.SapforTask.MatchState;
+import TestingSystem.SAPFOR.SapforTask.SapforTask;
+public class SapforTaskNode extends SapforPackageTreeNode {
+ public SapforTaskNode(SapforTask task_in) {
+ setUserObject(task_in);
+ }
+ @Override
+ public String getImageKey() {
+ SapforTask task = (SapforTask) getUserObject();
+ //обычный режим
+ // if (task.matchState == MatchState.Unknown) {
+ switch (task.state) {
+ case Done:
+ return "Done";
+ case DoneWithErrors:
+ return "DoneWithErrors";
+ default:
+ return "Unknown";
+ }
+ // }
+ //режим сравнения.
+ // else {
+ // return "Unknown";
+ // }
+ }
+}
diff --git a/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/VersionSummary.java b/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/VersionSummary.java
index bd0739b5..30b2b55a 100644
--- a/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/VersionSummary.java
+++ b/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/VersionSummary.java
@@ -2,21 +2,11 @@ package TestingSystem.SAPFOR.SapforTasksPackage.UI;
import TestingSystem.SAPFOR.Json.SapforVersionState;
import TestingSystem.SAPFOR.Json.SapforVersion_json;
public class VersionSummary extends SapforPackageTreeNode {
- public String version_name = "";
- public String version_description = "";
- public SapforVersionState state = SapforVersionState.Empty;
- public VersionSummary(SapforVersion_json version_json, SapforVersionState state_in) {
+ public VersionSummary(SapforVersion_json version_json) {
setUserObject(version_json);
- version_name = version_json.Home.getName();
- version_description = version_json.description;
- state = state_in;
}
@Override
public String getImageKey() {
- return state.toString();
- }
- @Override
- public String toString() {
- return version_name + " : " + version_description;
+ return ((SapforVersion_json)getUserObject()).state.toString();
}
}
diff --git a/src/icons/versions/DoneStateSummary.png b/src/icons/versions/Done.png
similarity index 100%
rename from src/icons/versions/DoneStateSummary.png
rename to src/icons/versions/Done.png
diff --git a/src/icons/versions/ErrorsStateSummary.png b/src/icons/versions/DoneWithErrors.png
similarity index 100%
rename from src/icons/versions/ErrorsStateSummary.png
rename to src/icons/versions/DoneWithErrors.png
diff --git a/src/icons/versions/Group.png b/src/icons/versions/Package.png
similarity index 100%
rename from src/icons/versions/Group.png
rename to src/icons/versions/Package.png
diff --git a/src/icons/versions/Unknown.png b/src/icons/versions/Unknown.png
index 7b7d2bd3..46950ecb 100644
Binary files a/src/icons/versions/Unknown.png and b/src/icons/versions/Unknown.png differ
diff --git a/src/icons/versions/UnknownStateSummary.png b/src/icons/versions/UnknownStateSummary.png
deleted file mode 100644
index baaa9210..00000000
Binary files a/src/icons/versions/UnknownStateSummary.png and /dev/null differ