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

78 lines
2.5 KiB
Java
Raw Normal View History

package Visual_DVM_2021.Passes.All;
import Common.Constants;
import Common.Utils.Files.VDirectoryChooser;
import Common.Utils.Utils;
import TestingSystem.Common.Group.Group;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
import java.io.File;
public class CreateGroupFromDirectory extends Pass_2021<Group> {
File dir = null;
File[] files = null;
int group_id ;
VDirectoryChooser directoryChooser = new VDirectoryChooser("Выбор домашней папки группы");
@Override
public String getIconPath() {
return "/icons/CreateProject.png";
}
@Override
public String getButtonText() {
return "";
}
@Override
protected boolean needsAnimation() {
return true;
}
@Override
protected boolean canStart(Object... args) throws Exception {
dir = null;
files = null;
target = null;
group_id = Constants.Nan;
//-
dir = directoryChooser.ShowDialog();
//-
if (dir == null)
return false;
//--
if (!dir.isDirectory()) {
Log.Writeln_(Utils.Brackets(dir) + "\е является папкой!");
return false;
}
//-
if (dir.getName().equals(Constants.data)) {
Log.Writeln_(Utils.Brackets(dir) + "\nявляется служебной папкой визуализатора!");
return false;
}
files = dir.listFiles(File::isDirectory);
if (files == null) {
Log.Writeln_("Ошибка при получении списка папок");
return false;
}
if (files.length == 0) {
Log.Writeln_("В выбранной папке не найдено ни одной папки");
return false;
}
PublishGroup pass = (PublishGroup) passes.get(PassCode_2021.PublishGroup);
if (pass.Do(dir.getName().toUpperCase())) {
group_id = (int) pass.pk;
return true;
}
return false;
}
@Override
protected void body() throws Exception {
2023-11-23 22:38:21 +03:00
/*
for (File file : files) {
2023-11-20 22:29:38 +03:00
ShowMessage1("создание проекта: "+file.getName());
passes.get(PassCode_2021.CreateTestFromDirectory).Do(file, group_id);
}
2023-11-23 22:38:21 +03:00
*/
}
2023-11-20 22:29:38 +03:00
@Override
protected void performFinish() throws Exception {
passes.get(PassCode_2021.SynchronizeTests).Do();
}
}