Замена проекта в тесте на текущий.
This commit is contained in:
@@ -77,5 +77,7 @@ public enum ServerCode {
|
||||
DownloadDVMPackage,
|
||||
DownloadDVMPackages,
|
||||
DownloadSapforPackage,
|
||||
InstallServerSapfor;
|
||||
InstallServerSapfor,
|
||||
ReplaceTestCode
|
||||
;
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ public class TestsMenuBar extends DataMenuBar {
|
||||
PassCode_2021.CreateTestFromDirectory,
|
||||
PassCode_2021.CreateTestsFromFiles, ///----------------------------
|
||||
PassCode_2021.EditTest,
|
||||
PassCode_2021.ReplaceTestProject,
|
||||
PassCode_2021.DownloadTest,
|
||||
PassCode_2021.DeleteTest);
|
||||
}
|
||||
|
||||
@@ -244,6 +244,10 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
Print("Установить текущую версию SAPFOR для тестирования");
|
||||
InstallServerSapfor();
|
||||
break;
|
||||
case ReplaceTestCode:
|
||||
Print("Заменить код теста");
|
||||
ReplaceTestCode();
|
||||
break;
|
||||
default:
|
||||
throw new RepositoryRefuseException("Неподдерживаемый код: " + code);
|
||||
}
|
||||
@@ -544,4 +548,16 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
}
|
||||
}else throw new RepositoryRefuseException("Не удалось собрать SAPFOR");
|
||||
}
|
||||
private void ReplaceTestCode() throws Exception {
|
||||
Test test = (Test) request.object;
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
//---
|
||||
if (!test.unpackProjectOnServer()) {
|
||||
db.Delete(test);
|
||||
throw new RepositoryRefuseException(
|
||||
"Не удалось прикрепить проект к тесту с id " + test.id
|
||||
+ "\nТест будет удален"
|
||||
);
|
||||
}else db.Update(test); //обновить список файлов и размерность.
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,14 @@ public class CreateTestFromDirectory extends Pass_2021<Test> {
|
||||
File dir = null;
|
||||
boolean from_directory_chooser = false;
|
||||
Vector<ProjectFile> project_files = new Vector<>();
|
||||
protected boolean initTarget() throws Exception{
|
||||
target = new Test();
|
||||
target.sender_address = Current.getAccount().email;
|
||||
target.sender_name = Current.getAccount().name;
|
||||
target.group_id = group.id;
|
||||
target.description = dir.getName();
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
if (args.length == 0) {
|
||||
@@ -126,12 +134,9 @@ public class CreateTestFromDirectory extends Pass_2021<Test> {
|
||||
group.language.PrintExtensions()
|
||||
);
|
||||
}
|
||||
//-----
|
||||
target = new Test();
|
||||
target.sender_address = Current.getAccount().email;
|
||||
target.sender_name = Current.getAccount().name;
|
||||
target.group_id = group.id;
|
||||
target.description = dir.getName();
|
||||
//----
|
||||
if (!initTarget()) return false;
|
||||
//----
|
||||
Vector<String> filesNames = new Vector<>();
|
||||
for (ProjectFile projectFile : project_files)
|
||||
filesNames.add(projectFile.file.getName());
|
||||
|
||||
43
src/Visual_DVM_2021/Passes/All/ReplaceTestProject.java
Normal file
43
src/Visual_DVM_2021/Passes/All/ReplaceTestProject.java
Normal file
@@ -0,0 +1,43 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import Repository.Server.ServerCode;
|
||||
import Repository.Server.ServerExchangeUnit_2021;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
|
||||
|
||||
import java.io.Serializable;
|
||||
public class ReplaceTestProject extends CreateTestFromProject {
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
return "/icons/Menu/Undo.png";
|
||||
}
|
||||
@Override
|
||||
protected void performDone() throws Exception {
|
||||
TestingSystemPass testingSystemPass = new TestingSystemPass() {
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
target = args[0];
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Замена кода теста на сервере";
|
||||
}
|
||||
@Override
|
||||
protected void ServerAction() throws Exception {
|
||||
Command(new ServerExchangeUnit_2021(ServerCode.ReplaceTestCode, null, (Serializable) target));
|
||||
}
|
||||
};
|
||||
testingSystemPass.Do(target);
|
||||
passes.get(PassCode_2021.SynchronizeTests).Do();
|
||||
}
|
||||
@Override
|
||||
protected boolean initTarget() throws Exception {
|
||||
if (Current.Check(Log, Current.Test)) {
|
||||
target = Current.getTest();
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -317,13 +317,14 @@ public enum PassCode_2021 {
|
||||
CloneDVMPackage,
|
||||
CloneSapforPackage,
|
||||
SPF_RemoveDeadCode,
|
||||
|
||||
|
||||
ReplaceTestProject
|
||||
;
|
||||
public String getDescription() {
|
||||
switch (this) {
|
||||
case Undefined:
|
||||
return "?";
|
||||
case ReplaceTestProject:
|
||||
return "Заменить тестовый проект на текущий";
|
||||
case SPF_RemoveDeadCode:
|
||||
return "Удаление мертвого кода";
|
||||
case CloneSapforPackage:
|
||||
|
||||
Reference in New Issue
Block a user