diff options
author | Simon Rettberg | 2014-10-13 11:50:40 +0200 |
---|---|---|
committer | Simon Rettberg | 2014-10-13 11:50:40 +0200 |
commit | e203d6800e90f51947ce49f855cfa4b7f7709975 (patch) | |
tree | 7f6b0390dc15bfe9ad278de9f4d124b6522955db /src/main/java/org/openslx/taskmanager/tasks/DozmodLauncher.java | |
parent | Use SSL for AD-LDAP-connections (diff) | |
download | tmlite-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.java | 84 |
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; + } + } + +} |