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

This commit is contained in:
2023-10-27 02:07:13 +03:00
parent a1b7bec282
commit 0fbd239112
9 changed files with 121 additions and 43 deletions

View File

@@ -2,36 +2,61 @@ package SapforTestingSystem.SapforTasksPackage;
import Common.Constants;
import Common.Global;
import Common.Utils.Utils;
import SapforTestingSystem.Json.SapforConfiguration_json;
import SapforTestingSystem.Json.SapforTasksPackage_json;
import SapforTestingSystem.Json.SapforTasksResults_json;
import SapforTestingSystem.SapforTask.SapforTask;
import javax.swing.tree.DefaultMutableTreeNode;
import java.io.File;
import java.nio.file.Paths;
import java.util.LinkedHashMap;
import java.util.Vector;
public class SapforTasksPackageInterface {
public static File getPackageArchive(SapforTasksPackage package_in) {
return new File(Global.SapforPackagesDirectory, package_in.id + ".zip");
}
public static DefaultMutableTreeNode getTree(SapforTasksPackage package_in) throws Exception {
SapforTasksPackage_json package_json = getJson(package_in);
SapforTasksResults_json results = getResults(package_in);
public static DefaultMutableTreeNode getTree(SapforTasksPackage package_in) {
SapforTasksResults_json results_json = getLocalResults(package_in);
//-- флаги группы
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> sortedTasks = results_json.sortTasksFlagsAndGroups();
//--
DefaultMutableTreeNode root = new DefaultMutableTreeNode(package_in.id);
for (SapforConfiguration_json configuration : package_json.configurations) {
DefaultMutableTreeNode node = new DefaultMutableTreeNode(configuration.flags);
root.add(node);
for (String flags : sortedTasks.keySet()) {
DefaultMutableTreeNode flagsNode = new DefaultMutableTreeNode(flags);
//---
LinkedHashMap<String, Vector<SapforTask>> tasksByGroups = sortedTasks.get(flags);
for (String group : tasksByGroups.keySet()) {
DefaultMutableTreeNode groupNode = new DefaultMutableTreeNode(group);
//--
Vector<SapforTask> tasks = tasksByGroups.get(group);
for (SapforTask task : tasks) {
DefaultMutableTreeNode taskNode = new DefaultMutableTreeNode(task.test_description);
groupNode.add(taskNode);
}
flagsNode.add(groupNode);
}
//---
root.add(flagsNode);
}
return root;
}
public static SapforTasksPackage_json getJson(SapforTasksPackage package_in) throws Exception {
File json_file = new File(package_in.workspace, Constants.package_json);
return (SapforTasksPackage_json) Utils.jsonFromFile(json_file,
SapforTasksPackage_json.class);
public static File getLocalWorkspace(SapforTasksPackage package_in) {
return new File(Global.SapforPackagesDirectory, package_in.id);
}
public static SapforTasksResults_json getResults(SapforTasksPackage package_in) throws Exception {
File json_file = new File(package_in.workspace, Constants.results_json);
return (SapforTasksResults_json) Utils.jsonFromFile(json_file,
SapforTasksResults_json.class);
public static SapforTasksResults_json getLocalResults(SapforTasksPackage package_in) {
File json_file = new File(getLocalWorkspace(package_in), Constants.results_json);
SapforTasksResults_json res = null;
try {
res = (SapforTasksResults_json) Utils.jsonFromFile(json_file,
SapforTasksResults_json.class);
} catch (Exception ex) {
ex.printStackTrace();
}
return res;
}
public static File getLoadedSign(SapforTasksPackage package_in) {
return Paths.get(Global.SapforPackagesDirectory.getAbsolutePath(), package_in.id, Constants.LOADED).toFile();
}
public static boolean isLoaded(SapforTasksPackage package_in) {
return getLoadedSign(package_in).exists();
}
}

View File

@@ -1,3 +1,22 @@
package SapforTestingSystem.SapforTasksPackage;
public class SapforTasksPackageTree {
}
import Common.UI.Trees.DataTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
public class SapforTasksPackageTree extends DataTree {
public SapforTasksPackageTree(DefaultMutableTreeNode root_in) {
super(root_in);
setRootVisible(false);
CollapseAll();
}
@Override
protected int getStartLine() {
return 1;
}
@Override
public void SelectionAction(TreePath path) {}
@Override
public void LeftMouseAction2() {
}
}