рефакторинг создания группы из папки с папками

This commit is contained in:
2023-12-02 16:08:54 +03:00
parent 7304832b61
commit 12cc235973
5 changed files with 33 additions and 93 deletions

View File

@@ -1,55 +1,51 @@
package Visual_DVM_2021.Passes.All;
import Common.Constants;
import Common.Current;
import Common.Utils.Files.VDirectoryChooser;
import Common.Utils.Utils;
import GlobalData.Settings.SettingName;
import Visual_DVM_2021.Passes.PassCode_2021;
public class CreateGroupFromDirectory extends PublishTests {
import Visual_DVM_2021.Passes.Pass_2021;
@Override
protected PassCode_2021 getCreateTestCode() {
return null;
}
@Override
protected String getNoFilesMessage() {
return "ни одного файла";
}
/*
File dir = null;
import java.io.File;
import java.util.Arrays;
import java.util.Vector;
public class CreateGroupFromDirectory extends PublishTests {
VDirectoryChooser directoryChooser = new VDirectoryChooser("Выбор домашней папки группы");
@Override
public String getIconPath() {
return "/icons/OpenProject.png";
}
@Override
protected boolean getGroup() {
dir = null;
protected PassCode_2021 getCreateTestCode() {
return PassCode_2021.CreateTestFromDirectory;
}
@Override
protected String getNoFilesMessage() {
return "ни одной папки";
}
@Override
protected boolean canStart(Object... args) throws Exception {
Utils.RestoreSelectedDirectory(directoryChooser);
dir = directoryChooser.ShowDialog();
if (dir == null)
File dir = directoryChooser.ShowDialog();
if (dir == null) {
Log.Writeln_("Папка не выбрана");
return false;
else
Pass_2021.passes.get(PassCode_2021.UpdateSetting).Do(SettingName.ProjectsSearchDirectory, dir.getParent());
//--
}
//---------------
if (!dir.isDirectory()) {
Log.Writeln_(Utils.Brackets(dir) + "\е является папкой!");
return false;
}
//--
if (dir.getName().equals(Constants.data)) {
Log.Writeln_(Utils.Brackets(dir) + "\nявляется служебной папкой визуализатора!");
return false;
}
//--
if (!Utils.validateProjectFile(dir, Log)) {
Log.Writeln_("Имя папки " + Utils.Brackets(dir.getName()) + " содержит запрещённые символы " + Constants.all_forbidden_characters_string + ", или кириллицу.");
return false;
}
//--
if (passes.get(PassCode_2021.PublishGroup).Do(dir.getName().toUpperCase())){
group = Current.getGroup();
return true;
};
return false;
}
@Override
protected boolean findFiles() {
File[] files_ = dir.listFiles(File::isDirectory);
if (files_ == null) {
Log.Writeln_("Ошибка при получении списка подпапок");
@@ -59,12 +55,12 @@ public class CreateGroupFromDirectory extends PublishTests {
Log.Writeln_("В выбранной папке не найдено ни одной папки");
return false;
}
files.addAll(Arrays.asList(files_));
System.out.println(files.size());
for (File file: files){
System.out.println(file.getAbsolutePath());
}
return true;
if (passes.get(PassCode_2021.PublishGroup).Do(dir.getName().toUpperCase())) {
group = Current.getGroup();
} else return false;
//---------------
Vector<File> files = new Vector<>(Arrays.asList(files_));
Pass_2021.passes.get(PassCode_2021.UpdateSetting).Do(SettingName.ProjectsSearchDirectory, directoryChooser.getCurrentDirectory());
return super.canStart(files, group);
}
*/
}

View File

@@ -1,44 +0,0 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import ProjectData.SapforData.Variants.ParallelVariant;
import Repository.Component.Sapfor.Sapfor;
import Visual_DVM_2021.Passes.CurrentProjectPass;
import Visual_DVM_2021.Passes.PassCode_2021;
public class CreateParallelVariantsCoverageForScenario extends CurrentProjectPass {
@Override
public void Interrupt() throws Exception {
Current.getSapfor().Interrupt();
}
@Override
protected void performPreparation() throws Exception {
}
@Override
protected PassCode_2021 necessary() {
return PassCode_2021.SPF_GetArrayDistribution;
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (super.canStart(args)) {
target.gen_variants_coverage();
if (target.parallelVariants.size() == 0) {
Log.Writeln_("Покрытие вариантов пусто");
return false;
} else if (!passes.get(PassCode_2021.SPF_GetArrayDistribution).isDone()) {
Log.Writeln_("Варианты неактуальны. Сначала перестройте распределение данных.");
return false;
}
return true;
}
return false;
}
protected void body() throws Exception {
for (ParallelVariant p : target.parallelVariants.Data.values())
if (!passes.get(PassCode_2021.SPF_CreateParallelVariant).Do(p)) break;
}
@Override
protected void performFinish() throws Exception {
//распаковку соо делаем только 1 раз. после всей массы вариантов.
Sapfor sapfor = Current.getSapfor();
target.unpackMessagesAndLog(sapfor.getOutputMessage(), sapfor.getOutput());
}
}

View File

@@ -9,10 +9,6 @@ import Visual_DVM_2021.Passes.Pass_2021;
import java.io.File;
import java.util.Vector;
public class PublishTestsFromFiles extends PublishTests {
@Override
public String getIconPath() {
return "/icons/AddFile.png";
}
VFileChooser fileChooser = new VFileChooser("Выберите файл для создания теста");
@Override
protected PassCode_2021 getCreateTestCode() {

View File

@@ -274,7 +274,6 @@ public enum PassCode_2021 {
OpenProject,
CloseProject,
//->
CreateParallelVariantsCoverageForScenario,
SaveFunctionsGraphCoordinates,
DeleteSelectedVersions,
CreateTestsGroupFromSelectedVersions,
@@ -423,8 +422,6 @@ public enum PassCode_2021 {
return "Вставка DVMH-регионов";
case SPF_ResolveCommonBlockConflicts:
return "Разрешение конфликтов common блоков";
case CreateParallelVariantsCoverageForScenario:
return "Построение минимального покрытия параллельных вариантов";
case OpenProject:
return "Открытие проекта (пакетный режим)";
case CloseProject: