summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.server
diff options
context:
space:
mode:
authorDhandapani <dhandapani@gluster.com>2011-07-04 14:03:10 +0530
committerDhandapani <dhandapani@gluster.com>2011-07-04 14:03:10 +0530
commit64298ea8a716c137f958e378e5a2c0798635cae8 (patch)
treed57b15573282bcc605a5d514c1e82a9b2746ca4f /src/com.gluster.storage.management.server
parent1c1911f078b81662590a68e15f1d916534e7524e (diff)
parent5cb94f565f49b2a952d941df18507049364a1b6d (diff)
Merge branch 'master' of git@github.com:gluster/console
Diffstat (limited to 'src/com.gluster.storage.management.server')
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/SshUtil.java33
1 files changed, 16 insertions, 17 deletions
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/SshUtil.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/SshUtil.java
index d56cd47c..4f0b04cf 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/SshUtil.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/SshUtil.java
@@ -226,6 +226,10 @@ public class SshUtil {
return conn;
}
+ private boolean wasTerminated(int condition) {
+ return ((condition | ChannelCondition.EXIT_SIGNAL) == condition);
+ }
+
private boolean hasErrors(int condition, Session session) {
return (hasErrorStream(condition) || (exitedGracefully(condition) && exitedWithError(session)));
}
@@ -239,7 +243,7 @@ public class SshUtil {
}
private boolean exitedGracefully(int condition) {
- return (condition == ChannelCondition.EXIT_STATUS);
+ return (condition | ChannelCondition.EXIT_STATUS) == condition;
}
private boolean hasErrorStream(int condition) {
@@ -292,24 +296,19 @@ public class SshUtil {
private ProcessResult prepareProcessResult(Session session, int condition, String output) {
ProcessResult result = null;
- switch(condition) {
- case ChannelCondition.TIMEOUT:
- result = new ProcessResult(ProcessResult.FAILURE, "Command timed out!");
- break;
- case ChannelCondition.EXIT_SIGNAL:
- // terminated
+
+ if (wasTerminated(condition)) {
result = new ProcessResult(ProcessResult.FAILURE, output);
- break;
- default:
- if (hasErrors(condition, session)) {
- Integer exitStatus = session.getExitStatus();
- int statusCode = (exitStatus == null ? ProcessResult.FAILURE : exitStatus);
- result = new ProcessResult(statusCode, output);
- } else {
- result = new ProcessResult(ProcessResult.SUCCESS, output);
- }
- break;
+ } else if (timedOut(condition)) {
+ result = new ProcessResult(ProcessResult.FAILURE, "Command timed out!");
+ } else if (hasErrors(condition, session)) {
+ Integer exitStatus = session.getExitStatus();
+ int statusCode = (exitStatus == null ? ProcessResult.FAILURE : exitStatus);
+ result = new ProcessResult(statusCode, output);
+ } else {
+ result = new ProcessResult(ProcessResult.SUCCESS, output);
}
+
return result;
}