Исправление клонирования пакетов ДВМ

This commit is contained in:
2024-03-22 23:08:51 +03:00
parent b6b6e2e642
commit 9f1777431c
13 changed files with 250 additions and 169 deletions

15
.idea/workspace.xml generated
View File

@@ -9,14 +9,17 @@
<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$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" /> <change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/Database/DataSet.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Database/DataSet.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/Repository/Server/ServerCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" 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/TasksPackageState.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TasksPackageState.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/Common/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackagesBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackagesBar.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/DVM/DVMPackage/UI/AddDVMPackageMenu.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/UI/AddDVMPackageMenu.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTestingPlanner.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/AddSapforPackageMenu.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/AddSapforPackageMenu.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/MainForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/MainForm.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/SapforPackagesBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/SapforPackagesBar.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddSapforPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddSapforPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CloneDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CloneDVMPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CloneSapforPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CloneSapforPackage.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -4,7 +4,7 @@
"ServerUserName": "testuser", "ServerUserName": "testuser",
"ServerUserSHHPort": 23, "ServerUserSHHPort": 23,
"ComponentsServerPort": 7995, "ComponentsServerPort": 7995,
"TestingServerPort": 7996, "TestingServerPort": 7998,
"SocketTimeout": 5000, "SocketTimeout": 5000,
"OldServer": false, "OldServer": false,
"SMTPHost": "smtp.mail.ru", "SMTPHost": "smtp.mail.ru",
@@ -30,12 +30,12 @@
"InstructionPath": "", "InstructionPath": "",
"PerformanceAnalyzerPath": "", "PerformanceAnalyzerPath": "",
"ComponentsBackUpsCount": 10, "ComponentsBackUpsCount": 10,
"TestingKernels": 28, "TestingKernels": 16,
"AutoCheckTesting": true, "AutoCheckTesting": true,
"CheckTestingIntervalSeconds": 10, "CheckTestingIntervalSeconds": 10,
"EmailOnTestingProgress": false, "EmailOnTestingProgress": false,
"collapseCredentials": false, "collapseCredentials": false,
"collapseFileGraphs": false, "collapseFileGraphs": true,
"collapseFileMessages": false, "collapseFileMessages": true,
"collapseProjectTrees": false "collapseProjectTrees": false
} }

View File

@@ -280,4 +280,18 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
} }
return true; return true;
} }
//--
public Vector<D> getCheckedOrCurrent() {
Vector<D> res = new Vector<>();
if (getCheckedCount() > 0)
res = getCheckedItems();
else {
if (!CurrentName().equals(Current.Undefined)) {
if (getCurrent() != null) {
res.add(getCurrent());
}
}
}
return res;
}
} }

View File

