package _VisualDVM.TestingSystem.Common; import Common.Visual.Fonts.VisualiserFonts; import Common.Visual.StatusEnum; import java.util.Arrays; import java.util.Vector; import java.util.stream.Collectors; public enum TasksPackageState implements StatusEnum { Draft, //-- Inactive, //пакет просто есть. не запущен. Queued, //-- TestsSynchronize, //оставить. PackageWorkspaceCreation, PackageStart, // CompilationWorkspacesCreation, CompilationPreparation, CompilationExecution, //- RunningWorkspacesCreation, RunningPreparation, RunningExecution, //-- RunningEnd, //скачка архива Analysis, //- Done, Aborted, ConnectionError, DoneWithErrors; public boolean isActive() { switch (this) { case Inactive: case Done: case DoneWithErrors: case Aborted: case Draft: case ConnectionError: return false; default: return true; } } public boolean isDone() { switch (this) { case Done: case DoneWithErrors: return true; default: return false; } } @Override public VisualiserFonts getFont() { switch (this) { case TestsSynchronize: case Analysis: case Draft: return VisualiserFonts.BlueState; case CompilationExecution: case RunningExecution: return VisualiserFonts.ProgressState; case Done: return VisualiserFonts.GoodState; case DoneWithErrors: return VisualiserFonts.BadState; default: return StatusEnum.super.getFont(); } } //- public String getDescription() { switch (this) { case Inactive: return "неактивен"; case Draft: return "Подготовка к публикации"; case Aborted: return "прерван"; case Queued: return "в очереди"; case TestsSynchronize: return "синхронизация тестов"; case PackageWorkspaceCreation: return "создание рабочей папки пакета"; case PackageStart: return "старт пакета"; case CompilationWorkspacesCreation: return "создание рабочих папок компиляции"; case CompilationPreparation: return "подготовка к компиляции"; case CompilationExecution: return "компиляция"; case RunningWorkspacesCreation: return "создание рабочих папок для запуска"; case RunningPreparation: return "подготовка к запуску"; case RunningExecution: return "запуск"; case RunningEnd: return "загрузка результатов"; case Analysis: return "анализ результатов"; case Done: return "завершен"; case ConnectionError: return "сбой связи"; case DoneWithErrors: return "завершен с ошибками"; default: return StatusEnum.super.getDescription(); } } public Vector getHigherStates() { return Arrays.stream(values()).filter(state -> state.ordinal() > this.ordinal()).collect(Collectors.toCollection(Vector::new)); } }