no message
This commit is contained in:
68
src/_VisualDVM/Passes/All/CreateGroupFromDirectory.java
Normal file
68
src/_VisualDVM/Passes/All/CreateGroupFromDirectory.java
Normal file
@@ -0,0 +1,68 @@
|
||||
package _VisualDVM.Passes.All;
|
||||
import Common.Utils.Utils_;
|
||||
import _VisualDVM.Constants;
|
||||
import Common.Visual.Windows.Dialog.VDirectoryChooser;
|
||||
import _VisualDVM.Global;
|
||||
import _VisualDVM.Utils;
|
||||
import _VisualDVM.GlobalData.Settings.SettingName;
|
||||
import _VisualDVM.Passes.PassCode;
|
||||
|
||||
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 PassCode getCreateTestCode() {
|
||||
return PassCode.CreateTestFromDirectory;
|
||||
}
|
||||
@Override
|
||||
protected String getNoFilesMessage() {
|
||||
return "ни одной папки";
|
||||
}
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
Utils.RestoreSelectedDirectory(directoryChooser);
|
||||
File dir = directoryChooser.ShowDialog();
|
||||
if (dir == null) {
|
||||
Log.Writeln_("Папка не выбрана");
|
||||
return false;
|
||||
}
|
||||
//---------------
|
||||
if (!dir.isDirectory()) {
|
||||
Log.Writeln_(Utils_.Brackets(dir) + "\nне является папкой!");
|
||||
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())
|
||||
+ " содержит запрещённые символы " +
|
||||
Utils_.printAllForbiddenCharacters() + ", или кириллицу.");
|
||||
return false;
|
||||
}
|
||||
//--
|
||||
File[] files_ = dir.listFiles(File::isDirectory);
|
||||
if (files_ == null) {
|
||||
Log.Writeln_("Ошибка при получении списка подпапок");
|
||||
return false;
|
||||
}
|
||||
if (files_.length == 0) {
|
||||
Log.Writeln_("В выбранной папке не найдено ни одной папки");
|
||||
return false;
|
||||
}
|
||||
if ( Global.mainModule.getPass(PassCode.PublishGroup).Do(dir.getName().toUpperCase())) {
|
||||
group = Global.mainModule.getGroup();
|
||||
} else return false;
|
||||
//---------------
|
||||
Vector<File> files = new Vector<>(Arrays.asList(files_));
|
||||
Global.mainModule.getPass(PassCode.UpdateSetting).Do(SettingName.ProjectsSearchDirectory, directoryChooser.getCurrentDirectory());
|
||||
return super.canStart(files, group);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user