Files
VisualSapfor/src/GlobalData/Tasks/TaskState.java

149 lines
4.6 KiB
Java
Raw Normal View History

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,
//--- результирующие
Done,
DoneWithErrors,
AbortedByTimeout,
AbortedByUser,
Crushed,
WrongTestFormat,
InternalError,
//--- сугубо кластерные.
Queued,
NoSuchTask,
FailedToQueue,
AbortingByUser; //только для одиночного запуска
public boolean isVisible() {
switch (this) {
case Queued:
case FailedToQueue:
case NoSuchTask:
case AbortingByUser:
return false;
default:
return true;
}
}
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:
return "внутренняя ошибка";
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;
}
}
}