2023-09-17 22:13:42 +03:00
|
|
|
|
package GlobalData.Tasks;
|
|
|
|
|
|
import Common.Current;
|
|
|
|
|
|
import Common.UI.StatusEnum;
|
|
|
|
|
|
import Common.UI.Themes.VisualiserFonts;
|
|
|
|
|
|
|
|
|
|
|
|
import java.awt.*;
|
|
|
|
|
|
public enum TaskState implements StatusEnum {
|
|
|
|
|
|
Inactive,
|
|
|
|
|
|
//--
|
|
|
|
|
|
Waiting,
|
|
|
|
|
|
WorkspaceCreated,
|
|
|
|
|
|
WorkspaceReady,
|
|
|
|
|
|
Running,
|
|
|
|
|
|
Canceled,
|
|
|
|
|
|
//--- определение без скачки результатов!
|
|
|
|
|
|
ResultsDownloaded,
|
|
|
|
|
|
//-----------------------
|
|
|
|
|
|
Finished,
|
|
|
|
|
|
//--- результирующие
|
|
|
|
|
|
DoneWithErrors,
|
|
|
|
|
|
AbortedByTimeout,
|
|
|
|
|
|
AbortedByUser,
|
|
|
|
|
|
Crushed,
|
|
|
|
|
|
WrongTestFormat,
|
|
|
|
|
|
InternalError,
|
2023-11-03 02:33:19 +03:00
|
|
|
|
Done,
|
2023-09-17 22:13:42 +03:00
|
|
|
|
//--- сугубо кластерные.
|
|
|
|
|
|
Queued,
|
|
|
|
|
|
NoSuchTask,
|
|
|
|
|
|
FailedToQueue,
|
|
|
|
|
|
AbortingByUser; //только для одиночного запуска
|
2023-12-07 02:05:08 +03:00
|
|
|
|
//для фильтров тестирования двм системы.
|
2023-09-17 22:13:42 +03:00
|
|
|
|
public boolean isVisible() {
|
|
|
|
|
|
switch (this) {
|
2023-12-07 02:05:08 +03:00
|
|
|
|
case Done:
|
|
|
|
|
|
case DoneWithErrors:
|
|
|
|
|
|
case AbortedByTimeout:
|
|
|
|
|
|
case WrongTestFormat:
|
|
|
|
|
|
case InternalError:
|
|
|
|
|
|
case Crushed:
|
2023-09-17 22:13:42 +03:00
|
|
|
|
return true;
|
2023-12-07 02:05:08 +03:00
|
|
|
|
default:
|
|
|
|
|
|
return false;
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
public String getDescription() {
|
|
|
|
|
|
switch (this) {
|
|
|
|
|
|
case Waiting:
|
|
|
|
|
|
return "ожидание";
|
|
|
|
|
|
case WorkspaceCreated:
|
|
|
|
|
|
return "папка создана";
|
|
|
|
|
|
case WorkspaceReady:
|
|
|
|
|
|
return "готова к выполнению";
|
|
|
|
|
|
case Running:
|
|
|
|
|
|
return "выполняется";
|
|
|
|
|
|
case Finished:
|
|
|
|
|
|
return "ожидание анализа результатов";
|
|
|
|
|
|
case Inactive:
|
|
|
|
|
|
return "неактивно";
|
|
|
|
|
|
case AbortedByTimeout:
|
|
|
|
|
|
return "таймаут";
|
|
|
|
|
|
case AbortedByUser:
|
|
|
|
|
|
return "прервана";
|
|
|
|
|
|
case Done:
|
|
|
|
|
|
return "успешно";
|
|
|
|
|
|
case DoneWithErrors:
|
|
|
|
|
|
return "с ошибками";
|
|
|
|
|
|
case Crushed:
|
|
|
|
|
|
return "падение";
|
|
|
|
|
|
case Canceled:
|
|
|
|
|
|
return "отменена";
|
|
|
|
|
|
case InternalError:
|
2023-12-04 01:43:08 +03:00
|
|
|
|
return "отсутствует файл состояния";
|
2023-09-17 22:13:42 +03:00
|
|
|
|
case WrongTestFormat:
|
|
|
|
|
|
return "неверный формат";
|
|
|
|
|
|
case FailedToQueue:
|
|
|
|
|
|
return "не удалось поставить в очередь";
|
|
|
|
|
|
case NoSuchTask:
|
|
|
|
|
|
return "не существует";
|
|
|
|
|
|
case Queued:
|
|
|
|
|
|
return "в очереди";
|
|
|
|
|
|
case AbortingByUser:
|
|
|
|
|
|
return "прерывание...";
|
|
|
|
|
|
case ResultsDownloaded:
|
|
|
|
|
|
return "результаты загружены";
|
|
|
|
|
|
//--------------------------------------->>>
|
|
|
|
|
|
default:
|
|
|
|
|
|
return StatusEnum.super.getDescription();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
public Font getFont() {
|
|
|
|
|
|
switch (this) {
|
|
|
|
|
|
case FailedToQueue:
|
|
|
|
|
|
case NoSuchTask:
|
|
|
|
|
|
case AbortedByUser:
|
|
|
|
|
|
case AbortedByTimeout:
|
|
|
|
|
|
case DoneWithErrors:
|
|
|
|
|
|
case WrongTestFormat:
|
|
|
|
|
|
case InternalError:
|
|
|
|
|
|
case Canceled:
|
|
|
|
|
|
return Current.getTheme().Fonts.get(VisualiserFonts.BadState);
|
|
|
|
|
|
case Queued:
|
|
|
|
|
|
case Running:
|
|
|
|
|
|
return Current.getTheme().Fonts.get(VisualiserFonts.ProgressState);
|
|
|
|
|
|
case Done:
|
|
|
|
|
|
return Current.getTheme().Fonts.get(VisualiserFonts.GoodState);
|
|
|
|
|
|
case Crushed:
|
|
|
|
|
|
return Current.getTheme().Fonts.get(VisualiserFonts.Fatal);
|
|
|
|
|
|
case Finished:
|
|
|
|
|
|
return Current.getTheme().Fonts.get(VisualiserFonts.BlueState);
|
|
|
|
|
|
case WorkspaceReady:
|
|
|
|
|
|
return Current.getTheme().Fonts.get(VisualiserFonts.ReadyState);
|
|
|
|
|
|
default:
|
|
|
|
|
|
return StatusEnum.super.getFont();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
//
|
|
|
|
|
|
public boolean isActive() {
|
|
|
|
|
|
switch (this) {
|
|
|
|
|
|
case Waiting:
|
|
|
|
|
|
case Running:
|
|
|
|
|
|
case Queued:
|
|
|
|
|
|
case Finished:
|
|
|
|
|
|
case AbortingByUser:
|
|
|
|
|
|
case WorkspaceReady:
|
|
|
|
|
|
case WorkspaceCreated:
|
|
|
|
|
|
return true;
|
|
|
|
|
|
default:
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
public boolean isFinished() {
|
|
|
|
|
|
return this == TaskState.Finished;
|
|
|
|
|
|
}
|
|
|
|
|
|
public boolean isComplete() {
|
|
|
|
|
|
switch (this) {
|
|
|
|
|
|
case Done:
|
|
|
|
|
|
case DoneWithErrors:
|
|
|
|
|
|
case AbortedByTimeout:
|
|
|
|
|
|
case AbortedByUser:
|
|
|
|
|
|
case WrongTestFormat:
|
|
|
|
|
|
case Crushed:
|
|
|
|
|
|
case InternalError:
|
|
|
|
|
|
case Canceled:
|
|
|
|
|
|
return true;
|
|
|
|
|
|
default:
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|