2023-12-17 19:19:59 +03:00
|
|
|
package TestingSystem.Common;
|
2023-09-17 22:13:42 +03:00
|
|
|
import Common.Current;
|
|
|
|
|
import Common.UI.StatusEnum;
|
|
|
|
|
import Common.UI.Themes.VisualiserFonts;
|
|
|
|
|
|
|
|
|
|
import java.awt.*;
|
2023-12-04 15:26:54 +03:00
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.Vector;
|
|
|
|
|
import java.util.stream.Collectors;
|
2023-09-17 22:13:42 +03:00
|
|
|
public enum TasksPackageState implements StatusEnum {
|
2023-12-11 18:29:15 +03:00
|
|
|
Draft,
|
|
|
|
|
//--
|
2023-09-17 22:13:42 +03:00
|
|
|
Queued,
|
2023-12-04 15:26:54 +03:00
|
|
|
//--
|
2023-09-17 22:13:42 +03:00
|
|
|
TestsSynchronize, //оставить.
|
|
|
|
|
PackageWorkspaceCreation,
|
|
|
|
|
PackageStart,
|
|
|
|
|
//
|
|
|
|
|
CompilationWorkspacesCreation,
|
|
|
|
|
CompilationPreparation,
|
|
|
|
|
CompilationExecution,
|
|
|
|
|
//-
|
|
|
|
|
RunningWorkspacesCreation,
|
|
|
|
|
RunningPreparation,
|
|
|
|
|
RunningExecution,
|
|
|
|
|
//--
|
|
|
|
|
RunningEnd, //скачка архива
|
|
|
|
|
Analysis,
|
2024-03-21 19:02:08 +03:00
|
|
|
//-
|
2023-09-17 22:13:42 +03:00
|
|
|
Done,
|
2024-04-08 01:30:46 +03:00
|
|
|
Aborted,
|
|
|
|
|
ConnectionError
|
|
|
|
|
;
|
2023-11-13 21:07:44 +03:00
|
|
|
public boolean isActive() {
|
|
|
|
|
switch (this) {
|
|
|
|
|
case Done:
|
|
|
|
|
case Aborted:
|
2023-12-11 18:29:15 +03:00
|
|
|
case Draft:
|
2024-04-08 01:30:46 +03:00
|
|
|
case ConnectionError:
|
2023-11-13 21:07:44 +03:00
|
|
|
return false;
|
|
|
|
|
default:
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-09-17 22:13:42 +03:00
|
|
|
@Override
|
|
|
|
|
public Font getFont() {
|
|
|
|
|
switch (this) {
|
|
|
|
|
case TestsSynchronize:
|
|
|
|
|
case Analysis:
|
2023-12-11 18:29:15 +03:00
|
|
|
case Draft:
|
2023-09-17 22:13:42 +03:00
|
|
|
return Current.getTheme().Fonts.get(VisualiserFonts.BlueState);
|
|
|
|
|
case CompilationExecution:
|
|
|
|
|
case RunningExecution:
|
|
|
|
|
return Current.getTheme().Fonts.get(VisualiserFonts.ProgressState);
|
|
|
|
|
case Done:
|
|
|
|
|
return Current.getTheme().Fonts.get(VisualiserFonts.GoodState);
|
|
|
|
|
default:
|
|
|
|
|
return StatusEnum.super.getFont();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//-
|
|
|
|
|
public String getDescription() {
|
|
|
|
|
switch (this) {
|
2023-12-11 18:29:15 +03:00
|
|
|
case Draft:
|
|
|
|
|
return "Подготовка к публикации";
|
2023-09-17 22:13:42 +03:00
|
|
|
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 "завершен";
|
2024-04-08 01:30:46 +03:00
|
|
|
case ConnectionError:
|
|
|
|
|
return "Сбой связи";
|
2023-09-17 22:13:42 +03:00
|
|
|
default:
|
|
|
|
|
return StatusEnum.super.getDescription();
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-12-04 15:26:54 +03:00
|
|
|
|
|
|
|
|
public Vector<TasksPackageState> getHigherStates(){
|
|
|
|
|
return Arrays.stream(values()).filter(state -> state.ordinal() > this.ordinal()).collect(Collectors.toCollection(Vector::new));
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-17 22:13:42 +03:00
|
|
|
}
|