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

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

9
.idea/workspace.xml generated
View File

@@ -7,16 +7,11 @@
</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/PublishTests.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PublishTestsFromFiles.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/Common/UI/Menus_2023/TestsMenuBar/TestsMenuBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/Menus_2023/TestsMenuBar/TestsMenuBar.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/UI/Menus_2023/VersionsMenuBar/VersionsMenuBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/Menus_2023/VersionsMenuBar/VersionsMenuBar.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateGroupFromDirectory.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateGroupFromDirectory.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateGroupFromDirectory.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateGroupFromDirectory.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateTestFromFile.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateTestFromFile.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateParallelVariantsCoverageForScenario.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateTestsGroupFromSelectedVersions.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CreateTestsGroupFromSelectedVersions.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PublishTestsFromFiles.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PublishTestsFromFiles.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" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PublishTests.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PublishTests_OLD.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" />

View File

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

View File

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