Замена проекта в тесте на текущий.

This commit is contained in:
2024-03-02 01:44:03 +03:00
parent c34728f65d
commit 34504f9992
7 changed files with 83 additions and 11 deletions

8
.idea/workspace.xml generated
View File

@@ -7,9 +7,13 @@
</component> </component>
<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 afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ReplaceTestProject.java" afterDir="false" />
<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/Visual_DVM_2021/Passes/All/DownloadDVMPackages.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadDVMPackages.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadTaskTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadTaskTest.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/Test/TestsMenuBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Test/TestsMenuBar.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/Visual_DVM_2021/Passes/All/CreateTestFromDirectory.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateTestFromDirectory.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/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />

View File

@@ -77,5 +77,7 @@ public enum ServerCode {
DownloadDVMPackage, DownloadDVMPackage,
DownloadDVMPackages, DownloadDVMPackages,
DownloadSapforPackage, DownloadSapforPackage,
InstallServerSapfor; InstallServerSapfor,
ReplaceTestCode
;
} }

View File

@@ -8,6 +8,7 @@ public class TestsMenuBar extends DataMenuBar {
PassCode_2021.CreateTestFromDirectory, PassCode_2021.CreateTestFromDirectory,
PassCode_2021.CreateTestsFromFiles, ///---------------------------- PassCode_2021.CreateTestsFromFiles, ///----------------------------
PassCode_2021.EditTest, PassCode_2021.EditTest,
PassCode_2021.ReplaceTestProject,
PassCode_2021.DownloadTest, PassCode_2021.DownloadTest,
PassCode_2021.DeleteTest); PassCode_2021.DeleteTest);
} }

View File

@@ -244,6 +244,10 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
Print("Установить текущую версию SAPFOR для тестирования"); Print("Установить текущую версию SAPFOR для тестирования");
InstallServerSapfor(); InstallServerSapfor();
break; break;
case ReplaceTestCode:
Print("Заменить код теста");
ReplaceTestCode();
break;
default: default:
throw new RepositoryRefuseException("Неподдерживаемый код: " + code); throw new RepositoryRefuseException("Неподдерживаемый код: " + code);
} }
@@ -544,4 +548,16 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
} }
}else throw new RepositoryRefuseException("Не удалось собрать SAPFOR"); }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); //обновить список файлов и размерность.
}
} }

View File

@@ -34,6 +34,14 @@ public class CreateTestFromDirectory extends Pass_2021<Test> {
File dir = null; File dir = null;
boolean from_directory_chooser = false; boolean from_directory_chooser = false;
Vector<ProjectFile> project_files = new Vector<>(); 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 @Override
protected boolean canStart(Object... args) throws Exception { protected boolean canStart(Object... args) throws Exception {
if (args.length == 0) { if (args.length == 0) {
@@ -126,12 +134,9 @@ public class CreateTestFromDirectory extends Pass_2021<Test> {
group.language.PrintExtensions() group.language.PrintExtensions()
); );
} }
//----- //----
target = new Test(); if (!initTarget()) return false;
target.sender_address = Current.getAccount().email; //----
target.sender_name = Current.getAccount().name;
target.group_id = group.id;
target.description = dir.getName();
Vector<String> filesNames = new Vector<>(); Vector<String> filesNames = new Vector<>();
for (ProjectFile projectFile : project_files) for (ProjectFile projectFile : project_files)
filesNames.add(projectFile.file.getName()); filesNames.add(projectFile.file.getName());

View 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;
}
}

View File

@@ -317,13 +317,14 @@ public enum PassCode_2021 {
CloneDVMPackage, CloneDVMPackage,
CloneSapforPackage, CloneSapforPackage,
SPF_RemoveDeadCode, SPF_RemoveDeadCode,
ReplaceTestProject
; ;
public String getDescription() { public String getDescription() {
switch (this) { switch (this) {
case Undefined: case Undefined:
return "?"; return "?";
case ReplaceTestProject:
return "Заменить тестовый проект на текущий";
case SPF_RemoveDeadCode: case SPF_RemoveDeadCode:
return "Удаление мертвого кода"; return "Удаление мертвого кода";
case CloneSapforPackage: case CloneSapforPackage: