package _VisualDVM.Passes.All;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.ProjectData.Files.FileState;
import _VisualDVM.ProjectData.Files.ProjectFile;
import _VisualDVM.ProjectData.Project.db_project_info;
import _VisualDVM.TestingSystem.Common.Group.Group;
//из текущего проекта.
public class CreateTestFromProject extends CreateTestFromDirectory {
    db_project_info project;
    @Override
    public String getIconPath() {
        return "/icons/RedAdd.png";
    }
    @Override
    protected boolean canStart(Object... args) throws Exception {
        if (args.length == 0) {
            if (Global.mainModule.Check(Log, Current.Group, Current.Project)) {
                project = Global.mainModule.getProject();
                if (super.canStart(Global.mainModule.getProject().Home, Global.mainModule.getGroup())) {
                    from_files_chooser = true; //чтобы опубликовал.
                    return true;
                }
            }
        } else {
            project = (db_project_info) args[0];
            group = (Group) args[1];
            //если проект не текущий, освежить его бд.
            if (!Global.mainModule.HasProject() || !Global.mainModule.getProject().Home.equals(project.Home)) {
                project.Open();
                project.Close();
            }
            return super.canStart(project.Home, group);
        }
        return false;
    }
    @Override
    public boolean isNotExcluded(ProjectFile projectFile) {
        return project.db.files.containsKey(projectFile.file.getName()) &&
                !project.db.files.get(projectFile.file.getName()).state.equals(FileState.Excluded);
    }
}
