summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/taskmanager/tasks/Reboot.java
diff options
context:
space:
mode:
authorSimon Rettberg2014-06-27 21:24:27 +0200
committerSimon Rettberg2014-06-27 21:24:27 +0200
commit5b4c21b01150153d27da941ae8be017359125c5d (patch)
tree42fc89e26f0bb279f43654fee2fa9877d20b9fa8 /src/main/java/org/openslx/taskmanager/tasks/Reboot.java
parentFix concurrent modification issue (diff)
downloadtmlite-bwlp-5b4c21b01150153d27da941ae8be017359125c5d.tar.gz
tmlite-bwlp-5b4c21b01150153d27da941ae8be017359125c5d.tar.xz
tmlite-bwlp-5b4c21b01150153d27da941ae8be017359125c5d.zip
New Tasks
Diffstat (limited to 'src/main/java/org/openslx/taskmanager/tasks/Reboot.java')
-rw-r--r--src/main/java/org/openslx/taskmanager/tasks/Reboot.java62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/main/java/org/openslx/taskmanager/tasks/Reboot.java b/src/main/java/org/openslx/taskmanager/tasks/Reboot.java
new file mode 100644
index 0000000..c90289e
--- /dev/null
+++ b/src/main/java/org/openslx/taskmanager/tasks/Reboot.java
@@ -0,0 +1,62 @@
+package org.openslx.taskmanager.tasks;
+
+import org.openslx.taskmanager.api.SystemCommandTask;
+
+public class Reboot extends SystemCommandTask
+{
+ private final Output status = new Output();
+
+ @Override
+ protected String[] initCommandLine()
+ {
+ return new String[] {
+ "/usr/bin/sudo",
+ "-n",
+ "-u", "root",
+ "/sbin/reboot"
+ };
+ }
+
+ @Override
+ protected boolean processEnded( int exitCode )
+ {
+ return exitCode == 0;
+ }
+
+ @Override
+ protected void processStdOut( String line )
+ {
+ status.addMessage( line );
+ }
+
+ @Override
+ protected void processStdErr( String line )
+ {
+ status.addMessage( line );
+ }
+
+ @Override
+ protected boolean initTask()
+ {
+ this.setStatusObject( status );
+ return true;
+ }
+
+ /**
+ * Output - contains additional status data of this task
+ */
+ class Output
+ {
+ private String messages = null;
+
+ private void addMessage( String str )
+ {
+ if ( messages == null ) {
+ messages = str;
+ } else {
+ messages += "\n" + str;
+ }
+ }
+ }
+
+}