промежуточный. убрал изменение порядка задач. вместо этого будет фильтр по состояниям
This commit is contained in:
@@ -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;
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ public class SapforTask extends DBObject {
|
||||
@Expose
|
||||
public TaskState state = TaskState.Inactive;
|
||||
@Description("IGNORE")
|
||||
public MatchState matchState = MatchState.Unknown; //для сравнения. в обычном режиме всегда Unknown!
|
||||
public MatchState comparisonState = MatchState.Unknown; //для сравнения. в обычном режиме всегда Unknown!
|
||||
//--------------------------------------------------
|
||||
public String getUniqueKey() {
|
||||
return group_description + "_" + test_description + "_" + sapfor_configuration_id;
|
||||
@@ -152,12 +152,12 @@ public class SapforTask extends DBObject {
|
||||
//todo Для каждого случая подобрать иконку (?)
|
||||
if (!state.equals(task2.state)) {
|
||||
System.out.println("Не совпадение состояний задачи " + getUniqueKey());
|
||||
matchState = MatchState.NotMatch;
|
||||
task2.matchState = MatchState.NotMatch;
|
||||
comparisonState = MatchState.NotMatch;
|
||||
task2.comparisonState = MatchState.NotMatch;
|
||||
} else if ((versions.size() != task2.versions.size())|| (variants.size() != task2.variants.size())) {
|
||||
System.out.println("Не совпадение количества версий в задаче " + getUniqueKey());
|
||||
matchState = MatchState.NotMatch;
|
||||
task2.matchState = MatchState.NotMatch;
|
||||
comparisonState = MatchState.NotMatch;
|
||||
task2.comparisonState = MatchState.NotMatch;
|
||||
} else {
|
||||
LinkedHashMap<String, SapforVersion_json> versions1 = getSortedVersions();
|
||||
LinkedHashMap<String, SapforVersion_json> versions2 = task2.getSortedVersions();
|
||||
@@ -165,8 +165,8 @@ public class SapforTask extends DBObject {
|
||||
for (String name1 : versions1.keySet()) {
|
||||
if (!versions2.containsKey(name1)) {
|
||||
System.out.println("Не совпадение имен версий в задаче " + getUniqueKey());
|
||||
matchState = MatchState.NotMatch;
|
||||
task2.matchState = MatchState.NotMatch;
|
||||
comparisonState = MatchState.NotMatch;
|
||||
task2.comparisonState = MatchState.NotMatch;
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -179,13 +179,13 @@ public class SapforTask extends DBObject {
|
||||
//---
|
||||
if (!version1.isMatch(version2)) {
|
||||
System.out.println("Не совпадение версий в задаче " + getUniqueKey());
|
||||
matchState = MatchState.NotMatch;
|
||||
task2.matchState = MatchState.NotMatch;
|
||||
comparisonState = MatchState.NotMatch;
|
||||
task2.comparisonState = MatchState.NotMatch;
|
||||
return;
|
||||
}
|
||||
}
|
||||
matchState = MatchState.Match;
|
||||
task2.matchState = MatchState.Match;
|
||||
comparisonState = MatchState.Match;
|
||||
task2.comparisonState = MatchState.Match;
|
||||
}
|
||||
}
|
||||
public Date getStartDate() {
|
||||
|
||||
@@ -9,12 +9,12 @@ public class SapforTaskNode extends SapforPackageTreeNode {
|
||||
public String getImageKey() {
|
||||
SapforTask task = (SapforTask) getUserObject();
|
||||
//обычный режим
|
||||
if (task.matchState == MatchState.Unknown) {
|
||||
if (task.comparisonState == MatchState.Unknown) {
|
||||
return task.state.toString();
|
||||
}
|
||||
//режим сравнения.
|
||||
else {
|
||||
return task.matchState.toString()+task.state.toString();
|
||||
return task.comparisonState.toString()+task.state.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,12 +116,6 @@ public class SapforPackagesComparisonForm {
|
||||
if (object.package_json == null) {
|
||||
try {
|
||||
object.readJson();
|
||||
object.package_json.tasks.sort(Comparator.comparing(SapforTask::getUniqueKey));
|
||||
for (SapforTask task : object.package_json.tasks)
|
||||
object.package_json.allTasks.put(task.getUniqueKey(), task);
|
||||
//---
|
||||
object.package_json.SortTasks(); //по состояниям конфигурациям и группам
|
||||
//---
|
||||
object.package_json.buildTree(object);
|
||||
//---
|
||||
} catch (Exception ex) {
|
||||
@@ -198,16 +192,18 @@ public class SapforPackagesComparisonForm {
|
||||
package1 = object;
|
||||
package2 = slave.object;
|
||||
//--
|
||||
if (package1.package_json.allTasks.size() != package2.package_json.allTasks.size()) {
|
||||
if (package1.package_json.tasks.size() != package2.package_json.tasks.size()) {
|
||||
Log.Writeln_("Количество задач в пакетах не совпадает!");
|
||||
return false;
|
||||
}
|
||||
//--
|
||||
for (String key1 : package1.package_json.allTasks.keySet()) {
|
||||
/*
|
||||
for (String key1 : package1.package_json.tasks) {
|
||||
if (!package2.package_json.allTasks.containsKey(key1)) {
|
||||
Log.Writeln_("Задача эталона " + key1 + "не найдена в сравниваемом пакете!");
|
||||
}
|
||||
}
|
||||
*/
|
||||
return Log.isEmpty();
|
||||
}
|
||||
return false;
|
||||
@@ -233,6 +229,7 @@ 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());
|
||||
|
||||
@@ -254,6 +251,7 @@ public class SapforPackagesComparisonForm {
|
||||
//-
|
||||
package1.package_json.buildComparisonTree(package1);
|
||||
package2.package_json.buildComparisonTree(package2);
|
||||
*/
|
||||
}
|
||||
@Override
|
||||
protected boolean validate() {
|
||||
|
||||
Reference in New Issue
Block a user