Files
VisualSapfor/src/Visual_DVM_2021/Passes/All/CreateGroupFromDirectory.java

70 lines
2.6 KiB
Java
Raw Normal View History

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.Pass_2021;
import Visual_DVM_2021.Passes.PublishTests;
import java.io.File;
import java.util.Arrays;
public class CreateGroupFromDirectory extends PublishTests {
File dir = null;
VDirectoryChooser directoryChooser = new VDirectoryChooser("Выбор домашней папки группы");
@Override
public String getIconPath() {
return "/icons/OpenProject.png";
}
@Override
protected boolean getGroup() {
dir = null;
Utils.RestoreSelectedDirectory(directoryChooser);
dir = directoryChooser.ShowDialog();
if (dir == null)
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_("Ошибка при получении списка подпапок");
return false;
}
if (files_.length == 0) {
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;
2023-11-20 22:29:38 +03:00
}
}