package Common_old; import Common.Database.Objects.iDBObject; import _VisualDVM.Syntax.VisualiserTheme; import Common.Utils.TextLog; import GlobalData.Account.Account; import GlobalData.Compiler.Compiler; import GlobalData.Machine.Machine; import GlobalData.Makefile.Makefile; import GlobalData.Module.Module; import GlobalData.RemoteFile.RemoteFile; import GlobalData.RunConfiguration.RunConfiguration; import GlobalData.Tasks.CompilationTask.CompilationTask; import GlobalData.Tasks.RunTask.RunTask; import GlobalData.User.User; import ProjectData.Files.DBProjectFile; import ProjectData.Project.db_project_info; import ProjectData.SapforData.Functions.FuncInfo; import ProjectData.SapforData.Regions.ParallelRegion; import Repository.BugReport.BugReport; import Repository.Subscribes.Subscriber; import TestingSystem.Common.Test.Test; import TestingSystem.DVM.DVMConfiguration.DVMConfiguration; import TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration; import TestingSystem.SAPFOR.SapforSettings.SapforSettings; import Visual_DVM_2021.Passes.UI.PassForm; import javax.swing.tree.DefaultMutableTreeNode; import java.io.File; import java.util.LinkedHashMap; public enum Current { Undefined, //-- DVMPackage, SapforPackage, //-- ServerSapfor, SapforEtalonVersion,//самый левый пакет SapforVersion, //-- //-- ComponentServerBackup, Subscriber, Theme, FileGraphElement, InlineGraphElement, InlineGraphElement2, IncludeGraphElement, Component, Project, File, Root, Version, BugReport, Account, DBArray, ProjectArray, ParallelRegionInfo, ParallelVariant, Machine, User, Compiler, Makefile, Module, RunConfiguration, EnvironmentValue, CompilationTask, RunTask, ProjectNode, //узел в дереве проекта. нужен для отображения добавленных файлов SelectedDirectory, SelectedFile, //текущий выбранный удаленный файл RemoteFile, PassForm, //текущее окно анимации. нужно для сообщений сапфора по сокету. RunStsRecord, //только для того, чтобы закодировать таблицу. Array, ParallelRegion, Dimensions, //---------- Warnings, Errors, Notes, Recommendations, //- Sapfor, //- Scenario, ScenarioCommand, //- DVMConfiguration, Group, //- DVMParameterValue, Test, Function, SelectedFunction, //- Credentials, //- DialogWindow, //- PackageVersion, SapforConfiguration, SapforProfile, SapforProfileSetting, //-- ProjectView, SubscriberWorkspace, DVMRunTask, SapforSettings, SapforSettingsCommand, DVMSettings, ; //- private static final LinkedHashMap objects = new LinkedHashMap<>(); public static Mode mode; public static boolean hasUI() { return Current.mode.equals(Current.Mode.Normal); } public static boolean HasProject() { return get(Project) != null; } public static boolean HasFile() { return get(File) != null; } public static boolean HasSelectedFile() { return get(SelectedFile) != null; } public static boolean HasAccount() { return get(Account) != null; } public static boolean HasMachine() { return get(Machine) != null; } public static boolean HasUser() { return get(User) != null; } public static boolean HasCompiler() { return get(Compiler) != null; } public static boolean HasRemoteFile() { return get(RemoteFile) != null; } public static boolean HasMakefile() { return get(Makefile) != null; } public static boolean HasRunConfiguration() { return get(RunConfiguration) != null; } public static boolean HasCompilationTask() { return get(CompilationTask) != null; } public static boolean HasRunTask() { return get(RunTask) != null; } public static boolean HasPassForm() { return get(PassForm) != null; } public static boolean HasProjectView() { return get(ProjectView) != null; } //для быстрого доступа на чтение. слишком много на нем завязано. public static SapforSettings getSapforSettings() { return (SapforSettings) get(SapforSettings); } public static boolean HasSapforSettings() { return get(SapforSettings) != null; } public static db_project_info getProject() { return (db_project_info) get(Project); } public static DBProjectFile getFile() { return (DBProjectFile) get(File); } public static Repository.Component.Component getComponent() { return (Repository.Component.Component) get(Component); } public static Repository.BugReport.BugReport getBugReport() { return (BugReport) get(BugReport); } public static db_project_info getRoot() { return (db_project_info) get(Root); } public static boolean HasRoot() { return get(Root) != null; } public static db_project_info getVersion() { return (db_project_info) get(Version); } public static Account getAccount() { return (Account) get(Account); } public static boolean HasSubscriber() { return get(Current.Subscriber) != null; } public static Repository.Subscribes.Subscriber getSubscriber() { return (Subscriber) get(Current.Subscriber); } public static Machine getMachine() { return (Machine) get(Current.Machine); } public static User getUser() { return (User) get(Current.User); } public static Compiler getCompiler() { return (Compiler) get(Current.Compiler); } public static CompilationTask getCompilationTask() { return (CompilationTask) get(Current.CompilationTask); } public static RunTask getRunTask() { return (RunTask) get(Current.RunTask); } public static RemoteFile getRemoteFile() { return (RemoteFile) get(Current.RemoteFile); } public static Makefile getMakefile() { return (Makefile) get(Current.Makefile); } public static Module getModule() { return (Module) get(Current.Module); } public static RunConfiguration getRunConfiguration() { return (RunConfiguration) get(Current.RunConfiguration); } public static Repository.Component.Sapfor.Sapfor getSapfor() { return (Repository.Component.Sapfor.Sapfor) get(Current.Sapfor); } public static boolean HasGroup() { return get(Current.Group) != null; } public static TestingSystem.Common.Group.Group getGroup() { return (TestingSystem.Common.Group.Group) get(Current.Group); } //-- public static boolean HasConfiguration() { return get(Current.DVMConfiguration) != null; } public static DVMConfiguration getDVMConfiguration() { return (DVMConfiguration) get(Current.DVMConfiguration); } public static SapforConfiguration getSapforConfiguration() { return (TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration) get(Current.SapforConfiguration); } //-- public static Test getTest() { return (TestingSystem.Common.Test.Test) get(Current.Test); } public static boolean HasTest() { return get(Current.Test) != null; } public static boolean HasVersion() { return get(Current.Version) != null; } public static RemoteFile getComponentServerBackup() { return (RemoteFile) get(Current.ComponentServerBackup); } public static boolean HasComponentServerBackup() { return get(Current.ComponentServerBackup) != null; } //- public static DefaultMutableTreeNode getProjectNode() { return (DefaultMutableTreeNode) get(Current.ProjectNode); } public static DefaultMutableTreeNode getProjectCurrentParentNode() { DefaultMutableTreeNode node = Current.getProjectNode(); //если в дереве еще никто не выделялся, берем корень. if (node == null) return Current.getProject().filesTreeRoot; return (node.getUserObject() instanceof DBProjectFile) ? (DefaultMutableTreeNode) node.getParent() : node; } public static File getSelectedDirectory() { return (File) get(Current.SelectedDirectory); } public static DBProjectFile getSelectedFile() { return (DBProjectFile) get(Current.SelectedFile); } //- public static boolean HasBugReport() { return get(Current.BugReport) != null; } public static PassForm getPassForm() { return (Visual_DVM_2021.Passes.UI.PassForm) get(Current.PassForm); } public static VisualiserTheme getTheme() { return (VisualiserTheme) get(Current.Theme); } //-------------------------------------------------------------------------------- public static ParallelRegion getParallelRegion() { return (ParallelRegion) get(Current.ParallelRegion); } public static boolean HasParallelRegion() { return get(Current.ParallelRegion) != null; } public static boolean HasFunction() { return get(Current.Function) != null; } public static boolean HasSelectedFunction() { return get(Current.SelectedFunction) != null; } public static FuncInfo getFunction() { return (FuncInfo) get(Current.Function); } public static FuncInfo getSelectionFunction() { return (FuncInfo) get(Current.SelectedFunction); } public static boolean HasScenario() { return get(Current.Scenario) != null; } public static db_project_info getPackageVersion() { return (db_project_info) get(Current.PackageVersion); } public static boolean HasPackageVersion() { return get(Current.PackageVersion) != null; } public static boolean HasSapforConfiguration() { return get(Current.SapforConfiguration) != null; } public static ProjectData.ProjectView getProjectView() { return (ProjectData.ProjectView) get(ProjectView); } public static boolean Check(TextLog Log, Current... names) { for (Current name : names) if (get(name) == null) Log.Writeln_(name.getDescription() + " не выбран(а)"); return Log.isEmpty(); } public static void CreateAll() { for (Current c : values()) objects.put(c, null); } //----------------------------------------- public static Object get(Current name) { return objects.get(name); } public static Object set(Current name, Object object) { objects.replace(name, object); return object; } //применять только для наследников iDBObject public static boolean CheckID(Current name, int id) { return (get(name) != null) && (((iDBObject) get(name)).id == id); } public static boolean HasSapforProfile() { return get(Current.SapforProfile) != null; } public static GlobalData.SapforProfile.SapforProfile getSapforProfile() { return (GlobalData.SapforProfile.SapforProfile) get(Current.SapforProfile); } //сапфоры установленные на тестовый сервер. public static boolean HasServerSapfor() { return get(Current.ServerSapfor) != null; } public static TestingSystem.SAPFOR.ServerSapfor.ServerSapfor getServerSapfor() { return (TestingSystem.SAPFOR.ServerSapfor.ServerSapfor) get(Current.ServerSapfor); } public static boolean HasSubscriberWorkspace() { return get(Current.SubscriberWorkspace) != null; } public static Repository.SubscriberWorkspace.SubscriberWorkspace getSubscriberWorkspace() { return (Repository.SubscriberWorkspace.SubscriberWorkspace) get(Current.SubscriberWorkspace); } //----->> public static boolean HasDVMPackage() { return get(Current.DVMPackage) != null; } public static TestingSystem.DVM.DVMPackage.DVMPackage getDVMPackage() { return (TestingSystem.DVM.DVMPackage.DVMPackage) get(Current.DVMPackage); } public static boolean HasSapforPackage() { return get(Current.SapforPackage) != null; } public static TestingSystem.SAPFOR.SapforPackage.SapforPackage getSapforPackage() { return (TestingSystem.SAPFOR.SapforPackage.SapforPackage) get(Current.SapforPackage); } public static boolean HasDVMRunTask() { return get(Current.DVMRunTask) != null; } public static TestingSystem.DVM.DVMTasks.DVMRunTask getDVMRunTask() { return (TestingSystem.DVM.DVMTasks.DVMRunTask) Current.get(Current.DVMRunTask); } //-------------------------------------------- public String getDescription() { switch (this) { case DVMSettings: return "Параметры тестирования DVM системы"; case SapforSettings: return "Параметры тестирования системы SAPFOR"; case SapforSettingsCommand: return "Команда SAPFOR"; case DVMRunTask: return "Задача DVM тестирования"; case SapforPackage: return "Пакет тестирования SAPFOR"; case DVMPackage: return "Пакет тестирования DVM"; case DVMConfiguration: return "Конфигурация тестирования"; case ServerSapfor: return "тестовая версия SAPFOR"; case SubscriberWorkspace: return "рабочее пространство пользователя"; case SapforProfile: return "Профиль SAPFOR"; case SapforProfileSetting: return "Настройка профиля SAPFOR"; case SapforEtalonVersion: return "Версия SAPFOR(Эталон)"; case SapforVersion: return "Версия SAPFOR"; case ComponentServerBackup: return "Версия компонента для восстановления с сервера"; case Subscriber: return "Адресат"; case SelectedFunction: return "Выбранный узел графа процедур"; case SapforConfiguration: return "Конфигурация тестирования SAPFOR"; case PackageVersion: return "Версия пакетного режима"; case Credentials: return "Учётные данные"; case Function: return "Функция"; case DVMParameterValue: return "Параметр DVM системы"; case ParallelRegion: return "Область распараллеливания"; case Group: return "Группа тестов DVM"; case Scenario: return "Сценарий"; case ScenarioCommand: return "Команда сценария"; case ProjectNode: return "текущий узел дерева проектов"; //служебка case Test: return "Тест"; case Sapfor: return "SAPFOR"; case Theme: return "Тема"; case EnvironmentValue: return "Значение переменной окружения"; case SelectedDirectory: return "Папка проекта"; case SelectedFile: return "Файл проекта"; case RunConfiguration: return "Конфигурация запуска"; case RunTask: return "Задача на запуск"; case CompilationTask: return "Задача на компиляцию"; case Makefile: return "Мейкфайл"; case Module: return "Языковой модуль мейкфайла"; case RemoteFile: return "Удалённый файл"; case Component: return "Компонент"; case Project: return "Проект"; case File: return "Файл"; case Root: return "Корень дерева версий"; case Version: return "Версия"; case BugReport: return "Отчёт об ошибке"; case Account: return "Аккаунт"; case Machine: return "Машина"; case User: return "Пользователь"; case Compiler: return "Компилятор"; case DialogWindow: return "Диалоговое окно"; default: return ""; } } //--- public enum Mode { Undefined, Normal, Server, Testing, Package, MachineQueue, LocalMachineQueue } }