summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/taskmanager/tasks/DozmodLauncher.java
diff options
context:
space:
mode:
authorSimon Rettberg2014-10-13 11:50:40 +0200
committerSimon Rettberg2014-10-13 11:50:40 +0200
commite203d6800e90f51947ce49f855cfa4b7f7709975 (patch)
tree7f6b0390dc15bfe9ad278de9f4d124b6522955db /src/main/java/org/openslx/taskmanager/tasks/DozmodLauncher.java
parentUse SSL for AD-LDAP-connections (diff)
downloadtmlite-bwlp-e203d6800e90f51947ce49f855cfa4b7f7709975.tar.gz
tmlite-bwlp-e203d6800e90f51947ce49f855cfa4b7f7709975.tar.xz
tmlite-bwlp-e203d6800e90f51947ce49f855cfa4b7f7709975.zip
Added Dozmod and Syncdaemon launcher
Also added forgotten Exec class, tweaked mount-store script too
Diffstat (limited to 'src/main/java/org/openslx/taskmanager/tasks/DozmodLauncher.java')
-rw-r--r--src/main/java/org/openslx/taskmanager/tasks/DozmodLauncher.java84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/main/java/org/openslx/taskmanager/tasks/DozmodLauncher.java b/src/main/java/org/openslx/taskmanager/tasks/DozmodLauncher.java
new file mode 100644
index 0000000..b2f2826
--- /dev/null
+++ b/src/main/java/org/openslx/taskmanager/tasks/DozmodLauncher.java
@@ -0,0 +1,84 @@
+package org.openslx.taskmanager.tasks;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.openslx.taskmanager.api.SystemCommandTask;
+
+import com.google.gson.annotations.Expose;
+
+public class DozmodLauncher extends SystemCommandTask
+{
+ /**
+ * What to do: start, stop...
+ */
+ @Expose
+ private String operation;
+
+ private StatusObject status = null;
+
+ @Override
+ protected String[] initCommandLine()
+ {
+ List<String> params = new ArrayList<>();
+ params.addAll(
+ Arrays.asList(
+ "/usr/bin/sudo",
+ "-n",
+ "-u", "dmsd",
+ "/opt/dmsd/control.sh" ) );
+ switch ( operation ) {
+ case "start":
+ case "stop":
+ params.add( operation );
+ break;
+ default:
+ status.addMsg( "Unknown operation: " + operation );
+ return null;
+ }
+ return params.toArray( new String[ 0 ] );
+ }
+
+ private boolean errorIfNull( String check, String message )
+ {
+ if ( check == null )
+ status.addMsg( message );
+ return check == null;
+ }
+
+ @Override
+ protected boolean processEnded( int exitCode )
+ {
+ return exitCode == 0;
+ }
+
+ @Override
+ protected void processStdOut( String line )
+ {
+ status.addMsg( line );
+ }
+
+ @Override
+ protected void processStdErr( String line )
+ {
+ status.addMsg( line );
+ }
+
+ @Override
+ protected boolean initTask()
+ {
+ return !errorIfNull( operation, "No operation given" );
+ }
+
+ class StatusObject
+ {
+ private String messages = "";
+
+ public void addMsg( String str )
+ {
+ messages = messages + "\n" + str;
+ }
+ }
+
+}