Перенос кнопки синхронизации на панель тестирования. Исправление бага с формированием пакета.
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -40,6 +40,7 @@ Temp/*
|
||||
Projects/*
|
||||
CompilationTasks/*
|
||||
Packages/*
|
||||
DVMPackages/*
|
||||
SapforPackages/*
|
||||
User/*
|
||||
RunTasks/*
|
||||
|
||||
25
.idea/workspace.xml
generated
25
.idea/workspace.xml
generated
@@ -7,13 +7,28 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadSapforPackage.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPackage/TestingPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPackage/TestingPackage.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Common/Global.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Global.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Common/UI/Menus_2023/TestingBar/TestingBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/Menus_2023/TestingBar/TestingBar.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/Group/GroupsMenuBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Group/GroupsMenuBar.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPlanner.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforPackage/SapforPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforPackage/SapforPackage.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackage.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTask.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTasksSet.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTasksSet.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMTask.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTestingPlanner.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/Json/SapforTasksPackage_json.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/Json/SapforTasksPackage_json.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/ActualizeTestingPackages.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/ActualizeTestingPackages.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddDVMPackage.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddTasksToDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddTasksToDVMPackage.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DeleteDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DeleteDVMPackage.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DeleteSapforPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DeleteSapforPackage.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadSapforPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadSapforPackage.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/DeleteTestingPackages.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/DeleteTestingPackages.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>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
"PerformanceAnalyzerPath": "",
|
||||
"ComponentsBackUpsCount": 10,
|
||||
"TestingKernels": 28,
|
||||
"AutoCheckTesting": false,
|
||||
"AutoCheckTesting": true,
|
||||
"CheckTestingIntervalSeconds": 10,
|
||||
"EmailOnTestingProgress": false
|
||||
}
|
||||
@@ -41,7 +41,7 @@ public class Global {
|
||||
public static final String Sts = "Sts";
|
||||
public static final String Repo = "Repo";
|
||||
public static final String Tests = "Tests";
|
||||
public static final String Packages = "Packages";
|
||||
public static final String DVMPackages = "DVMPackages";
|
||||
public static final String PerformanceAnalyzer = "PerformanceAnalyzer";
|
||||
public static GlobalProperties properties = new GlobalProperties();
|
||||
//</editor-fold>
|
||||
@@ -76,7 +76,7 @@ public class Global {
|
||||
public static File TestsDirectory;
|
||||
public static File PerformanceAnalyzerDirectory;
|
||||
public static File DataBackUpsDirectory;
|
||||
public static File PackagesDirectory;
|
||||
public static File DVMPackagesDirectory;
|
||||
public static File SapforsDirectory;
|
||||
public static File SapforPackagesDirectory;
|
||||
//------------------------------------------------------------------
|
||||
@@ -117,7 +117,7 @@ public class Global {
|
||||
Utils.CheckDirectory(StsDirectory = Paths.get(Home, Sts).toFile());
|
||||
Utils.CheckDirectory(TestsDirectory = Paths.get(Home, Tests).toFile());
|
||||
Utils.CheckDirectory(PerformanceAnalyzerDirectory = Paths.get(Home, PerformanceAnalyzer).toFile());
|
||||
Utils.CheckDirectory(PackagesDirectory = Paths.get(Home, Packages).toFile());
|
||||
Utils.CheckDirectory(DVMPackagesDirectory = Paths.get(Home, DVMPackages).toFile());
|
||||
Utils.CheckAndCleanDirectory(SapforPackagesDirectory = Paths.get(Home, "SapforPackages").toFile());
|
||||
}
|
||||
public static void CheckServerDirectories() {
|
||||
@@ -135,7 +135,7 @@ public class Global {
|
||||
//-
|
||||
Utils.CheckDirectory(TestsDirectory = Paths.get(Home, Tests).toFile());
|
||||
Utils.CheckDirectory(RepoDirectory = Paths.get(Home, Repo).toFile());
|
||||
Utils.CheckDirectory(PackagesDirectory = Paths.get(Home, Packages).toFile());
|
||||
Utils.CheckDirectory(DVMPackagesDirectory = Paths.get(Home, DVMPackages).toFile());
|
||||
Utils.CheckDirectory(SapforsDirectory = Paths.get(Home, "Sapfors").toFile());
|
||||
Utils.CheckDirectory(SapforPackagesDirectory = Paths.get(Home, "SapforPackages").toFile());
|
||||
}
|
||||
@@ -320,6 +320,7 @@ public class Global {
|
||||
//---
|
||||
ActivateDB(); //тут current getAccount; роль по умолчанию всегда неизвестна.
|
||||
///--------------
|
||||
/*
|
||||
Current.set(Current.Account, new Account(){
|
||||
{
|
||||
name = "M";
|
||||
@@ -327,7 +328,8 @@ public class Global {
|
||||
role = AccountRole.Admin;
|
||||
}
|
||||
});
|
||||
// Pass_2021.passes.get(PassCode_2021.CheckAccount).Do();
|
||||
*/
|
||||
Pass_2021.passes.get(PassCode_2021.CheckAccount).Do();
|
||||
//---------------
|
||||
componentsServer.ActivateDB();
|
||||
testingServer.ActivateDB();
|
||||
|
||||
@@ -7,6 +7,7 @@ import Common.UI.Themes.VisualiserFonts;
|
||||
import Common.UI.UI;
|
||||
import Common.Utils.Utils;
|
||||
import TestingSystem.Common.TestingServer;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
@@ -22,7 +23,7 @@ public class TestingBar extends VisualiserMenuBar {
|
||||
JSpinner sCheckTime;
|
||||
JSpinner sKernels;
|
||||
public TestingBar() {
|
||||
// addPasses(PassCode_2021.SynchronizeTestsTasks);
|
||||
addPasses(PassCode_2021.SynchronizeTests);
|
||||
//--
|
||||
// AddLabel("машина: ", "/icons/Machine.png");
|
||||
add(MachineButton = new MenuBarButton() {
|
||||
|
||||
@@ -62,7 +62,7 @@ public class Visualiser extends Component {
|
||||
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
|
||||
@Override
|
||||
public void GetVersionInfo() {
|
||||
version = 1049;
|
||||
version = 1050;
|
||||
String pattern = "MMM dd yyyy HH:mm:ss";
|
||||
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
|
||||
date_text = df.format(getClassBuildTime());
|
||||
|
||||
@@ -9,7 +9,8 @@ import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import javax.swing.*;
|
||||
public class GroupsMenuBar extends DataMenuBar {
|
||||
public GroupsMenuBar() {
|
||||
super("группы", PassCode_2021.SynchronizeTests, PassCode_2021.ConvertCorrectnessTests,
|
||||
super("группы",
|
||||
PassCode_2021.ConvertCorrectnessTests,
|
||||
PassCode_2021.PublishGroup,
|
||||
PassCode_2021.CreateGroupFromDirectory,
|
||||
PassCode_2021.CreateGroupFromFiles,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
package TestingSystem.Common;
|
||||
import Common.Constants;
|
||||
import Common.Utils.Utils;
|
||||
import Repository.EmailMessage;
|
||||
import Repository.Server.ServerCode;
|
||||
@@ -135,14 +136,15 @@ public abstract class TestingPlanner<P extends TestingPackage> {
|
||||
} else {
|
||||
try {
|
||||
if (Connect()) {
|
||||
if ((boolean) ServerCommand(getCheckIfNeedsKillCode(), testingPackage.id)) {
|
||||
int ptk_id = (int) ServerCommand(getCheckIfNeedsKillCode(), testingPackage.id);
|
||||
if (ptk_id!= Constants.Nan) {
|
||||
Print("package " + testingPackage.id + " NEEDS TO KILL");
|
||||
Kill();
|
||||
UpdatePackageState(TasksPackageState.Aborted);
|
||||
EmailPackage();
|
||||
ServerCommand(ServerCode.DeleteObjectByPK, ptk_id);
|
||||
} else {
|
||||
Session();
|
||||
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
|
||||
@@ -408,27 +408,25 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
}
|
||||
private void DVMPackageNeedsKill() {
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
response.object = Constants.Nan;
|
||||
int packageId = (int) request.object;
|
||||
boolean res_ = false;
|
||||
for (TestingPackageToKill packageToKill : db.testingPackagesToKill.Data.values()) {
|
||||
if ((packageToKill.packageId == packageId) && (packageToKill.type == 0)) {
|
||||
res_ = true;
|
||||
response.object = packageToKill.id;
|
||||
break;
|
||||
}
|
||||
}
|
||||
response.object = res_;
|
||||
}
|
||||
private void SapforPackageNeedsKill() throws Exception {
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
response.object = Constants.Nan;
|
||||
int packageId = (int) request.object;
|
||||
boolean res_ = false;
|
||||
for (TestingPackageToKill packageToKill : db.testingPackagesToKill.Data.values()) {
|
||||
if ((packageToKill.packageId == packageId) && (packageToKill.type == 1)) {
|
||||
res_ = true;
|
||||
response.object = packageToKill.id;
|
||||
break;
|
||||
}
|
||||
}
|
||||
response.object = res_;
|
||||
}
|
||||
private void DownloadDVMPackage() throws Exception {
|
||||
int dvmPackage_id = (int) request.object;
|
||||
@@ -468,6 +466,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
zipFolderPass.Do(workspace.getAbsolutePath(), results_zip.getAbsolutePath());
|
||||
if (results_zip.exists())
|
||||
response.object = Utils.packFile(results_zip);
|
||||
else throw new RepositoryRefuseException("Не удалось заархивировать пакет тестирования SAPFOR с ключом "+ sapforPackage_id);
|
||||
else
|
||||
throw new RepositoryRefuseException("Не удалось заархивировать пакет тестирования SAPFOR с ключом " + sapforPackage_id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
|
||||
}
|
||||
@Override
|
||||
public File getHomeDirectory() {
|
||||
return Global.PackagesDirectory;
|
||||
return Global.DVMPackagesDirectory;
|
||||
}
|
||||
public DVMPackage(DVMPackage p) {
|
||||
super(p);
|
||||
|
||||
@@ -41,7 +41,7 @@ public class DVMPackageDBTable extends iDBTable<DVMPackage> {
|
||||
@Override
|
||||
public void ShowCurrentObject() throws Exception {
|
||||
super.ShowCurrentObject();
|
||||
Global.testingServer.db.dvmRunTasks.ShowNoPackage();
|
||||
Global.testingServer.db.dvmRunTasks.ShowDVMPackage(getCurrent());
|
||||
UI.getMainWindow().getTestingWindow().DropTestRunTasksComparison();
|
||||
}
|
||||
@Override
|
||||
|
||||
@@ -116,7 +116,7 @@ public class DVMRunTask extends DVMTask {
|
||||
}
|
||||
public File getCompilationTaskWorkspace() {
|
||||
return Paths.get(
|
||||
Global.PackagesDirectory.getAbsolutePath(),
|
||||
Global.DVMPackagesDirectory.getAbsolutePath(),
|
||||
String.valueOf(dvm_package_id),
|
||||
"results",
|
||||
String.valueOf(dvmcompilationtask_id)
|
||||
|
||||
@@ -212,9 +212,6 @@ public class DVMRunTasksSet extends DataSet<Integer, DVMRunTask> {
|
||||
public void ShowNoPackage() {
|
||||
ClearUI();
|
||||
Data.clear();
|
||||
if (target != null) {
|
||||
target.destructor();
|
||||
target = null;
|
||||
}
|
||||
target = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ public class DVMTask extends iDBObject {
|
||||
}
|
||||
public File getLocalWorkspace() {
|
||||
return
|
||||
Paths.get(Global.PackagesDirectory.getAbsolutePath(),
|
||||
Paths.get(Global.DVMPackagesDirectory.getAbsolutePath(),
|
||||
String.valueOf(dvm_package_id),
|
||||
"results",
|
||||
String.valueOf(id)).toFile();
|
||||
|
||||
@@ -284,9 +284,11 @@ public class DVMTestingPlanner extends TestingPlanner<DVMPackage> {
|
||||
}
|
||||
//todo привязать это к настройкам, чтобы можно было включать/выключать удаление.
|
||||
//получили результат. теперь уничтожаем папку пакета на целевой машине.
|
||||
/*
|
||||
if ( user.connection.Exists(packageRemoteWorkspace)){
|
||||
user.connection.RMDIR(packageRemoteWorkspace.full_name);
|
||||
}
|
||||
*/
|
||||
}
|
||||
@Override
|
||||
protected void AnalyseResults() throws Exception {
|
||||
@@ -372,7 +374,7 @@ public class DVMTestingPlanner extends TestingPlanner<DVMPackage> {
|
||||
user = users.get(testingPackage.user_name);
|
||||
//--
|
||||
packageRemoteWorkspace = new RemoteFile(user.workspace + "/tests", String.valueOf(testingPackage.id), true);
|
||||
packageLocalWorkspace = new File(Global.PackagesDirectory, String.valueOf(testingPackage.id));
|
||||
packageLocalWorkspace = new File(Global.DVMPackagesDirectory, String.valueOf(testingPackage.id));
|
||||
}
|
||||
@Override
|
||||
protected boolean Connect() {
|
||||
|
||||
@@ -1,9 +1,16 @@
|
||||
package TestingSystem.SAPFOR.Json;
|
||||
import GlobalData.Tasks.TaskState;
|
||||
import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
|
||||
import TestingSystem.SAPFOR.SapforTask.MatchState;
|
||||
import TestingSystem.SAPFOR.SapforTask.SapforTask;
|
||||
import TestingSystem.SAPFOR.SapforTasksPackage.UI.PackageSummary;
|
||||
import TestingSystem.SAPFOR.SapforTasksPackage.UI.*;
|
||||
import com.google.gson.annotations.Expose;
|
||||
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
import java.io.File;
|
||||
import java.io.Serializable;
|
||||
import java.util.Comparator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
public class SapforTasksPackage_json implements Serializable {
|
||||
@@ -18,4 +25,194 @@ public class SapforTasksPackage_json implements Serializable {
|
||||
//---
|
||||
@Expose
|
||||
public List<SapforTask> tasks = new Vector<>();
|
||||
//-
|
||||
public PackageSummary root = null;
|
||||
public PackageSummary comparison_root = null;
|
||||
public LinkedHashMap<String, SapforTask> allTasks = 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 void DropComparison() {
|
||||
comparison_root = null;
|
||||
comparisonSortedTasks.clear();
|
||||
for (SapforTask task : allTasks.values())
|
||||
task.match = MatchState.NotMatch;
|
||||
}
|
||||
public void SortTasks() {
|
||||
sortedTasks.clear();
|
||||
//--
|
||||
for (TaskState state : TaskState.values()) {
|
||||
LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>> configuration_tasks = new LinkedHashMap<>();
|
||||
sortedTasks.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);
|
||||
}
|
||||
}
|
||||
//--
|
||||
}
|
||||
//--
|
||||
for (TaskState state : TaskState.values()) {
|
||||
LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>> configuration_tasks = sortedTasks.get(state);
|
||||
for (int configuration_id : configuration_tasks.keySet()) {
|
||||
LinkedHashMap<String, Vector<SapforTask>> groups_tasks = configuration_tasks.get(configuration_id);
|
||||
for (String group : groups_tasks.keySet()) {
|
||||
Vector<SapforTask> tasks_ = groups_tasks.get(group);
|
||||
tasks_.sort(Comparator.comparing(SapforTask::getUniqueKey));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public void SortTasksForComparison() {
|
||||
comparisonSortedTasks.clear();
|
||||
//раскидать задачи по состояниям, конфигам, группам
|
||||
for (MatchState matchState : MatchState.values()) {
|
||||
LinkedHashMap<TaskState, LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>>> state_tasks = new LinkedHashMap<>();
|
||||
comparisonSortedTasks.put(matchState, state_tasks);
|
||||
//--
|
||||
for (TaskState state : TaskState.values()) {
|
||||
LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>> configuration_tasks = new LinkedHashMap<>();
|
||||
state_tasks.put(state, configuration_tasks);
|
||||
//--
|
||||
for (SapforTask task : tasks) {
|
||||
if (task.match.equals(matchState) && 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
//--
|
||||
}
|
||||
//рассортировать задачи в группах по ключам.
|
||||
for (MatchState matchState : MatchState.values()) {
|
||||
LinkedHashMap<TaskState, LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>>> state_tasks = comparisonSortedTasks.get(matchState);
|
||||
for (TaskState state : TaskState.values()) {
|
||||
LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>> configuration_tasks = state_tasks.get(state);
|
||||
for (int configuration_id : configuration_tasks.keySet()) {
|
||||
LinkedHashMap<String, Vector<SapforTask>> groups_tasks = configuration_tasks.get(configuration_id);
|
||||
for (String group : groups_tasks.keySet()) {
|
||||
Vector<SapforTask> tasks_ = groups_tasks.get(group);
|
||||
tasks_.sort(Comparator.comparing(SapforTask::getUniqueKey));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public void buildTree(SapforPackage package_in) {
|
||||
root = new PackageSummary();
|
||||
//---
|
||||
for (TaskState state : sortedTasks.keySet()) {
|
||||
//--
|
||||
StateSummary stateSummary = new StateSummary(state);
|
||||
//--
|
||||
LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>> tasksByConfigurations = sortedTasks.get(state);
|
||||
for (int 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(package_in.getLocalWorkspace(), String.valueOf(configuration_id))));
|
||||
}
|
||||
if (configurationNode != null)
|
||||
configurationNode.add(groupSummary);
|
||||
}
|
||||
stateSummary.add(configurationNode);
|
||||
}
|
||||
if (stateSummary.count > 0) {
|
||||
root.add(stateSummary);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void buildComparisonTree(SapforPackage package_in) {
|
||||
comparison_root = new PackageSummary();
|
||||
for (MatchState match_state : comparisonSortedTasks.keySet()) {
|
||||
//--
|
||||
MatchesSummary matchesSummary = new MatchesSummary(match_state);
|
||||
//---
|
||||
LinkedHashMap<TaskState, LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>>> task_states = comparisonSortedTasks.get(match_state);
|
||||
//---
|
||||
for (TaskState state : task_states.keySet()) {
|
||||
//--
|
||||
StateSummary stateSummary = new StateSummary(state);
|
||||
//--
|
||||
LinkedHashMap<Integer, LinkedHashMap<String, Vector<SapforTask>>> tasksByConfigurations = task_states.get(state);
|
||||
for (int 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++;
|
||||
matchesSummary.count++;
|
||||
comparison_root.count++;
|
||||
//--
|
||||
if (configurationNode == null) {
|
||||
configurationNode = new ConfigurationSummary(configuration_id, task);
|
||||
}
|
||||
//--
|
||||
groupSummary.add(task.getVersionsTree(new File(package_in.getLocalWorkspace(), String.valueOf(configuration_id))));
|
||||
}
|
||||
if (configurationNode != null)
|
||||
configurationNode.add(groupSummary);
|
||||
}
|
||||
stateSummary.add(configurationNode);
|
||||
}
|
||||
if (stateSummary.count > 0) {
|
||||
matchesSummary.add(stateSummary);
|
||||
}
|
||||
}
|
||||
//---
|
||||
if (matchesSummary.count > 0) {
|
||||
comparison_root.add(matchesSummary);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,16 +24,11 @@ public abstract class ActualizeTestingPackages<P extends TestingPackage> extends
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
target = new Vector<>();
|
||||
System.out.println("active packages");
|
||||
for (P testingPackage : getTable().Data.values()) {
|
||||
System.out.println(testingPackage.id + " " + testingPackage.state);
|
||||
if (testingPackage.state.isActive()) {
|
||||
System.out.println(testingPackage.state);
|
||||
target.add(new Pair(testingPackage.id, testingPackage.ChangeDate));
|
||||
System.out.println(testingPackage.id);
|
||||
}
|
||||
}
|
||||
System.out.println("found " + target.size());
|
||||
return !target.isEmpty();
|
||||
}
|
||||
@Override
|
||||
|
||||
@@ -75,4 +75,9 @@ public class AddDVMPackage extends AddObjectPass<DVMPackage> {
|
||||
//черновик не вставляется в бд. идет только как элемент списка.
|
||||
Global.testingServer.db.dvmPackages.Data.put(target.id, target);
|
||||
}
|
||||
@Override
|
||||
protected void showDone() throws Exception {
|
||||
super.showDone();
|
||||
Global.testingServer.db.dvmRunTasks.ShowDVMPackage(target);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,5 +170,6 @@ public class AddTasksToDVMPackage extends Pass_2021<DVMPackage> {
|
||||
@Override
|
||||
protected void showDone() throws Exception {
|
||||
Global.testingServer.db.dvmPackages.ShowUI(target.id);
|
||||
Global.testingServer.db.dvmRunTasks.ShowDVMPackage(target);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Global;
|
||||
import Common.UI.UI;
|
||||
import Common.Utils.Utils;
|
||||
import TestingSystem.DVM.DVMPackage.DVMPackage;
|
||||
import Visual_DVM_2021.Passes.DeleteTestingPackages;
|
||||
|
||||
@@ -15,13 +14,8 @@ public class DeleteDVMPackage extends DeleteTestingPackages<DVMPackage> {
|
||||
UI.getMainWindow().getTestingWindow().DropTestRunTasksComparison();
|
||||
}
|
||||
@Override
|
||||
protected void performDone() throws Exception {
|
||||
super.performDone();
|
||||
for (Object object : target) {
|
||||
int id = (int) object;
|
||||
File workspace = new File(Global.PackagesDirectory, String.valueOf(id));
|
||||
Utils.forceDeleteWithCheck(workspace);
|
||||
}
|
||||
protected File getPackagesHome() {
|
||||
return Global.DVMPackagesDirectory;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Global;
|
||||
import Common.Utils.Utils;
|
||||
import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
|
||||
import Visual_DVM_2021.Passes.DeleteTestingPackages;
|
||||
|
||||
import java.io.File;
|
||||
public class DeleteSapforPackage extends DeleteTestingPackages<SapforPackage> {
|
||||
public DeleteSapforPackage() {
|
||||
super(SapforPackage.class);
|
||||
}
|
||||
@Override
|
||||
protected File getPackagesHome() {
|
||||
return Global.SapforPackagesDirectory;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,6 +48,7 @@ public class DownloadSapforPackage extends Pass_2021<SapforPackage> {
|
||||
@Override
|
||||
protected void body() throws Exception {
|
||||
File workspace = target.getLocalWorkspace();
|
||||
Utils.forceDeleteWithCheck(workspace);
|
||||
File archive = Utils.getTempFileName(String.valueOf(target.id));
|
||||
Utils.unpackFile(packed,archive);
|
||||
passes.get(PassCode_2021.UnzipFolderPass).Do(archive.getAbsolutePath(), Global.SapforPackagesDirectory.getAbsolutePath());
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
package Visual_DVM_2021.Passes;
|
||||
import Common.Constants;
|
||||
import Common.Global;
|
||||
import Common.Utils.Utils;
|
||||
import TestingSystem.Common.TestingPackage.TestingPackage;
|
||||
import TestingSystem.Common.TestingServer;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Vector;
|
||||
public class DeleteTestingPackages<P extends TestingPackage> extends DeleteServerObjects<TestingServer, P>{
|
||||
public abstract class DeleteTestingPackages<P extends TestingPackage> extends DeleteServerObjects<TestingServer, P>{
|
||||
boolean delete_draft;
|
||||
public DeleteTestingPackages(Class<P> p) {
|
||||
super(Global.testingServer, p);
|
||||
@@ -25,6 +26,7 @@ public class DeleteTestingPackages<P extends TestingPackage> extends DeleteServe
|
||||
*/
|
||||
return true;
|
||||
}
|
||||
protected abstract File getPackagesHome();
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
delete_draft = false;
|
||||
@@ -57,5 +59,13 @@ public class DeleteTestingPackages<P extends TestingPackage> extends DeleteServe
|
||||
getDb().tables.get(d).Data.remove(Constants.Nan);
|
||||
getDb().tables.get(d).ShowUI();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void performDone() throws Exception {
|
||||
super.performDone();
|
||||
for (Object object : target) {
|
||||
int id = (int) object;
|
||||
File workspace = new File(getPackagesHome(), String.valueOf(id));
|
||||
Utils.forceDeleteWithCheck(workspace);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import Visual_DVM_2021.Passes.Pass_2021;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.Comparator;
|
||||
public class SapforPackagesComparisonForm {
|
||||
public boolean comparisonMode = false;
|
||||
//-->>
|
||||
@@ -62,7 +63,6 @@ public class SapforPackagesComparisonForm {
|
||||
}
|
||||
}
|
||||
public void ApplyObject() {
|
||||
|
||||
//---Загрузка
|
||||
RemoveObject();
|
||||
//---
|
||||
@@ -70,7 +70,7 @@ public class SapforPackagesComparisonForm {
|
||||
if (Current.Check(log, Current.SapforPackage)) {
|
||||
object = Current.getSapforPackage();
|
||||
if (object.isLoaded() || (Pass_2021.passes.get(PassCode_2021.DownloadSapforPackage).Do(object))) {
|
||||
// showObject();
|
||||
showObject();
|
||||
}
|
||||
} else
|
||||
UI.Info(log.toString());
|
||||
@@ -89,41 +89,47 @@ public class SapforPackagesComparisonForm {
|
||||
}
|
||||
//---
|
||||
public void showCommonTree() {
|
||||
/*
|
||||
//---
|
||||
treePanel.add(treeScroll = new JScrollPane(
|
||||
Body = new SapforTasksPackageTree(object.results.root,
|
||||
Body = new SapforTasksPackageTree(object.package_json.root,
|
||||
isMaster() ? Current.SapforEtalonVersion : Current.SapforVersion
|
||||
)));
|
||||
treePanel.repaint();
|
||||
treePanel.revalidate();
|
||||
|
||||
*/
|
||||
}
|
||||
public void showComparisonTree() {
|
||||
/*
|
||||
treePanel.add(treeScroll = new JScrollPane(
|
||||
Body = new SapforTasksPackageTree(object.results.comparison_root,
|
||||
Body = new SapforTasksPackageTree(object.package_json.comparison_root,
|
||||
isMaster() ? Current.SapforEtalonVersion : Current.SapforVersion
|
||||
)));
|
||||
treePanel.repaint();
|
||||
treePanel.revalidate();
|
||||
*/
|
||||
}
|
||||
//---
|
||||
public void showNoTree() {
|
||||
UI.Clear(treePanel);
|
||||
}
|
||||
public void showObject() {
|
||||
/*
|
||||
lObjectName.setText(object.getPK().toString() + (isMaster() ? "(эталон)" : ""));
|
||||
lObjectName.setToolTipText(object.getPK().toString());
|
||||
//--
|
||||
if (object.results == null)
|
||||
object.readResults();
|
||||
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) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
//--
|
||||
showCommonTree();
|
||||
*/
|
||||
}
|
||||
protected String getText() {
|
||||
return "";
|
||||
@@ -200,13 +206,12 @@ public class SapforPackagesComparisonForm {
|
||||
Log.Writeln_("Наборы конфигураций не совпадают!");
|
||||
return false;
|
||||
}
|
||||
/*
|
||||
for (String key1 : package1.results.allTasks.keySet()) {
|
||||
if (!package2.results.allTasks.containsKey(key1)) {
|
||||
|
||||
for (String key1 : package1.package_json.allTasks.keySet()) {
|
||||
if (!package2.package_json.allTasks.containsKey(key1)) {
|
||||
Log.Writeln_("Задача эталона " + key1 + "не найдена в сравниваемом пакете!");
|
||||
}
|
||||
}
|
||||
*/
|
||||
return Log.isEmpty();
|
||||
}
|
||||
return false;
|
||||
@@ -219,8 +224,8 @@ public class SapforPackagesComparisonForm {
|
||||
treeScroll = null;
|
||||
slave.treeScroll = null;
|
||||
//--
|
||||
// package1.results.DropComparison();
|
||||
// package2.results.DropComparison();
|
||||
package1.package_json.DropComparison();
|
||||
package2.package_json.DropComparison();
|
||||
}
|
||||
@Override
|
||||
protected void showPreparation() throws Exception {
|
||||
@@ -232,27 +237,27 @@ public class SapforPackagesComparisonForm {
|
||||
}
|
||||
@Override
|
||||
protected void body() throws Exception {
|
||||
/*
|
||||
System.out.println(package1.results.allTasks.size());
|
||||
System.out.println(package2.results.allTasks.size());
|
||||
|
||||
System.out.println(package1.package_json.allTasks.size());
|
||||
System.out.println(package2.package_json.allTasks.size());
|
||||
//теперь сравниваем задачи
|
||||
int i = 1;
|
||||
for (String key1 : package1.results.allTasks.keySet()) {
|
||||
for (String key1 : package1.package_json.allTasks.keySet()) {
|
||||
System.out.println(i + "=" + key1);
|
||||
SapforTask task1 = package1.results.allTasks.get(key1);
|
||||
SapforTask task2 = package2.results.allTasks.get(key1);
|
||||
SapforTask task1 = package1.package_json.allTasks.get(key1);
|
||||
SapforTask task2 = package2.package_json.allTasks.get(key1);
|
||||
//--
|
||||
task1.checkMatch(task2);
|
||||
//--
|
||||
++i;
|
||||
}
|
||||
//--
|
||||
package1.results.SortTasksForComparison();
|
||||
package2.results.SortTasksForComparison();
|
||||
package1.package_json.SortTasksForComparison();
|
||||
package2.package_json.SortTasksForComparison();
|
||||
//-
|
||||
package1.results.buildComparisonTree(package1);
|
||||
package2.results.buildComparisonTree(package2);
|
||||
*/
|
||||
package1.package_json.buildComparisonTree(package1);
|
||||
package2.package_json.buildComparisonTree(package2);
|
||||
|
||||
}
|
||||
@Override
|
||||
protected boolean validate() {
|
||||
@@ -279,7 +284,7 @@ public class SapforPackagesComparisonForm {
|
||||
pass.Do();
|
||||
}
|
||||
public void SynchronizeTrees() {
|
||||
if (slave.Body!=null) {
|
||||
if (slave.Body != null) {
|
||||
Body.setSlaveTree(slave.Body);
|
||||
slave.treeScroll.getVerticalScrollBar().setModel(treeScroll.getVerticalScrollBar().getModel());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user