no message

This commit is contained in:
2024-03-05 19:21:42 +03:00
parent 4136236d41
commit a4bca9c33b
2 changed files with 33 additions and 25 deletions

View File

@@ -21,7 +21,7 @@ public class ReplaceTestsFromFiles extends TestingSystemPass<Vector<Test>> {
//--
Group group;
LinkedHashMap<Integer, Test> oldTests;
Vector<Test> newTests;
Vector<Test> replaceTests;
//--
@Override
public String getIconPath() {
@@ -36,19 +36,7 @@ public class ReplaceTestsFromFiles extends TestingSystemPass<Vector<Test>> {
//--->>>
Utils.RestoreSelectedDirectory(fileChooser);
Vector<File> files = fileChooser.ShowMultiDialog();
LinkedHashMap<String, File> filesForReplace = new LinkedHashMap<>(); //выделенные файлы, сортированные по именам.
//--
if (files.isEmpty()) {
Log.Writeln_("Не выбрано ни одного файла.");
return false;
}
//--
for (File file : files) {
String name = Utils.getNameWithoutExtension(file.getName()).toLowerCase();
if (!filesForReplace.containsKey(name)) {
filesForReplace.put(name, file);
}
}
//---------------------------------------------------------------
//--
File dir = fileChooser.getCurrentDirectory();
Pass_2021.passes.get(PassCode_2021.UpdateSetting).Do(SettingName.ProjectsSearchDirectory, dir);
@@ -61,28 +49,49 @@ public class ReplaceTestsFromFiles extends TestingSystemPass<Vector<Test>> {
Log.Writeln_("Имя папки " + Utils.Brackets(dir.getName()) + " содержит запрещённые символы " + Constants.all_forbidden_characters_string + ", или кириллицу.");
return false;
}
if (files.isEmpty()) {
Log.Writeln_("Не выбрано ни одного файла.");
return false;
}
//-----------------------------------------
LinkedHashMap<String, File> filesByNames = new LinkedHashMap<>(); //выделенные файлы, сортированные по именам.
//--
for (File file : files) {
String name = Utils.getNameWithoutExtension(file.getName()).toLowerCase();
if (!filesByNames.containsKey(name)) {
filesByNames.put(name, file);
}
}
//--
oldTests = new LinkedHashMap<>();
Vector<String> testForReplaceNames = new Vector<>();
for (Test test : server.db.tests.Data.values()) {
if ((test.group_id == group.id)&&filesForReplace.containsKey(test.description)) {
oldTests.put(test.id, test);
testForReplaceNames.add(test.description);
}
//--
for (String name: filesByNames.keySet()){
boolean exists = false;
for (Test test: server.db.tests.Data.values()){
if ((test.group_id==group.id)&&test.description.equals(name)){
exists=true;
//--
oldTests.put(test.id, test);
testForReplaceNames.add(name);
break;
}
}
}
//--
if (oldTests.size()==0){
Log.Writeln_("Не найдено тестов на замену.");
return false;
}
//--
if (UI.Question("Тесты\n"+String.join("\n", testForReplaceNames)+"\nбудут заменены. Продолжить")){
newTests = new Vector<>();
replaceTests = new Vector<>();
Pass_2021 createTestPass = passes.get(PassCode_2021.CreateTestFromFile);
for (Test old_test: oldTests.values()){
File file= filesForReplace.get(old_test.description);
File file= filesByNames.get(old_test.description);
if (createTestPass.Do(file, group)){
Test new_test = (Test) createTestPass.target;
newTests.add(new_test);
replaceTests.add(new_test);
new_test.id = old_test.id;
}
}
@@ -93,7 +102,7 @@ public class ReplaceTestsFromFiles extends TestingSystemPass<Vector<Test>> {
//-
@Override
protected void ServerAction() throws Exception {
Command(new ServerExchangeUnit_2021(ServerCode.ReplaceTestsCodes, null, newTests));
Command(new ServerExchangeUnit_2021(ServerCode.ReplaceTestsCodes, null, replaceTests));
}
@Override
protected void performFinish() throws Exception {