diff options
author | Simon Rettberg | 2014-06-03 16:47:36 +0200 |
---|---|---|
committer | Simon Rettberg | 2014-06-03 16:47:36 +0200 |
commit | 32dc5354e2916387a2c62eadae0a4568023f1151 (patch) | |
tree | 7fd9a0173d6073e86d1d48e545646b1bc8c1a5eb /src/main/java/org/openslx/taskmanager/tasks/MountVmStore.java | |
download | tmlite-bwlp-32dc5354e2916387a2c62eadae0a4568023f1151.tar.gz tmlite-bwlp-32dc5354e2916387a2c62eadae0a4568023f1151.tar.xz tmlite-bwlp-32dc5354e2916387a2c62eadae0a4568023f1151.zip |
Initial commit
Diffstat (limited to 'src/main/java/org/openslx/taskmanager/tasks/MountVmStore.java')
-rw-r--r-- | src/main/java/org/openslx/taskmanager/tasks/MountVmStore.java | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/src/main/java/org/openslx/taskmanager/tasks/MountVmStore.java b/src/main/java/org/openslx/taskmanager/tasks/MountVmStore.java new file mode 100644 index 0000000..a77387d --- /dev/null +++ b/src/main/java/org/openslx/taskmanager/tasks/MountVmStore.java @@ -0,0 +1,84 @@ +package org.openslx.taskmanager.tasks; + +import org.openslx.satserver.util.Constants; +import org.openslx.taskmanager.api.SystemCommandTask; + +import com.google.gson.annotations.Expose; + +public class MountVmStore extends SystemCommandTask +{ + @Expose + private String address = null; + @Expose + private String type = null; + @Expose + private String username = null; + @Expose + private String password = null; + + private Output status = new Output(); + + @Override + protected boolean initTask() + { + this.setStatusObject( this.status ); + if ( this.address == null || this.type == null ) { + status.addMessage( "Address or type not given." ); + return false; + } + if ( this.username == null ) + this.username = ""; + if ( this.password == null ) + this.password = ""; + return true; + } + + @Override + protected String[] initCommandLine() + { + return new String[] { + "/usr/bin/sudo", + "-n", + "-u", "root", Constants.BASEDIR + "/scripts/mount-store", + "images", + this.address, + this.username, + this.password + }; + } + + @Override + protected boolean processEnded( int exitCode ) + { + if ( exitCode != 0 ) + status.addMessage( "Failed with exit code " + exitCode ); + return exitCode == 0; + } + + @Override + protected void processStdOut( String line ) + { + status.addMessage( line ); + } + + @Override + protected void processStdErr( String line ) + { + status.addMessage( line ); + } + + class Output + { + private String messages = null; + + private void addMessage( String str ) + { + if ( messages == null ) { + messages = str; + } else { + messages += "\n" + str; + } + } + } + +} |