changeset 1929:5400d0567e11

Handle all responses when killing a vm. PR3030 Reviewer: jerboaa Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2016-June/019661.html
author Jie Kang <jkang@redhat.com>
date Wed, 22 Jun 2016 10:54:48 -0400
parents 07c8d314c3ab
children b4f7278c8acd
files killvm/command/src/main/java/com/redhat/thermostat/killvm/command/internal/ShellVMKilledListener.java
diffstat 1 files changed, 19 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/killvm/command/src/main/java/com/redhat/thermostat/killvm/command/internal/ShellVMKilledListener.java	Wed Jun 22 09:06:24 2016 -0400
+++ b/killvm/command/src/main/java/com/redhat/thermostat/killvm/command/internal/ShellVMKilledListener.java	Wed Jun 22 10:54:48 2016 -0400
@@ -51,7 +51,6 @@
 
     private static final Logger logger = LoggingUtils
             .getLogger(ShellVMKilledListener.class);
-    private boolean complete = false;
 
     private PrintStream out;
     private PrintStream err;
@@ -65,29 +64,36 @@
             case ERROR:
                 String pid = request.getParameter("vm-pid");
                 message = "Kill request error for VM ID " + pid;
-                logger.log(Level.SEVERE, message);
-                if (err != null) {
-                    err.println(message);
-                }
+                printMessage(err, Level.SEVERE, message);
                 break;
             case OK:
                 message = "VM with id " + request.getParameter("vm-pid") + " killed.";
-                logger.log(Level.INFO, message);
-                if (out != null) {
-                    out.println(message);
-                }
+                printMessage(out, Level.INFO, message);
+                break;
+            case NOK:
+            case NOOP:
+                message = "Request to kill VM was ignored.";
+                printMessage(out, Level.WARNING, message);
+                break;
+            case AUTH_FAILED:
+                message = "Request to kill VM failed due to authorization issues";
+                printMessage(out, Level.WARNING, message);
                 break;
             default:
                 message = "Unknown result from KILL VM command.";
-                logger.log(Level.WARNING, message);
-                if (out != null) {
-                    out.println(message);
-                }
+                printMessage(err, Level.WARNING, message);
                 break;
         }
         latch.countDown();
     }
 
+    private void printMessage(PrintStream printStream, Level level, String message) {
+        logger.log(level, message);
+        if (printStream != null) {
+            printStream.println(message);
+        }
+    }
+
     public void setOut(PrintStream out) {
         this.out = out;
     }