53 lines
2.1 KiB
Java
53 lines
2.1 KiB
Java
package _VisualDVM.Passes.All;
|
||
import Common.Utils.Utils_;
|
||
import _VisualDVM.Constants;
|
||
import Common.Visual.Windows.Dialog.VFileChooser;
|
||
import _VisualDVM.Global;
|
||
import _VisualDVM.Utils;
|
||
import _VisualDVM.GlobalData.Settings.SettingName;
|
||
import _VisualDVM.TestingSystem.Common.Group.Group;
|
||
import _VisualDVM.Passes.PassCode;
|
||
|
||
import java.io.File;
|
||
import java.util.Vector;
|
||
public class CreateGroupFromFiles extends PublishTests{
|
||
Group group;
|
||
VFileChooser fileChooser = new VFileChooser("Выберите файлы для создания тестов");
|
||
|
||
@Override
|
||
protected PassCode getCreateTestCode() {
|
||
return PassCode.CreateTestFromFile;
|
||
}
|
||
@Override
|
||
protected String getNoFilesMessage() {
|
||
return "ни одного файла";
|
||
}
|
||
@Override
|
||
protected boolean canStart(Object... args) throws Exception {
|
||
Utils.RestoreSelectedDirectory(fileChooser);
|
||
Vector<File> files = fileChooser.ShowMultiDialog();
|
||
if (files.isEmpty()){
|
||
Log.Writeln_("Не выбрано ни одного файла.");
|
||
return false;
|
||
}
|
||
File dir = fileChooser.getCurrentDirectory();
|
||
Global.mainModule.getPass(PassCode.UpdateSetting).Do(SettingName.ProjectsSearchDirectory, dir);
|
||
//---------------
|
||
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;
|
||
}
|
||
if ( Global.mainModule.getPass(PassCode.PublishGroup).Do(dir.getName().toUpperCase())) {
|
||
group = Global.mainModule.getGroup();
|
||
} else return false;
|
||
//--
|
||
return super.canStart(files, group);
|
||
}
|
||
}
|