клонирование параметров тестирования двм/сапфора

This commit is contained in:
2024-10-03 14:36:45 +03:00
parent d18eb3327e
commit c077af6824
10 changed files with 113 additions and 54 deletions

View File

@@ -4,8 +4,8 @@ import Visual_DVM_2021.Passes.PassCode_2021;
public class DVMSettingsBar extends DataMenuBar {
public DVMSettingsBar() {
super("параметры тестированя",
PassCode_2021.PublishDVMSettings,
PassCode_2021.CloneDVMSettings,
PassCode_2021.EditDVMSettings,
PassCode_2021.DeleteDVMSettings
);

View File

@@ -7,7 +7,7 @@ import com.google.gson.annotations.Expose;
import java.io.Serializable;
import java.util.List;
import java.util.Vector;
//на самом деле уже settings. конфиграция = группы + настройки
//на самом деле уже settings. конфиграция = группы + параметры
public class SapforConfiguration_json implements Serializable {
@Expose
public int id = Constants.Nan;

View File

@@ -17,6 +17,7 @@ public class SapforSettings extends Settings {
public int KEEP_SPF_DIRECTIVES = 0; //"Сохранять SPF директивы при построении параллельных вариантов"; -keepSPF
public int KEEP_DVM_DIRECTIVES = 0;// "Учитывать DVM директивы"; -keepDVM
//----
//----
public void packFlags() {
Vector<String> res = new Vector<>();
//--

View File

@@ -5,6 +5,7 @@ public class SapforSettingsBar extends DataMenuBar {
public SapforSettingsBar() {
super("параметры тестирования",
PassCode_2021.PublishSapforSettings,
PassCode_2021.CloneSapforSettings,
PassCode_2021.EditSapforSettings,
PassCode_2021.DeleteSapforSettings
);

View File

@@ -0,0 +1,15 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import Common.Global;
import TestingSystem.Common.TestingServer;
import TestingSystem.DVM.DVMSettings.DVMSettings;
import Visual_DVM_2021.Passes.Server.CloneServerObject;
public class CloneDVMSettings extends CloneServerObject<TestingServer, DVMSettings> {
public CloneDVMSettings() {
super(Global.testingServer, DVMSettings.class);
}
@Override
protected Current currentName() {
return Current.DVMSettings;
}
}

View File

@@ -0,0 +1,36 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import Common.Database.DBObject;
import Common.Global;
import Common.Utils.Vector_;
import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
import TestingSystem.Common.TestingServer;
import TestingSystem.SAPFOR.SapforSettings.SapforSettings;
import TestingSystem.SAPFOR.SapforSettingsCommand.SapforSettingsCommand;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Server.CloneServerObject;
import java.util.Vector;
public class CloneSapforSettings extends CloneServerObject<TestingServer, SapforSettings> {
public CloneSapforSettings() {
super(Global.testingServer, SapforSettings.class);
}
@Override
protected Current currentName() {
return Current.SapforSettings;
}
@Override
protected void ServerAction() throws Exception {
super.ServerAction();
Vector<PassCode_2021> codes = src.getCodes();
Vector<DBObject> new_commands = new Vector<>();
for (PassCode_2021 code : codes) {
SapforSettingsCommand command = new SapforSettingsCommand();
command.sapforsettings_id = (int) pk;
command.passCode = code;
new_commands.add(command);
}
Command(new ServerExchangeUnit_2021(ServerCode.PublishObjects,null, new_commands));
}
}

View File

@@ -351,19 +351,25 @@ public enum PassCode_2021 {
DeleteSapforSettingsCommand,
PublishDVMSettings,
EditDVMSettings,
DeleteDVMSettings
DeleteDVMSettings,
CloneDVMSettings,
CloneSapforSettings,
;
//--
public String getDescription() {
switch (this) {
case Undefined:
return "?";
case CloneSapforSettings:
return "Клонировать параметры тестирования SAPFOR";
case CloneDVMSettings:
return "Клонировать параметры тестирования DVM";
case PublishDVMSettings:
return "Опубликовать параметры тестирования ";
return "Опубликовать параметры тестирования DVM";
case EditDVMSettings:
return "Редактировать параметры тестирования ";
return "Редактировать параметры тестирования DVM";
case DeleteDVMSettings:
return "Удалить параметры тестирования";
return "Удалить параметры тестирования DVM";
case PublishSapforSettingsCommand:
return "Опубликовать команду SAPFOR";
case EditSapforSettingsCommand:
@@ -377,19 +383,19 @@ public enum PassCode_2021 {
case DeleteSapforSettings:
return "Удалить параметры тестирования SAPFOR";
case CloneCurrentDVMConfiguration:
return "Дублировать текущую конфигурацию тестирования DVM системы";
return "Дублировать текущую конфигурацию тестирования DVM";
case StartSelectedSAPFORConfigurations:
return "Запустить отмеченные конфигурации тестирования системы SAPFOR";
return "Запустить отмеченные конфигурации тестирования SAPFOR";
case SaveCurrentSAPFORConfiguration:
return "Сохранить тесты текущей конфигурации системы SAPFOR";
return "Сохранить тесты текущей конфигурации SAPFOR";
case ShowCurrentSAPFORConfigurationTests:
return "Отметить группы и тесты, участвующие в текущей конфигурации системы SAPFOR";
return "Отметить группы и тесты, участвующие в текущей конфигурации SAPFOR";
case StartSelectedDVMConfigurations:
return "Запустить отмеченные конфигурации тестирования DVM системы";
return "Запустить отмеченные конфигурации тестирования DVM";
case ShowCurrentDVMConfigurationTests:
return "Отметить группы и тесты, участвующие в текущей конфигурации DVM системы";
return "Отметить группы и тесты, участвующие в текущей конфигурации DVM";
case SaveCurrentDVMConfiguration:
return "Сохранить тесты текущей конфигурации DVM системы";
return "Сохранить тесты текущей конфигурации DVM";
case GetOldBugReports:
return "Получить неиспользуемые баг репорты";
case SPF_RenameIncludes:

View File

@@ -0,0 +1,35 @@
package Visual_DVM_2021.Passes.Server;
import Common.Current;
import Common.Database.DBObject;
import Common.Database.riDBObject;
import Repository.RepositoryServer;
public abstract class CloneServerObject<S extends RepositoryServer, D extends riDBObject> extends PublishServerObject<S, D> {
public D src;
@Override
public String getIconPath() {
return "/icons/MultiFiles.png";
}
public CloneServerObject(S server_in, Class<D> d_in) {
super(server_in, d_in);
}
protected abstract Current currentName();
@Override
protected boolean canStart(Object... args) throws Exception {
src=null;
if (!Current.Check(Log, currentName()))
return false;
//---------
pk = null;
if (Current.getAccount().CheckRegistered(Log)) {
target = d.newInstance();
target.SynchronizeFields(src=(D) Current.get(currentName()));
//единственное отличие клона - текущий автор
target.description+=" копия";
target.sender_name = Current.getAccount().name;
target.sender_address = Current.getAccount().email;
return true;
}
return false;
}
}