no message

This commit is contained in:
2024-02-24 23:06:49 +03:00
parent 0092b708d3
commit 037518a085
15 changed files with 125 additions and 234 deletions

View File

@@ -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<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, LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>>>> comparisonSortedTasks = new LinkedHashMap<>();
public LinkedHashMap<MatchState, LinkedHashMap<TaskState, Vector<SapforTask>>> 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<SapforTask> 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<TaskState, LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>>> state_tasks = new LinkedHashMap<>();
comparisonSortedTasks.put(matchState, state_tasks);
//--
LinkedHashMap<TaskState, Vector<SapforTask>> match_state_tasks = new LinkedHashMap<>();
//-
for (TaskState state : TaskState.values()) {
LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>> configuration_tasks = new LinkedHashMap<>();
state_tasks.put(state, configuration_tasks);
//--
Vector<SapforTask> stateTasks = new Vector<>();
for (SapforTask task : tasks) {
// if (matchState.equals(MatchState.Unknown)) {
if (task.match.equals(matchState) && task.state.equals(state)) {
LinkedHashMap<String, Vector<SapforTask>> 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<SapforTask> 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<TaskState, LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>>> state_tasks = comparisonSortedTasks.get(matchState);
for (TaskState state : TaskState.values()) {
LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>> configuration_tasks = state_tasks.get(state);
for (int configuration_id : configuration_tasks.keySet()) {
LinkedHashMap<String, Vector<SapforTask>> groups_tasks = configuration_tasks.get(configuration_id);
for (String group : groups_tasks.keySet()) {
Vector<SapforTask> 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<TaskState, LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>>> task_states = comparisonSortedTasks.get(match_state);
//---
for (TaskState state : task_states.keySet()) {
//--
StateSummary stateSummary = new StateSummary(state);
//--
LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>> tasksByConfigurations = task_states.get(state);
for (int configuration_id : tasksByConfigurations.keySet()) {
//--
DefaultMutableTreeNode configurationNode = null;
//--
LinkedHashMap<String, Vector<SapforTask>> 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<SapforTask> 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<TaskState, Vector<SapforTask>> task_states = comparisonSortedTasks.get(match_state);
//---
for (TaskState state : task_states.keySet()) {
Vector<SapforTask> 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);
}
}
}
}
}

View File

@@ -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);
}
}

View File

@@ -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<SapforVersion_json> 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<String> 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<String, SapforVersion_json> getSortedVersions() {
LinkedHashMap<String, SapforVersion_json> 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<String> 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);

View File

@@ -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<String> codes_descriptions = new Vector<>();
public ConfigurationSummary(int configuration_id_in, SapforTask task) {
configuration_id = configuration_id_in;
flags = task.flags;
Vector<String> 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";
}
}

View File

@@ -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;
}
}

View File

@@ -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";
}
}
}

View File

@@ -5,7 +5,7 @@ public class PackageSummary extends SapforPackageTreeNode {
public int errors_count=0;
@Override
public String getImageKey() {
return "UnknownStateSummary";
return "Package";
}
public PackageSummary() {
}

View File

@@ -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";
// }
}
}

View File

@@ -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();
}
}

View File

Before

Width:  |  Height:  |  Size: 694 B

After

Width:  |  Height:  |  Size: 694 B

View File

Before

Width:  |  Height:  |  Size: 644 B

After

Width:  |  Height:  |  Size: 644 B

View File

Before

Width:  |  Height:  |  Size: 968 B

After

Width:  |  Height:  |  Size: 968 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 795 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 561 B