2023-12-02 16:36:35 +03:00
package Visual_DVM_2021.Passes.All ;
2024-10-07 14:22:52 +03:00
import Common.Utils.CommonUtils ;
2024-10-07 00:58:29 +03:00
import Common_old.Constants ;
import Common_old.Current ;
import Common_old.Utils.Files.VFileChooser ;
import Common_old.Utils.Utils ;
2023-12-02 16:36:35 +03:00
import GlobalData.Settings.SettingName ;
import TestingSystem.Common.Group.Group ;
import Visual_DVM_2021.Passes.PassCode_2021 ;
import Visual_DVM_2021.Passes.Pass_2021 ;
import java.io.File ;
import java.util.Vector ;
public class CreateGroupFromFiles extends PublishTests {
Group group ;
VFileChooser fileChooser = new VFileChooser ( " Выберите файлы для создания тестов " ) ;
@Override
protected PassCode_2021 getCreateTestCode ( ) {
return PassCode_2021 . 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 ( ) ;
Pass_2021 . passes . get ( PassCode_2021 . UpdateSetting ) . Do ( SettingName . ProjectsSearchDirectory , dir ) ;
//---------------
if ( dir . getName ( ) . equals ( Constants . data ) ) {
2024-10-07 14:22:52 +03:00
Log . Writeln_ ( CommonUtils . Brackets ( dir ) + " \ nявляе тс я служебной папкой визуализатора! " ) ;
2023-12-02 16:36:35 +03:00
return false ;
}
if ( ! Utils . validateProjectFile ( dir , Log ) ) {
2024-10-07 14:22:52 +03:00
Log . Writeln_ ( " Имя папки " + CommonUtils . Brackets ( dir . getName ( ) ) + " содержит запрещённые символы " + Constants . all_forbidden_characters_string + " , или кириллицу. " ) ;
2023-12-02 16:36:35 +03:00
return false ;
}
if ( passes . get ( PassCode_2021 . PublishGroup ) . Do ( dir . getName ( ) . toUpperCase ( ) ) ) {
group = Current . getGroup ( ) ;
} else return false ;
//--
return super . canStart ( files , group ) ;
}
}