package ControllerWorker; public enum ClientState { //initialisation state CLIENT_UNKNOWN(1), //progress states CHECK_PING_PROGRESS(2), CHECK_WHO_PROGRESS(3), CHECK_SHUTDOWN_PROGRESS(4), CHECK_PING_SHUTDOWN_PROGRESS(5), CHECK_WAKE_ON_LAN_PROGRESS(6), CHECK_CHECKOS_PROGRESS(7), CHECK_PS_PROGRESS(8), CHECK_PING_WOL_PROGRESS(9), CHECK_RESTART_PROGRESS(10), CHECK_PING_RESTART_SHUTDOWN_PROGRESS(11), CHECK_PING_RESTART_BOOT_PROGRESS(12), CHECK_LS_PROGRESS(13), //job states CLIENT_IS_ALIVE(14), SHUTDOWN_CLIENT(15), SHUTDOWN_COMMAND_SENT(16), PING_SHUTDOWN_AGAIN(17), USER_IS_LOGGED_IN(18), USER_IS_WORKING(19), CLIENT_NOT_ALIVE(20), MAGIC_PACKET_SENT(21), PING_WOL_AGAIN(22), WRONG_OS(23), A_USER_IS_LOGGED_IN(24), RESTART_CLIENT(25), RESTART_COMMAND_SENT(26), PING_RESTART_SHUTDOWN_AGAIN(27), CLIENT_IS_DOWN(28), PING_RESTART_BOOT_AGAIN(29), USERPROCESSES_ARE_RUNNING(30), //final states BOOT_SUCCESS(31), BOOT_ERROR(32), SHUTDOWN_SUCCESS(33), SHUTDOWN_ERROR(34); ClientState(int state) { this.state = state; } public int stateNumber() { return state; } @Override public String toString() { switch (this) { case CLIENT_UNKNOWN: return "[" + this.state + "] The client has been intialized."; case CHECK_PING_PROGRESS: return "[" + this.state + "] The ping has been intialized."; case CLIENT_IS_ALIVE: return "[" + this.state + "] The client is alive."; case CHECK_WHO_PROGRESS: return "[" + this.state + "] The check if a user is logged in has been intialized."; case SHUTDOWN_CLIENT: return "[" + this.state + "] No user is logged in."; case CHECK_SHUTDOWN_PROGRESS: return "[" + this.state + "] A shutdown of the client has been triggered."; case SHUTDOWN_COMMAND_SENT: return "[" + this.state + "] The shutdown command has been sent."; case PING_SHUTDOWN_AGAIN: return "[" + this.state + "] Doing ping after shutdown again and again, until client is not alive or waitTime has been elapsed"; case CHECK_PING_SHUTDOWN_PROGRESS: return "[" + this.state + "] The ping after shutdown has been intialized."; case USER_IS_LOGGED_IN: return "[" + this.state + "] A user is logged in."; case CHECK_PS_PROGRESS: return "[" + this.state + "] The check if the user is working has been intialized."; case USERPROCESSES_ARE_RUNNING: return "[" + this.state + "] Processes from the blacklist and a screensaver process have been running."; case CHECK_LS_PROGRESS: return "[" + this.state + "] The check if the screensaver has been running longer than 60min has been intialized."; case USER_IS_WORKING: return "[" + this.state + "] The user is working."; case CLIENT_NOT_ALIVE: return "[" + this.state + "] The client is not alive."; case CHECK_WAKE_ON_LAN_PROGRESS: return "[" + this.state + "] The wake on LAN has been initialized."; case MAGIC_PACKET_SENT: return "[" + this.state + "] The Magic packet has been sent."; case PING_WOL_AGAIN: return "[" + this.state + "] Doing ping after wake on LAN again and again, until client is alive or waitTime has been elapsed"; case CHECK_PING_WOL_PROGRESS: return "[" + this.state + "] The ping after wake on LAN has been initialized."; case CHECK_CHECKOS_PROGRESS: return "[" + this.state + "] The check for the correct operating system has been initialized."; case WRONG_OS: return "[" + this.state + "] The wrong operating system is running."; case A_USER_IS_LOGGED_IN: return "[" + this.state + "] A user is logged in."; case RESTART_CLIENT: return "[" + this.state + "] No user is logged in."; case CHECK_RESTART_PROGRESS: return "[" + this.state + "] A restart of the client has been initialized."; case RESTART_COMMAND_SENT: return "[" + this.state + "] The restart command has been sent."; case PING_RESTART_SHUTDOWN_AGAIN: return "[" + this.state + "] Doing ping after shutdown again and again, until client is not alive or waitTime has been elapsed"; case CHECK_PING_RESTART_SHUTDOWN_PROGRESS: return "[" + this.state + "] The ping after shutdown has been initialized."; case CLIENT_IS_DOWN: return "[" + this.state + "] The client has been shutted down."; case PING_RESTART_BOOT_AGAIN: return "[" + this.state + "] Doing ping after reboot again and again, until client is not alive or waitTime has been elapsed"; case CHECK_PING_RESTART_BOOT_PROGRESS: return "[" + this.state + "] The ping after reboot has been initialized."; case BOOT_ERROR: return "[" + this.state + "] Booting of the client has not been finished, due to an error."; case BOOT_SUCCESS: return "[" + this.state + "] Booting of the client has been finished."; case SHUTDOWN_ERROR: return "[" + this.state + "] Shutdown of the client has not been finished, due to an error."; case SHUTDOWN_SUCCESS: return "[" + this.state + "] Shutdown of the client has been finished."; default: return "[" + this.state + "] Client is in unknown State"; } } private int state; }