no message

This commit is contained in:
2023-11-07 19:13:07 +03:00
parent e711570906
commit 4523575b74
5 changed files with 129 additions and 57 deletions

4
.idea/workspace.xml generated
View File

@@ -8,7 +8,9 @@
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment=""> <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$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTask/MatchState.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTask/MatchState.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/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" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackageInterface.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" /> <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> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />

View File

@@ -1,6 +1,5 @@
package SapforTestingSystem.Json; package SapforTestingSystem.Json;
import GlobalData.Tasks.TaskState; import GlobalData.Tasks.TaskState;
import SapforTestingSystem.SapforTask.MatchState;
import SapforTestingSystem.SapforTask.SapforTask; import SapforTestingSystem.SapforTask.SapforTask;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
@@ -14,6 +13,7 @@ public class SapforTasksResults_json {
public long EndDate = 0; public long EndDate = 0;
@Expose @Expose
public List<SapforTask> tasks = new Vector<>(); public List<SapforTask> tasks = new Vector<>();
//это для емейла. Не трогать.
public LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> sortTasksByStatesConfigurationsAndGroups() { public LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> sortTasksByStatesConfigurationsAndGroups() {
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> res = new LinkedHashMap<>(); LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> res = new LinkedHashMap<>();
//рассортировать задачи по конфигурациям. //рассортировать задачи по конфигурациям.
@@ -44,7 +44,41 @@ public class SapforTasksResults_json {
return res; return res;
} }
//--- //---
public LinkedHashMap<MatchState, LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>>> sortTasksForTree() { // для отображения дерева без сравнения.
public LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> sortTasksForTree() {
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> res = new LinkedHashMap<>();
//--
for (TaskState state : TaskState.values()) {
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> configuration_tasks = new LinkedHashMap<>();
res.put(state, configuration_tasks);
//--
for (SapforTask task : tasks) {
if (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);
} else {
groups_tasks = new LinkedHashMap<>();
configuration_tasks.put(task.sapfor_configuration_id, groups_tasks);
}
Vector<SapforTask> 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<MatchState, LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>>> sortTasksForComparisonTree() {
LinkedHashMap<MatchState, LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>>> res = new LinkedHashMap<>(); LinkedHashMap<MatchState, LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>>> res = new LinkedHashMap<>();
for (MatchState matchState : MatchState.values()) { for (MatchState matchState : MatchState.values()) {
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> state_tasks = new LinkedHashMap<>(); LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> state_tasks = new LinkedHashMap<>();
@@ -80,4 +114,4 @@ public class SapforTasksResults_json {
//рассортировать задачи по конфигурациям. //рассортировать задачи по конфигурациям.
return res; return res;
} }
} */

View File

@@ -2,6 +2,7 @@ package SapforTestingSystem.SapforTasksPackage;
import Common.Constants; import Common.Constants;
import Common.Database.DBObject; import Common.Database.DBObject;
import Common.Database.nDBObject; import Common.Database.nDBObject;
import SapforTestingSystem.Json.SapforTasksResults_json;
import TestingSystem.TasksPackage.TasksPackageState; import TestingSystem.TasksPackage.TasksPackageState;
import com.sun.org.glassfish.gmbal.Description; import com.sun.org.glassfish.gmbal.Description;
@@ -33,14 +34,6 @@ public class SapforTasksPackage extends nDBObject {
public String configurationsIds = ""; public String configurationsIds = "";
@Description("DEFAULT ''") @Description("DEFAULT ''")
public String summary = ""; public String summary = "";
// допустимые состояния
//Queued
//PackageStart
//RunningExecution
//Done
//Aborted
@Description("IGNORE")
public DefaultMutableTreeNode root = null;
@Override @Override
public void SynchronizeFields(DBObject src) { public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src); super.SynchronizeFields(src);
@@ -58,4 +51,13 @@ public class SapforTasksPackage extends nDBObject {
state = p.state; state = p.state;
needsEmail = p.needsEmail; needsEmail = p.needsEmail;
} }
//---
@Description("IGNORE")
public DefaultMutableTreeNode root = null;
@Description("IGNORE")
public DefaultMutableTreeNode comparison_root = null;
//---
@Description("IGNORE")
public SapforTasksResults_json results = null;
//---
} }

View File

@@ -4,9 +4,11 @@ import Common.Global;
import Common.Utils.Utils; import Common.Utils.Utils;
import GlobalData.Tasks.TaskState; import GlobalData.Tasks.TaskState;
import SapforTestingSystem.Json.SapforTasksResults_json; import SapforTestingSystem.Json.SapforTasksResults_json;
import SapforTestingSystem.SapforTask.MatchState;
import SapforTestingSystem.SapforTask.SapforTask; import SapforTestingSystem.SapforTask.SapforTask;
import SapforTestingSystem.SapforTasksPackage.UI.*; import SapforTestingSystem.SapforTasksPackage.UI.ConfigurationSummary;
import SapforTestingSystem.SapforTasksPackage.UI.GroupSummary;
import SapforTestingSystem.SapforTasksPackage.UI.PackageSummary;
import SapforTestingSystem.SapforTasksPackage.UI.StateSummary;
import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultMutableTreeNode;
import java.io.File; import java.io.File;
@@ -38,11 +40,12 @@ public class SapforTasksPackageInterface {
return getLoadedSign(package_in).exists(); return getLoadedSign(package_in).exists();
} }
//-- //--
public static DefaultMutableTreeNode buildTree(SapforTasksPackage package_in) { public static DefaultMutableTreeNode buildTree_old(SapforTasksPackage package_in) {
PackageSummary root = new PackageSummary(); PackageSummary root = new PackageSummary();
/*
SapforTasksResults_json results_json = getLocalResults(package_in); SapforTasksResults_json results_json = getLocalResults(package_in);
LinkedHashMap<MatchState, LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>>> sortedTasks = LinkedHashMap<MatchState, LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>>> sortedTasks =
results_json.sortTasksForTree(); results_json.sortTasksForComparisonTree();
//-- //--
for (MatchState match_state : sortedTasks.keySet()) { for (MatchState match_state : sortedTasks.keySet()) {
//-- //--
@@ -90,12 +93,54 @@ public class SapforTasksPackageInterface {
root.add(matchesSummary); root.add(matchesSummary);
} }
} }
*/
return root; return root;
} }
//-- //--
public static DefaultMutableTreeNode getTree(SapforTasksPackage package_in) { public static DefaultMutableTreeNode buildTree(SapforTasksPackage package_in) {
if (package_in.root == null) //--
package_in.root = buildTree(package_in); if (package_in.results == null) {
return package_in.root; package_in.results = getLocalResults(package_in);
}
//--
PackageSummary root = new PackageSummary();
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> task_states =
package_in.results.sortTasksForTree();
//---
for (TaskState state : task_states.keySet()) {
//--
StateSummary stateSummary = new StateSummary(state);
//--
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> tasksByConfigurations = task_states.get(state);
for (String configuration_id : tasksByConfigurations.keySet()) {
//--
DefaultMutableTreeNode configurationNode = null;
//--
LinkedHashMap<String, Vector<SapforTask>> groups_tasks = tasksByConfigurations.get(configuration_id);
for (String group : groups_tasks.keySet()) {
//--
GroupSummary groupSummary = new GroupSummary(group);
//--
for (SapforTask task : groups_tasks.get(group)) {
//--
stateSummary.count++;
root.count++;
//--
if (configurationNode == null) {
configurationNode = new ConfigurationSummary(configuration_id, task);
}
//--
groupSummary.add(task.getVersionsTree(new File(getLocalWorkspace(package_in), configuration_id)));
}
if (configurationNode != null)
configurationNode.add(groupSummary);
}
stateSummary.add(configurationNode);
}
if (stateSummary.count > 0) {
root.add(stateSummary);
}
}
return root;
} }
} }

View File

@@ -70,18 +70,15 @@ public class SapforPackagesComparisonForm {
} else { } else {
UI.getMainWindow().getTestingWindow().ShowNoSapforPackageVersion(); UI.getMainWindow().getTestingWindow().ShowNoSapforPackageVersion();
} }
} }
protected void showObject() { protected void showObject() {
lObjectName.setText(object.getPK().toString() + (isMaster() ? "(эталон)" : "")); lObjectName.setText(object.getPK().toString() + (isMaster() ? "(эталон)" : ""));
lObjectName.setToolTipText(object.getPK().toString()); lObjectName.setToolTipText(object.getPK().toString());
if (object.root == null) {
object.root = SapforTasksPackageInterface.buildTree(object);
}
treePanel.add(new JScrollPane( treePanel.add(new JScrollPane(
new SapforTasksPackageTree( new SapforTasksPackageTree(object.root,
SapforTasksPackageInterface.buildTree(object),
isMaster() ? Current.SapforEtalonVersion : Current.SapforVersion isMaster() ? Current.SapforEtalonVersion : Current.SapforVersion
))); )));
} }
@@ -105,7 +102,7 @@ public class SapforPackagesComparisonForm {
bNext.addActionListener(e -> { bNext.addActionListener(e -> {
}); });
bCompare.addActionListener(e -> { bCompare.addActionListener(e -> {
DoComparePass(isReady() && slave.isReady()); DoComparePass();
}); });
} else { } else {
//рабу сравнивать не положено. //рабу сравнивать не положено.
@@ -129,8 +126,10 @@ public class SapforPackagesComparisonForm {
public void onClose() { public void onClose() {
RemoveObject(); RemoveObject();
} }
public void DoComparePass(boolean startCondition) { public void DoComparePass() {
Pass_2021 pass = new Pass_2021() { Pass_2021 pass = new Pass_2021() {
SapforTasksPackage package1;
SapforTasksPackage package2;
@Override @Override
public String getDescription() { public String getDescription() {
return "Сравнение"; return "Сравнение";
@@ -145,11 +144,21 @@ public class SapforPackagesComparisonForm {
} }
@Override @Override
protected boolean canStart(Object... args) throws Exception { protected boolean canStart(Object... args) throws Exception {
return startCondition; if (isReady() && slave.isReady()) {
package1 = object;
package2 = slave.object;
if (!package1.testsIds.equals(package2.testsIds)) {
Log.Writeln_("Наборы тестов пакетов не совпадают!");
}
if (!package1.configurationsIds.equals(package2.configurationsIds)) {
Log.Writeln_("Наборы конфигураций не совпадают!");
}
return true;
}
return false;
} }
@Override @Override
protected void body() throws Exception { protected void body() throws Exception {
Compare();
} }
}; };
pass.Do(); pass.Do();
@@ -180,24 +189,4 @@ public class SapforPackagesComparisonForm {
pass.Do(); pass.Do();
} }
//предполагаем что оба объекта есть и мы можем получить с них текст. //предполагаем что оба объекта есть и мы можем получить с них текст.
protected void Compare() throws Exception
{
SapforTasksPackage package1 = object;
SapforTasksPackage package2 = slave.object;
UI.Info(package1.id+" "+package2.id);
/*
//это всегда форма мастер
//1. Получить файл теста.Для сапфора ограничение что файл может быть только один.Возможно и для других тоже.
// File project_db = new File(object.Home, "project.json");
for (String masterTaskKey : packageTasks.Data.keySet()) {
for (String slaveTaskKey : slave.packageTasks.Data.keySet()) {
if (masterTaskKey.equals(slaveTaskKey)) {
compareTasks(packageTasks.get(masterTaskKey), slave.packageTasks.get(masterTaskKey));
}
}
}
*/
}
} }