промежуточный. убрал изменение порядка задач. вместо этого будет фильтр по состояниям

This commit is contained in:
2024-02-25 15:42:46 +03:00
parent a85446b72d
commit 0a2f2f05e1
5 changed files with 44 additions and 66 deletions

View File

@@ -10,7 +10,7 @@ import com.google.gson.annotations.Expose;
import javax.swing.tree.DefaultMutableTreeNode;
import java.io.Serializable;
import java.nio.file.Paths;
import java.util.LinkedHashMap;
import java.util.Comparator;
import java.util.List;
import java.util.Vector;
public class SapforPackage_json implements Serializable {
@@ -34,38 +34,23 @@ public class SapforPackage_json implements Serializable {
public PackageSummary root = null;
public PackageComparisonSummary comparison_root = null;
//--
public LinkedHashMap<String, SapforTask> allTasks = new LinkedHashMap<>(); //задачи по ключам (?)
public LinkedHashMap<TaskState, Vector<SapforTask>> sortedTasks = new LinkedHashMap<>();
// public LinkedHashMap<String, SapforTask> allTasks = new LinkedHashMap<>(); //задачи по ключам (?)
// 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, Vector<SapforTask>>> comparisonSortedTasks = new LinkedHashMap<>();
// public LinkedHashMap<MatchState, LinkedHashMap<TaskState, Vector<SapforTask>>> comparisonSortedTasks = new LinkedHashMap<>();
//----
//---------
public void DropComparison() {
// UI.Info("DROP COMPARISON");
comparison_root = null;
comparisonSortedTasks.clear();
// comparisonSortedTasks.clear();
for (SapforTask task: tasks)
task.matchState = MatchState.Unknown;
}
public void SortTasks() {
//-- СБРОС СРАВНЕНИЯ
for (SapforTask task: tasks)
task.matchState = MatchState.Unknown;
//--
sortedTasks.clear();
for (TaskState state : TaskState.values()) {
Vector<SapforTask> stateTasks = new Vector<>();
for (SapforTask task : tasks) {
if (task.state.equals(state))
stateTasks.add(task);
}
if (!stateTasks.isEmpty())
sortedTasks.put(state, stateTasks);
}
task.comparisonState = MatchState.Unknown;
}
public void SortTasksForComparison() {
/*
comparisonSortedTasks.clear();
for (MatchState matchState : MatchState.values()) {
LinkedHashMap<TaskState, Vector<SapforTask>> match_state_tasks = new LinkedHashMap<>();
@@ -82,28 +67,30 @@ public class SapforPackage_json implements Serializable {
}
comparisonSortedTasks.put(matchState, match_state_tasks);
}
*/
}
public void buildTree(SapforPackage package_in) {
// tasks.sort(Comparator.comparing(SapforTask::getPK));
for (SapforTask task: tasks)
task.comparisonState = MatchState.Unknown;
//---
root = new PackageSummary();
root.count = package_in.package_json.allTasks.size();
root.count = package_in.package_json.tasks.size();
root.errors_count=0;
//--
for (TaskState state : sortedTasks.keySet()) {
Vector<SapforTask> tasks = sortedTasks.get(state);
//-
if (state.equals(TaskState.DoneWithErrors))
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());
root.add(taskNode);
}
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());
root.add(taskNode);
if (task.state.equals(TaskState.DoneWithErrors))
root.errors_count++;
}
}
public void buildComparisonTree(SapforPackage package_in) {
/*
comparison_root = new PackageComparisonSummary();
comparison_root.count = package_in.package_json.allTasks.size();
//--
@@ -127,5 +114,6 @@ public class SapforPackage_json implements Serializable {
if (match_state.equals(MatchState.NotMatch))
comparison_root.mismatches_count+=count;
}
*/
}
}