@@ -62,7 +62,7 @@ public class Visualiser extends Component {
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html //http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
@Override @Override
public void GetVersionInfo() { public void GetVersionInfo() {
version = 1082; version = 1083;
String pattern = "MMM dd yyyy HH:mm:ss"; String pattern = "MMM dd yyyy HH:mm:ss";
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH); DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
date_text = df.format(getClassBuildTime()); date_text = df.format(getClassBuildTime());

View File

@@ -79,7 +79,7 @@ public enum ServerCode {
InstallServerSapfor, InstallServerSapfor,
ReplaceTestCode, ReplaceTestCode,
ReplaceTestsCodes, ReplaceTestsCodes,
GetDVMPackagesJson,
GetSapforPackagesJson, GetSapforPackagesJson,
GetFirstsActiveDVMPackages GetFirstsActiveDVMPackages;
;
} }

View File

@@ -16,6 +16,7 @@ import TestingSystem.Common.Test.Test;
import TestingSystem.Common.Test.TestType; import TestingSystem.Common.Test.TestType;
import TestingSystem.Common.TestingPackageToKill.TestingPackageToKill; import TestingSystem.Common.TestingPackageToKill.TestingPackageToKill;
import TestingSystem.DVM.DVMPackage.DVMPackage; import TestingSystem.DVM.DVMPackage.DVMPackage;
import TestingSystem.DVM.DVMPackage.DVMPackage_json;
import TestingSystem.DVM.DVMTestingPlanner; import TestingSystem.DVM.DVMTestingPlanner;
import TestingSystem.SAPFOR.Json.SapforPackage_json; import TestingSystem.SAPFOR.Json.SapforPackage_json;
import TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration; import TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
@@ -250,6 +251,10 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
Print("Получить информацию о задачах пакетов SAPFOR"); Print("Получить информацию о задачах пакетов SAPFOR");
GetSapforPackagesJson(); GetSapforPackagesJson();
break; break;
case GetDVMPackagesJson:
Print("Получить информацию о задачах пакетов DVM");
GetDVMPackagesJson();
break;
case GetFirstsActiveDVMPackages: case GetFirstsActiveDVMPackages:
Print("Получить первые активные пакеты задач DVM на машинах"); Print("Получить первые активные пакеты задач DVM на машинах");
GetFirstActiveDVMPackagesByMachines(); GetFirstActiveDVMPackagesByMachines();
@@ -258,6 +263,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
throw new RepositoryRefuseException("Неподдерживаемый код: " + code); throw new RepositoryRefuseException("Неподдерживаемый код: " + code);
} }
} }
//->> //->>
Pair<Group, Vector<File>> ConvertDirectoryToGroup(File src, LanguageName languageName, TestType Pair<Group, Vector<File>> ConvertDirectoryToGroup(File src, LanguageName languageName, TestType
testType, Account account) throws Exception { testType, Account account) throws Exception {
@@ -617,6 +623,21 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
//- //-
Email(message, out, err); Email(message, out, err);
} }
private void GetDVMPackagesJson() throws Exception{
Vector<Integer> packages_ids = (Vector<Integer>) request.object;
Vector<DVMPackage_json> jsons = new Vector<>();
for (int package_id : packages_ids) {
if (!db.dvmPackages.containsKey(package_id))
throw new RepositoryRefuseException("Пакета задач DVM " + Utils.Brackets(package_id) + " не существует.");
DVMPackage dvmPackage = db.dvmPackages.get(package_id);
File json = dvmPackage.getJsonFile();
if (!json.exists())
throw new RepositoryRefuseException("Не найден JSON файл для пакета задач DVM " + Utils.Brackets(package_id));
jsons.add((DVMPackage_json) Utils.jsonFromFile(json, DVMPackage_json.class));
}
response = new ServerExchangeUnit_2021(ServerCode.OK);
response.object = jsons;
}
private void GetSapforPackagesJson() throws Exception { private void GetSapforPackagesJson() throws Exception {
Vector<Integer> packages_ids = (Vector<Integer>) request.object; Vector<Integer> packages_ids = (Vector<Integer>) request.object;
Vector<SapforPackage_json> jsons = new Vector<>(); Vector<SapforPackage_json> jsons = new Vector<>();

View File

@@ -3,11 +3,6 @@ import Common.Global;
import Common.UI.Menus_2023.DataMenuBar; import Common.UI.Menus_2023.DataMenuBar;
import Common.UI.Menus_2023.MenuBarButton; import Common.UI.Menus_2023.MenuBarButton;
import Common.Utils.Utils; import Common.Utils.Utils;
import TestingSystem.Common.Group.UI.AddGroupMenu;
import TestingSystem.Common.Group.UI.EditGroupMenu;
import TestingSystem.DVM.DVMPackage.UI.AddDVMPackageMenu;
import TestingSystem.DVM.DVMPackage.UI.EditDVMPackageMenu;
import TestingSystem.SAPFOR.SapforPackage.SapforPackageDBTable;
import Visual_DVM_2021.Passes.PassCode_2021; import Visual_DVM_2021.Passes.PassCode_2021;
import javax.swing.*; import javax.swing.*;
@@ -16,8 +11,12 @@ public class DVMPackagesBar extends DataMenuBar {
super("пакеты задач DVM"); super("пакеты задач DVM");
addPasses(PassCode_2021.SynchronizeTests); addPasses(PassCode_2021.SynchronizeTests);
addSeparator(); addSeparator();
addMenus(new AddDVMPackageMenu()); //addMenus(new AddDVMPackageMenu());
addPasses(PassCode_2021.AddTasksToDVMPackage,PassCode_2021.DeleteDVMPackage); addPasses(PassCode_2021.AddDVMPackage, PassCode_2021.AddTasksToDVMPackage);
addSeparator();
addPasses(PassCode_2021.CloneDVMPackage);
addSeparator();
addPasses(PassCode_2021.DeleteDVMPackage);
addSeparator(); addSeparator();
addPasses(PassCode_2021.StartDVMPackage, addPasses(PassCode_2021.StartDVMPackage,
PassCode_2021.AbortDVMPackage); PassCode_2021.AbortDVMPackage);
@@ -31,13 +30,13 @@ public class DVMPackagesBar extends DataMenuBar {
setToolTipText("Отображать только пакеты тестов авторства пользователя"); setToolTipText("Отображать только пакеты тестов авторства пользователя");
Mark(); Mark();
addActionListener(e -> { addActionListener(e -> {
DVMPackageDBTable.filterMyOnly = ! DVMPackageDBTable.filterMyOnly; DVMPackageDBTable.filterMyOnly = !DVMPackageDBTable.filterMyOnly;
Mark(); Mark();
Global.testingServer.db.dvmPackages.ShowUI(); Global.testingServer.db.dvmPackages.ShowUI();
}); });
} }
public void Mark() { public void Mark() {
setIcon(Utils.getIcon( DVMPackageDBTable.filterMyOnly ? "/icons/Pick.png" : "/icons/NotPick.png")); setIcon(Utils.getIcon(DVMPackageDBTable.filterMyOnly ? "/icons/Pick.png" : "/icons/NotPick.png"));
} }
}); });
} }

