package SapforTestingSystem.Json; import GlobalData.Tasks.TaskState; import SapforTestingSystem.SapforTask.SapforTask; import com.google.gson.annotations.Expose; import java.util.Comparator; import java.util.LinkedHashMap; import java.util.List; import java.util.Vector; public class SapforTasksResults_json { @Expose public long StartDate = 0; @Expose public long EndDate = 0; @Expose public List tasks = new Vector<>(); //задачи по ключам. public LinkedHashMap sortedTasks = new LinkedHashMap<>(); public void SortTasks() { //--->>> tasks.sort(Comparator.comparing(SapforTask::getUniqueKey)); //--->>> for (SapforTask task : tasks) sortedTasks.put(task.getUniqueKey(), task); } //это для емейла. Не трогать. public LinkedHashMap>>> sortTasksByStatesConfigurationsAndGroups() { LinkedHashMap>>> res = new LinkedHashMap<>(); //рассортировать задачи по конфигурациям. for (TaskState state : TaskState.values()) { LinkedHashMap>> tasksByConfigurations = new LinkedHashMap<>(); res.put(state, tasksByConfigurations); //-- for (SapforTask task : tasks) { if (task.state.equals(state)) { LinkedHashMap> groups_tasks = null; if (tasksByConfigurations.containsKey(task.sapfor_configuration_id)) { groups_tasks = tasksByConfigurations.get(task.sapfor_configuration_id); } else { groups_tasks = new LinkedHashMap<>(); tasksByConfigurations.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); } } } return res; } //--- // для отображения дерева без сравнения. public LinkedHashMap>>> sortTasksForTree() { LinkedHashMap>>> res = new LinkedHashMap<>(); //-- for (TaskState state : TaskState.values()) { LinkedHashMap>> configuration_tasks = new LinkedHashMap<>(); res.put(state, configuration_tasks); //-- for (SapforTask task : tasks) { if (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); } } } //-- return res; } } //--- /* public LinkedHashMap>>>> sortTasksForComparisonTree() { LinkedHashMap>>>> res = new LinkedHashMap<>(); for (MatchState matchState : MatchState.values()) { LinkedHashMap>>> state_tasks = new LinkedHashMap<>(); res.put(matchState, state_tasks); //-- for (TaskState state : TaskState.values()) { LinkedHashMap>> configuration_tasks = new LinkedHashMap<>(); state_tasks.put(state, configuration_tasks); //-- for (SapforTask task : tasks) { 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); } } } //-- } //-- //рассортировать задачи по конфигурациям. return res; } */