Замена тестов в группе на выбранные файлы. Приду, отлажу и закоммичу
This commit is contained in:
8
.idea/workspace.xml
generated
8
.idea/workspace.xml
generated
@@ -8,11 +8,9 @@
|
|||||||
<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 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/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/Group/UI/EditGroupMenu.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Group/UI/EditGroupMenu.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CompareDVMRunTasks.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CompareDVMRunTasks.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/CompareSapforPackages.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CompareSapforPackages.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ReplaceTestsFromFiles.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ReplaceTestsFromFiles.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Interface/TestingWindow.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Interface/TestingWindow.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/TestingForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/TestingForm.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" />
|
||||||
|
|||||||
@@ -6,6 +6,6 @@ public class EditGroupMenu extends VisualiserMenu {
|
|||||||
public EditGroupMenu() {
|
public EditGroupMenu() {
|
||||||
super("Редактирование группы", "/icons/Edit.png", false);
|
super("Редактирование группы", "/icons/Edit.png", false);
|
||||||
add(Pass_2021.passes.get(PassCode_2021.EditGroup).createMenuItem());
|
add(Pass_2021.passes.get(PassCode_2021.EditGroup).createMenuItem());
|
||||||
// add(Pass_2021.passes.get(PassCode_2021.ReplaceTestsFromFiles).createMenuItem());
|
add(Pass_2021.passes.get(PassCode_2021.ReplaceTestsFromFiles).createMenuItem());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -250,6 +250,10 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
|||||||
Print("Заменить код теста");
|
Print("Заменить код теста");
|
||||||
ReplaceTestCode();
|
ReplaceTestCode();
|
||||||
break;
|
break;
|
||||||
|
case ReplaceTestsCodes:
|
||||||
|
Print("Заменить код тестов");
|
||||||
|
ReplaceTestsCodes();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
throw new RepositoryRefuseException("Неподдерживаемый код: " + code);
|
throw new RepositoryRefuseException("Неподдерживаемый код: " + code);
|
||||||
}
|
}
|
||||||
@@ -596,6 +600,19 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
|||||||
);
|
);
|
||||||
} else db.Update(test); //обновить список файлов и размерность.
|
} else db.Update(test); //обновить список файлов и размерность.
|
||||||
}
|
}
|
||||||
|
private void ReplaceTestsCodes() throws Exception {
|
||||||
|
Vector<Test> tests = (Vector<Test>) request.object;
|
||||||
|
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||||
|
for (Test test: tests){
|
||||||
|
if (!test.unpackProjectOnServer()) {
|
||||||
|
db.Delete(test);
|
||||||
|
throw new RepositoryRefuseException(
|
||||||
|
"Не удалось прикрепить проект к тесту с id " + test.id
|
||||||
|
+ "\nТест будет удален"
|
||||||
|
);
|
||||||
|
} else db.Update(test); //обновить список файлов и размерность.
|
||||||
|
}
|
||||||
|
}
|
||||||
private void EmailSapforAssembly(int version, boolean done) throws Exception {
|
private void EmailSapforAssembly(int version, boolean done) throws Exception {
|
||||||
String version_s = (version == Constants.Nan) ? "?" : String.valueOf(version);
|
String version_s = (version == Constants.Nan) ? "?" : String.valueOf(version);
|
||||||
String status = done ? "Успешно" : "С ошибками";
|
String status = done ? "Успешно" : "С ошибками";
|
||||||
@@ -613,16 +630,3 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
File version = new File(sapforHome, "version.txt");
|
|
||||||
System.out.println("Запрос версии..");
|
|
||||||
Utils.startScript(sapforHome, sapforHome, "get_version",
|
|
||||||
serverSapfor.getVersionCommand() + " 1>" + Utils.DQuotes(version.getAbsolutePath())).waitFor();
|
|
||||||
if (version.exists()) {
|
|
||||||
System.out.println("version.txt found");
|
|
||||||
String raw = FileUtils.readFileToString(version);
|
|
||||||
System.out.println(Utils.Brackets(raw));
|
|
||||||
String[] data = raw.split(" ");
|
|
||||||
if (data.length >= 4) serverSapfor.version = data[3].replace(",", "");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
@@ -5,6 +5,8 @@ import Common.UI.UI;
|
|||||||
import Common.Utils.Files.VFileChooser;
|
import Common.Utils.Files.VFileChooser;
|
||||||
import Common.Utils.Utils;
|
import Common.Utils.Utils;
|
||||||
import GlobalData.Settings.SettingName;
|
import GlobalData.Settings.SettingName;
|
||||||
|
import Repository.Server.ServerCode;
|
||||||
|
import Repository.Server.ServerExchangeUnit_2021;
|
||||||
import TestingSystem.Common.Group.Group;
|
import TestingSystem.Common.Group.Group;
|
||||||
import TestingSystem.Common.Test.Test;
|
import TestingSystem.Common.Test.Test;
|
||||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||||
@@ -15,9 +17,12 @@ import java.io.File;
|
|||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
public class ReplaceTestsFromFiles extends TestingSystemPass<Vector<Test>> {
|
public class ReplaceTestsFromFiles extends TestingSystemPass<Vector<Test>> {
|
||||||
Group group;
|
|
||||||
Vector<Test> testsForReplace;
|
|
||||||
VFileChooser fileChooser = new VFileChooser("Выберите файлы для замены тестов");
|
VFileChooser fileChooser = new VFileChooser("Выберите файлы для замены тестов");
|
||||||
|
//--
|
||||||
|
Group group;
|
||||||
|
LinkedHashMap<Integer, Test> oldTests;
|
||||||
|
Vector<Test> newTests;
|
||||||
|
//--
|
||||||
@Override
|
@Override
|
||||||
public String getIconPath() {
|
public String getIconPath() {
|
||||||
return "/icons/Menu/Undo.png";
|
return "/icons/Menu/Undo.png";
|
||||||
@@ -28,9 +33,10 @@ public class ReplaceTestsFromFiles extends TestingSystemPass<Vector<Test>> {
|
|||||||
if (!Current.Check(Log, Current.Group))
|
if (!Current.Check(Log, Current.Group))
|
||||||
return false;
|
return false;
|
||||||
group = Current.getGroup();
|
group = Current.getGroup();
|
||||||
|
//--->>>
|
||||||
Utils.RestoreSelectedDirectory(fileChooser);
|
Utils.RestoreSelectedDirectory(fileChooser);
|
||||||
Vector<File> files = fileChooser.ShowMultiDialog();
|
Vector<File> files = fileChooser.ShowMultiDialog();
|
||||||
LinkedHashMap<String, File> sortedFiles = new LinkedHashMap<>();
|
LinkedHashMap<String, File> filesForReplace = new LinkedHashMap<>(); //выделенные файлы, сортированные по именам.
|
||||||
//--
|
//--
|
||||||
if (files.isEmpty()) {
|
if (files.isEmpty()) {
|
||||||
Log.Writeln_("Не выбрано ни одного файла.");
|
Log.Writeln_("Не выбрано ни одного файла.");
|
||||||
@@ -39,8 +45,8 @@ public class ReplaceTestsFromFiles extends TestingSystemPass<Vector<Test>> {
|
|||||||
//--
|
//--
|
||||||
for (File file : files) {
|
for (File file : files) {
|
||||||
String name = Utils.getNameWithoutExtension(file.getName()).toLowerCase();
|
String name = Utils.getNameWithoutExtension(file.getName()).toLowerCase();
|
||||||
if (!sortedFiles.containsKey(name)) {
|
if (!filesForReplace.containsKey(name)) {
|
||||||
sortedFiles.put(name, file);
|
filesForReplace.put(name, file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//--
|
//--
|
||||||
@@ -56,22 +62,30 @@ public class ReplaceTestsFromFiles extends TestingSystemPass<Vector<Test>> {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
//--
|
//--
|
||||||
testsForReplace = new Vector<>();
|
oldTests = new LinkedHashMap<>();
|
||||||
Vector<String> testForReplaceNames = new Vector<>();
|
Vector<String> testForReplaceNames = new Vector<>();
|
||||||
for (Test test : server.db.tests.Data.values()) {
|
for (Test test : server.db.tests.Data.values()) {
|
||||||
if ((test.group_id == group.id)&&sortedFiles.containsKey(test.description)) {
|
if ((test.group_id == group.id)&&filesForReplace.containsKey(test.description)) {
|
||||||
testsForReplace.add(test);
|
oldTests.put(test.id, test);
|
||||||
testForReplaceNames.add(test.description);
|
testForReplaceNames.add(test.description);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (testsForReplace.size()==0){
|
if (oldTests.size()==0){
|
||||||
Log.Writeln_("Не найдено тестов на замену.");
|
Log.Writeln_("Не найдено тестов на замену.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
//--
|
//--
|
||||||
if (UI.Question("Тесты "+String.join("\n", testForReplaceNames)+"\nбудут заменены. Продолжить")){
|
if (UI.Question("Тесты "+String.join("\n", testForReplaceNames)+"\nбудут заменены. Продолжить")){
|
||||||
|
newTests = new Vector<>();
|
||||||
|
Pass_2021 createTestPass = passes.get(PassCode_2021.CreateTestFromFile);
|
||||||
|
for (Test old_test: oldTests.values()){
|
||||||
|
File file= filesForReplace.get(old_test.description);
|
||||||
|
if (createTestPass.Do(file, group)){
|
||||||
|
Test new_test = (Test) createTestPass.target;
|
||||||
|
newTests.add(new_test);
|
||||||
|
new_test.id = old_test.id;
|
||||||
|
}
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
return false;
|
return false;
|
||||||
@@ -79,6 +93,11 @@ public class ReplaceTestsFromFiles extends TestingSystemPass<Vector<Test>> {
|
|||||||
//-
|
//-
|
||||||
@Override
|
@Override
|
||||||
protected void ServerAction() throws Exception {
|
protected void ServerAction() throws Exception {
|
||||||
UI.Info("+");
|
Command(new ServerExchangeUnit_2021(ServerCode.ReplaceTestsCodes, null, newTests));
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void performFinish() throws Exception {
|
||||||
|
super.performFinish();
|
||||||
|
passes.get(PassCode_2021.SynchronizeTests).Do();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user