View File

@@ -5,7 +5,9 @@ import Visual_DVM_2021.Passes.Pass_2021;
public class AddDVMPackageMenu extends VisualiserMenu { public class AddDVMPackageMenu extends VisualiserMenu {
public AddDVMPackageMenu() { public AddDVMPackageMenu() {
super("", "/icons/RedAdd.png"); super("", "/icons/RedAdd.png");
/*
addPasses(PassCode_2021.AddDVMPackage, addPasses(PassCode_2021.AddDVMPackage,
PassCode_2021.CloneDVMPackage); PassCode_2021.CloneDVMPackage);
*/
} }
} }

View File

@@ -4,6 +4,6 @@ import Visual_DVM_2021.Passes.PassCode_2021;
public class AddSapforPackageMenu extends VisualiserMenu { public class AddSapforPackageMenu extends VisualiserMenu {
public AddSapforPackageMenu() { public AddSapforPackageMenu() {
super("", "/icons/RedAdd.png"); super("", "/icons/RedAdd.png");
addPasses(PassCode_2021.AddSapforPackage,PassCode_2021.CloneSapforPackage); // addPasses(PassCode_2021.AddSapforPackage,PassCode_2021.CloneSapforPackage);
} }
} }

View File

@@ -12,8 +12,11 @@ public class SapforPackagesBar extends DataMenuBar {
super("пакеты задач SAPFOR"); super("пакеты задач SAPFOR");
addPasses(PassCode_2021.SynchronizeTests); addPasses(PassCode_2021.SynchronizeTests);
addSeparator(); addSeparator();
addMenus(new AddSapforPackageMenu()); // addMenus(new AddSapforPackageMenu());
addPasses(PassCode_2021.AddTasksToSapforPackage, PassCode_2021.DeleteSapforPackage); addPasses(PassCode_2021.AddSapforPackage, PassCode_2021.AddTasksToSapforPackage);
addSeparator();
addPasses(PassCode_2021.CloneSapforPackage);
addPasses(PassCode_2021.DeleteSapforPackage);
addSeparator(); addSeparator();
addPasses( addPasses(
PassCode_2021.StartSapforPackage, PassCode_2021.StartSapforPackage,

View File

@@ -10,6 +10,10 @@ import Visual_DVM_2021.Passes.AddObjectPass;
import java.io.File; import java.io.File;
public class AddSapforPackage extends AddObjectPass<SapforPackage> { public class AddSapforPackage extends AddObjectPass<SapforPackage> {
@Override
public String getIconPath() {
return "/icons/CreateProject.png";
}
protected File sapfor = null; protected File sapfor = null;
//--- //---
//временный вариант. в дальнейшем, следует сделать возможность формирования.(?) //временный вариант. в дальнейшем, следует сделать возможность формирования.(?)

View File

@@ -9,6 +9,8 @@ import GlobalData.Compiler.CompilerType;
import GlobalData.Machine.MachineType; import GlobalData.Machine.MachineType;
import GlobalData.Tasks.TaskState; import GlobalData.Tasks.TaskState;
import GlobalData.User.UserState; import GlobalData.User.UserState;
import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
import TestingSystem.Common.Group.Group; import TestingSystem.Common.Group.Group;
import TestingSystem.Common.TasksPackageState; import TestingSystem.Common.TasksPackageState;
import TestingSystem.Common.Test.Test; import TestingSystem.Common.Test.Test;
@@ -19,10 +21,17 @@ import TestingSystem.DVM.DVMTasks.DVMCompilationTask;
import TestingSystem.DVM.DVMTasks.DVMRunTask; import TestingSystem.DVM.DVMTasks.DVMRunTask;
import Visual_DVM_2021.Passes.AddObjectPass; import Visual_DVM_2021.Passes.AddObjectPass;
import Visual_DVM_2021.Passes.PassCode_2021; import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
import java.util.Vector; import java.util.Vector;
public class CloneDVMPackage extends AddObjectPass<DVMPackage> { public class CloneDVMPackage extends AddObjectPass<DVMPackage> {
DVMPackage src; Vector<DVMPackage> srcPackages;
Vector<String> inexistingTests;
Vector<String> inexistingConfigurations;
//-
Vector<Integer> src_ids;
Vector<DVMPackage_json> src_jsons;
//-
public CloneDVMPackage() { public CloneDVMPackage() {
super(DVMPackage.class); super(DVMPackage.class);
} }
@@ -34,45 +43,7 @@ public class CloneDVMPackage extends AddObjectPass<DVMPackage> {
protected Database getDb() { protected Database getDb() {
return Global.testingServer.db; return Global.testingServer.db;
} }
@Override protected void createTarget() {
protected boolean canStart(Object... args) throws Exception {
src = null;
if (!Current.getAccount().CheckRegistered(Log)) {
return false;
}
if (Current.Check(Log, Current.Machine, Current.User, Current.Compiler, Current.DVMPackage)) {
if (!Current.getMachine().type.equals(MachineType.Server)) {
Log.Writeln_("Тестирование поддерживается только на одиночном удалённом сервере.");
return false;
}
if (!Current.getUser().state.equals(UserState.ready_to_work)) {
Log.Writeln_("Пользователь не готов к работе. Выполните инициализацию пользователя!");
return false;
}
if (!Current.getCompiler().type.equals(CompilerType.dvm)) {
Log.Writeln_("Тестирование поддерживается только для DVM компиляторов.");
return false;
}
if (!Current.getCompiler().versionLoaded)
passes.get(PassCode_2021.ShowCompilerVersion).Do(Current.getCompiler(), false);
//-
for (DVMPackage dvmPackage : Global.testingServer.db.dvmPackages.Data.values()) {
if (dvmPackage.state.equals(TasksPackageState.Draft)) {
Log.Writeln_("Может существовать только один пакет, готовящийся к публикации.");
return false;
}
}
//--
src = Current.getDVMPackage();
if (!src.state.equals(TasksPackageState.Done)) {
Log.Writeln_("Возможно повторить только завершенный пакет!");
return false;
}
if (!src.isLoaded())
passes.get(PassCode_2021.DownloadDVMPackage).Do();
if (!src.isLoaded())
return false;
//---->>
target = new DVMPackage(); target = new DVMPackage();
target.id = Constants.Nan; target.id = Constants.Nan;
//- //-
@@ -95,12 +66,10 @@ public class CloneDVMPackage extends AddObjectPass<DVMPackage> {
//-- //--
target.tasksCount = 0; target.tasksCount = 0;
//-- //--
src.readJson();
target.package_json = new DVMPackage_json(); target.package_json = new DVMPackage_json();
//-- }
Vector<String> inexistingTests = new Vector<>(); protected void CloneTasks(DVMPackage_json src_json, DVMPackage_json dst_json) throws Exception {
//-- for (DVMCompilationTask src_compilationTask : src_json.compilationTasks) {
for (DVMCompilationTask src_compilationTask : src.package_json.compilationTasks) {
if (Global.testingServer.db.tests.containsKey(src_compilationTask.test_id) if (Global.testingServer.db.tests.containsKey(src_compilationTask.test_id)
) { ) {
Group group = Global.testingServer.db.groups.get(src_compilationTask.group_id); Group group = Global.testingServer.db.groups.get(src_compilationTask.group_id);
@@ -150,12 +119,82 @@ public class CloneDVMPackage extends AddObjectPass<DVMPackage> {
compilationTask.runTasks.add(runTask); compilationTask.runTasks.add(runTask);
} }
//-- //--
target.package_json.compilationTasks.add(compilationTask); dst_json.compilationTasks.add(compilationTask);
//- //-
} else { } else {
inexistingTests.add(String.valueOf(src_compilationTask.test_id)); inexistingTests.add(String.valueOf(src_compilationTask.test_id));
} }
} }
}
@Override
protected boolean canStart(Object... args) throws Exception {
srcPackages = new Vector<>();
if (!Current.getAccount().CheckRegistered(Log))
return false;
//----
srcPackages = Global.testingServer.db.dvmPackages.getCheckedOrCurrent();
if (srcPackages.isEmpty()){
Log.Writeln_("Не отмечено или не выбрано ни одного пакета DVM");
return false;
}
//-
if (!Current.Check(Log, Current.Machine, Current.User, Current.Compiler))
return false;
//---
if (!Current.getMachine().type.equals(MachineType.Server)) {
Log.Writeln_("Тестирование поддерживается только на одиночном удалённом сервере.");
return false;
}
if (!Current.getUser().state.equals(UserState.ready_to_work)) {
Log.Writeln_("Пользователь не готов к работе. Выполните инициализацию пользователя!");
return false;
}
if (!Current.getCompiler().type.equals(CompilerType.dvm)) {
Log.Writeln_("Тестирование поддерживается только для DVM компиляторов.");
return false;
}
if (!Current.getCompiler().versionLoaded)
passes.get(PassCode_2021.ShowCompilerVersion).Do(Current.getCompiler(), false);
//-
for (DVMPackage dvmPackage : Global.testingServer.db.dvmPackages.Data.values()) {
if (dvmPackage.state.equals(TasksPackageState.Draft)) {
Log.Writeln_("Может существовать только один пакет, готовящийся к публикации.");
return false;
}
}
//--
src_ids = new Vector<>();
src_jsons = new Vector<>();
for (DVMPackage src : srcPackages) {
if (src.state.equals(TasksPackageState.Draft)) {
Log.Writeln_("Пакет " + Utils.Brackets(src.id) + " является черновиком.");
return false;
}
src_ids.add(src.id);
}
//--
TestingSystemPass getJsonsPass = new TestingSystemPass() {
@Override
public String getDescription() {
return "Получить информацию о задачах исходных пакетов";
}
@Override
protected void ServerAction() throws Exception {
Command(new ServerExchangeUnit_2021(ServerCode.GetDVMPackagesJson, null, src_ids));
src_jsons.addAll((Vector<DVMPackage_json>) response.object);
}
};
if (!getJsonsPass.Do())
return false;
//--
createTarget();
//--
inexistingTests = new Vector<>();
inexistingConfigurations = new Vector<>(); //не нужно.
//--
for (DVMPackage_json srcJson: src_jsons){
CloneTasks(srcJson, target.package_json);
}
///- ///-
//инициализируем идентификаторы задач. //инициализируем идентификаторы задач.
for (DVMCompilationTask compilationTask : target.package_json.compilationTasks) { for (DVMCompilationTask compilationTask : target.package_json.compilationTasks) {
@@ -169,12 +208,10 @@ public class CloneDVMPackage extends AddObjectPass<DVMPackage> {
} }
} }
//-- //--
for (String test_id: inexistingTests){ for (String test_id : inexistingTests) {
System.out.println("Тест "+test_id+" не найден!"); System.out.println("Тест " + test_id + " не найден!");
} }
return inexistingTests.isEmpty()|| UI.Question(inexistingTests.size()+ " тестов отсутствует. Продолжить"); return inexistingTests.isEmpty() || UI.Question(inexistingTests.size() + " тестов отсутствует. Продолжить");
}
return false;
} }
@Override @Override
protected void body() throws Exception { protected void body() throws Exception {

View File

@@ -85,14 +85,12 @@ public class CloneSapforPackage extends AddObjectPass<SapforPackage> {
if (!Current.Check(Log, Current.ServerSapfor)) if (!Current.Check(Log, Current.ServerSapfor))
return false; return false;
//-- //--
if (Global.testingServer.db.sapforPackages.getCheckedCount() > 0) { srcPackages = Global.testingServer.db.sapforPackages.getCheckedOrCurrent();
srcPackages = Global.testingServer.db.sapforPackages.getCheckedItems(); if (srcPackages.isEmpty()){
} else { Log.Writeln_("Не отмечено или не выбрано ни одного пакета SAPFOR");
if (Current.Check(Log, Current.SapforPackage)) { return false;
srcPackages.add(Current.getSapforPackage());
} else return false;
} }
//-- // todo изменить чтобы можно было.
for (SapforPackage sapforPackage : Global.testingServer.db.sapforPackages.Data.values()) { for (SapforPackage sapforPackage : Global.testingServer.db.sapforPackages.Data.values()) {
if (sapforPackage.state.equals(TasksPackageState.Draft)) { if (sapforPackage.state.equals(TasksPackageState.Draft)) {
Log.Writeln_("Может существовать только один пакет, готовящийся к публикации."); Log.Writeln_("Может существовать только один пакет, готовящийся к публикации.");