no message
This commit is contained in:
10
.idea/workspace.xml
generated
10
.idea/workspace.xml
generated
@@ -8,14 +8,10 @@
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Common/UI/Menus_2023/MainMenuBar/MainMenuBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/Menus_2023/MainMenuBar/MainMenuBar.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/Json/SapforTasksResults_json.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/Json/SapforTasksResults_json.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTask/SapforTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTask/SapforTask.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackage.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackageInterface.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/TestingServer.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DeleteSapforTasksPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DeleteSapforTasksPackage.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadSapforTasksPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadSapforTasksPackage.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ShowSapforTaskPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ShowSapforTaskPackage.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/UnpackSapforTasksPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/UnpackSapforTasksPackage.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackageSupervisor/SapforTasksPackageSupervisor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackageSupervisor/SapforTasksPackageSupervisor.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" />
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package SapforTestingSystem.Json;
|
||||
import Common.Utils.Utils;
|
||||
import GlobalData.Tasks.TaskState;
|
||||
import SapforTestingSystem.SapforTask.MatchState;
|
||||
import SapforTestingSystem.SapforTask.SapforTask;
|
||||
import com.google.gson.annotations.Expose;
|
||||
|
||||
@@ -14,56 +16,64 @@ public class SapforTasksResults_json {
|
||||
public long EndDate = 0;
|
||||
@Expose
|
||||
public List<SapforTask> tasks = new Vector<>();
|
||||
//задачи по ключам.
|
||||
public LinkedHashMap<String, SapforTask> sortedTasks = new LinkedHashMap<>();
|
||||
//все задачи по ключам.
|
||||
public LinkedHashMap<String, SapforTask> allTasks = new LinkedHashMap<>();
|
||||
public LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> sortedTasks = new LinkedHashMap<>();
|
||||
//-- задачи, отсортированные для сравнения.
|
||||
public LinkedHashMap<MatchState, LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>>> comparisonSortedTasks = new LinkedHashMap<>();
|
||||
public void SortTasks() {
|
||||
//--->>>
|
||||
tasks.sort(Comparator.comparing(SapforTask::getUniqueKey));
|
||||
//--->>>
|
||||
for (SapforTask task : tasks)
|
||||
sortedTasks.put(task.getUniqueKey(), task);
|
||||
}
|
||||
//это для емейла. Не трогать.
|
||||
public LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> sortTasksByStatesConfigurationsAndGroups() {
|
||||
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> res = new LinkedHashMap<>();
|
||||
//рассортировать задачи по конфигурациям.
|
||||
sortedTasks.clear();
|
||||
//--
|
||||
for (TaskState state : TaskState.values()) {
|
||||
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> tasksByConfigurations = new LinkedHashMap<>();
|
||||
res.put(state, tasksByConfigurations);
|
||||
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> configuration_tasks = new LinkedHashMap<>();
|
||||
sortedTasks.put(state, configuration_tasks);
|
||||
//--
|
||||
for (SapforTask task : tasks) {
|
||||
if (task.state.equals(state)) {
|
||||
LinkedHashMap<String, Vector<SapforTask>> groups_tasks = null;
|
||||
if (tasksByConfigurations.containsKey(task.sapfor_configuration_id)) {
|
||||
groups_tasks = tasksByConfigurations.get(task.sapfor_configuration_id);
|
||||
if (configuration_tasks.containsKey(task.sapfor_configuration_id)) {
|
||||
groups_tasks = configuration_tasks.get(task.sapfor_configuration_id);
|
||||
} else {
|
||||
groups_tasks = new LinkedHashMap<>();
|
||||
tasksByConfigurations.put(task.sapfor_configuration_id, groups_tasks);
|
||||
configuration_tasks.put(task.sapfor_configuration_id, groups_tasks);
|
||||
}
|
||||
Vector<SapforTask> tasks = null;
|
||||
Vector<SapforTask> tasks_ = null;
|
||||
if (groups_tasks.containsKey(task.group_description)) {
|
||||
tasks = groups_tasks.get(task.group_description);
|
||||
tasks_ = groups_tasks.get(task.group_description);
|
||||
} else {
|
||||
tasks = new Vector<>();
|
||||
groups_tasks.put(task.group_description, tasks);
|
||||
tasks_ = new Vector<>();
|
||||
groups_tasks.put(task.group_description, tasks_);
|
||||
}
|
||||
tasks.add(task);
|
||||
tasks_.add(task);
|
||||
}
|
||||
}
|
||||
//--
|
||||
}
|
||||
//--
|
||||
for (TaskState state : TaskState.values()) {
|
||||
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> configuration_tasks = sortedTasks.get(state);
|
||||
for (String 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));
|
||||
}
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
//---
|
||||
// для отображения дерева без сравнения.
|
||||
public LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> sortTasksForTree() {
|
||||
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> res = new LinkedHashMap<>();
|
||||
public void SortTasksForComparison() {
|
||||
comparisonSortedTasks.clear();
|
||||
//раскидать задачи по состояниям, конфигам, группам
|
||||
for (MatchState matchState : MatchState.values()) {
|
||||
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> state_tasks = new LinkedHashMap<>();
|
||||
comparisonSortedTasks.put(matchState, state_tasks);
|
||||
//--
|
||||
for (TaskState state : TaskState.values()) {
|
||||
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> configuration_tasks = new LinkedHashMap<>();
|
||||
res.put(state, configuration_tasks);
|
||||
state_tasks.put(state, configuration_tasks);
|
||||
//--
|
||||
for (SapforTask task : tasks) {
|
||||
if (task.state.equals(state)) {
|
||||
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);
|
||||
@@ -83,6 +93,70 @@ public class SapforTasksResults_json {
|
||||
}
|
||||
}
|
||||
//--
|
||||
}
|
||||
//рассортировать задачи в группах по ключам.
|
||||
for (MatchState matchState : MatchState.values()) {
|
||||
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> state_tasks = comparisonSortedTasks.get(matchState);
|
||||
for (TaskState state : TaskState.values()) {
|
||||
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> configuration_tasks = state_tasks.get(state);
|
||||
for (String 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));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//---
|
||||
public String getEmailSummary() {
|
||||
String res = "";
|
||||
Vector<String> summary_lines = new Vector<>();
|
||||
summary_lines.add("Всего задач: " + tasks.size());
|
||||
for (TaskState state : sortedTasks.keySet()) {
|
||||
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> tasksByConfigurations = sortedTasks.get(state);
|
||||
if (!tasksByConfigurations.isEmpty()) {
|
||||
int count = 0;
|
||||
if (!state.equals(TaskState.Done)) {
|
||||
Vector<String> flagsLines = new Vector<>();
|
||||
for (String configuration_id : tasksByConfigurations.keySet()) {
|
||||
LinkedHashMap<String, Vector<SapforTask>> tasksByGroups = tasksByConfigurations.get(configuration_id);
|
||||
for (String group : tasksByGroups.keySet()) {
|
||||
Vector<SapforTask> tasks = tasksByGroups.get(group);
|
||||
flagsLines.add("Группа " + group + ": " + tasks.size());
|
||||
count += tasks.size();
|
||||
for (SapforTask task : tasks) {
|
||||
task.versionsDescription = task.getVersionsChain();
|
||||
flagsLines.add(
|
||||
"тест: " +
|
||||
Utils.Brackets(task.test_description) + " " +
|
||||
"флаги: "
|
||||
+ Utils.Brackets(task.flags) + " " +
|
||||
"версии: " +
|
||||
task.versionsDescription
|
||||
// + " " + "конфигурация " + task.sapfor_configuration_id
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
summary_lines.add(state.getDescription() + " :" + count);
|
||||
summary_lines.addAll(flagsLines);
|
||||
} else {
|
||||
for (String flags : tasksByConfigurations.keySet()) {
|
||||
LinkedHashMap<String, Vector<SapforTask>> tasksByGroups = tasksByConfigurations.get(flags);
|
||||
for (String group : tasksByGroups.keySet()) {
|
||||
Vector<SapforTask> tasks = tasksByGroups.get(group);
|
||||
for (SapforTask task : tasks)
|
||||
task.versionsDescription = task.getVersionsChain();
|
||||
count += tasks.size();
|
||||
}
|
||||
}
|
||||
summary_lines.add(state.getDescription() + " :" + count);
|
||||
}
|
||||
}
|
||||
}
|
||||
res = String.join("\n", summary_lines);
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,6 +167,7 @@ public class SapforTask extends DBObject {
|
||||
}
|
||||
}
|
||||
match = MatchState.Match;
|
||||
task2.match = MatchState.Match;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.sun.org.glassfish.gmbal.Description;
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
import java.io.File;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Comparator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Vector;
|
||||
public class SapforTasksPackage extends nDBObject {
|
||||
@@ -90,7 +91,13 @@ public class SapforTasksPackage extends nDBObject {
|
||||
try {
|
||||
results = (SapforTasksResults_json) Utils.jsonFromFile(json_file,
|
||||
SapforTasksResults_json.class);
|
||||
results.SortTasks();
|
||||
//----
|
||||
results.tasks.sort(Comparator.comparing(SapforTask::getUniqueKey));
|
||||
for (SapforTask task : results.tasks)
|
||||
results.allTasks.put(task.getUniqueKey(), task);
|
||||
//---
|
||||
results.SortTasks(); //по состояниям конфигурациям и группам
|
||||
//---
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
@@ -102,14 +109,12 @@ public class SapforTasksPackage extends nDBObject {
|
||||
}
|
||||
//--
|
||||
root = new PackageSummary();
|
||||
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> task_states =
|
||||
results.sortTasksForTree();
|
||||
//---
|
||||
for (TaskState state : task_states.keySet()) {
|
||||
for (TaskState state : results.sortedTasks.keySet()) {
|
||||
//--
|
||||
StateSummary stateSummary = new StateSummary(state);
|
||||
//--
|
||||
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> tasksByConfigurations = task_states.get(state);
|
||||
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> tasksByConfigurations = results.sortedTasks.get(state);
|
||||
for (String configuration_id : tasksByConfigurations.keySet()) {
|
||||
//--
|
||||
DefaultMutableTreeNode configurationNode = null;
|
||||
|
||||
@@ -4,7 +4,6 @@ import Common.Current;
|
||||
import Common.Global;
|
||||
import Common.GlobalProperties;
|
||||
import Common.Utils.Utils;
|
||||
import GlobalData.Tasks.TaskState;
|
||||
import Repository.Server.ServerCode;
|
||||
import SapforTestingSystem.Json.SapforConfiguration_json;
|
||||
import SapforTestingSystem.Json.SapforTasksPackage_json;
|
||||
@@ -175,56 +174,12 @@ public class SapforTasksPackageSupervisor {
|
||||
System.out.println("done!");
|
||||
}
|
||||
public void AnalysePackage() throws Exception {
|
||||
Vector<String> summary_lines = new Vector<>();
|
||||
File results_json_file = new File(sapforTasksPackage.workspace, Constants.results_json);
|
||||
if (results_json_file.exists()) {
|
||||
SapforTasksResults_json results_json = (SapforTasksResults_json) Utils.jsonFromFile(results_json_file, SapforTasksResults_json.class);
|
||||
summary_lines.add("Всего задач: " + results_json.tasks.size());
|
||||
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> sortedTasks = results_json.sortTasksByStatesConfigurationsAndGroups();
|
||||
results_json.SortTasks();
|
||||
//--
|
||||
for (TaskState state : sortedTasks.keySet()) {
|
||||
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> tasksByConfigurations = sortedTasks.get(state);
|
||||
if (!tasksByConfigurations.isEmpty()) {
|
||||
int count = 0;
|
||||
if (!state.equals(TaskState.Done)) {
|
||||
Vector<String> flagsLines = new Vector<>();
|
||||
for (String configuration_id : tasksByConfigurations.keySet()) {
|
||||
LinkedHashMap<String, Vector<SapforTask>> tasksByGroups = tasksByConfigurations.get(configuration_id);
|
||||
for (String group : tasksByGroups.keySet()) {
|
||||
Vector<SapforTask> tasks = tasksByGroups.get(group);
|
||||
flagsLines.add("Группа " + group + ": " + tasks.size());
|
||||
count += tasks.size();
|
||||
for (SapforTask task : tasks) {
|
||||
task.versionsDescription = task.getVersionsChain();
|
||||
flagsLines.add(
|
||||
"тест: " +
|
||||
Utils.Brackets(task.test_description) + " " +
|
||||
"флаги: "
|
||||
+ Utils.Brackets(task.flags) + " " +
|
||||
"версии: " +
|
||||
task.versionsDescription
|
||||
// + " " + "конфигурация " + task.sapfor_configuration_id
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
summary_lines.add(state.getDescription() + " :" + count);
|
||||
summary_lines.addAll(flagsLines);
|
||||
} else {
|
||||
for (String flags : tasksByConfigurations.keySet()) {
|
||||
LinkedHashMap<String, Vector<SapforTask>> tasksByGroups = tasksByConfigurations.get(flags);
|
||||
for (String group : tasksByGroups.keySet()) {
|
||||
Vector<SapforTask> tasks = tasksByGroups.get(group);
|
||||
for (SapforTask task: tasks)
|
||||
task.versionsDescription = task.getVersionsChain();
|
||||
count += tasks.size();
|
||||
}
|
||||
}
|
||||
summary_lines.add(state.getDescription() + " :" + count);
|
||||
}
|
||||
}
|
||||
}
|
||||
sapforTasksPackage.summary = String.join("\n", summary_lines);
|
||||
sapforTasksPackage.summary = results_json.getEmailSummary();
|
||||
for (SapforTask task : results_json.tasks) {
|
||||
//--
|
||||
task.versions = null;
|
||||
|
||||
@@ -168,13 +168,24 @@ public class SapforPackagesComparisonForm {
|
||||
Log.Writeln_("Наборы конфигураций не совпадают!");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
for (String key1 : package1.results.allTasks.keySet()) {
|
||||
if (!package2.results.allTasks.containsKey(key1)) {
|
||||
Log.Writeln_("Задача эталона " + key1 + "не найдена в сравниваемом пакете!");
|
||||
}
|
||||
}
|
||||
return Log.isEmpty();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
protected void performPreparation() throws Exception {
|
||||
for (SapforTask task : package1.results.sortedTasks.values())
|
||||
package1.results.comparisonSortedTasks.clear();
|
||||
package2.results.comparisonSortedTasks.clear();
|
||||
//сброс всех состояний задач.
|
||||
for (SapforTask task : package1.results.allTasks.values())
|
||||
task.match = MatchState.NotMatch;
|
||||
//--
|
||||
for (SapforTask task : package2.results.allTasks.values())
|
||||
task.match = MatchState.NotMatch;
|
||||
}
|
||||
@Override
|
||||
@@ -185,21 +196,14 @@ public class SapforPackagesComparisonForm {
|
||||
}
|
||||
@Override
|
||||
protected void body() throws Exception {
|
||||
for (String key1 : package1.results.sortedTasks.keySet()) {
|
||||
if (!package2.results.sortedTasks.containsKey(key1)) {
|
||||
Log.Writeln_("Задача эталона " + key1 + "не найдена в сравниваемом пакете!");
|
||||
}
|
||||
}
|
||||
if (Log.isEmpty()) {
|
||||
//теперь сравниваем задачи
|
||||
for (String key1 : package1.results.sortedTasks.keySet()) {
|
||||
SapforTask task1 = package1.results.sortedTasks.get(key1);
|
||||
SapforTask task2 = package2.results.sortedTasks.get(key1);
|
||||
for (String key1 : package1.results.allTasks.keySet()) {
|
||||
SapforTask task1 = package1.results.allTasks.get(key1);
|
||||
SapforTask task2 = package2.results.allTasks.get(key1);
|
||||
//--
|
||||
task1.checkMatch(task2);
|
||||
}
|
||||
}
|
||||
}
|
||||
@Override
|
||||
protected boolean validate() {
|
||||
return Log.isEmpty();
|
||||
|
||||
Reference in New Issue
Block a user