You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by io...@apache.org on 2012/06/10 22:07:02 UTC
svn commit: r1348655 -
/karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/impl/WatchAction.java
Author: iocanel
Date: Sun Jun 10 20:07:02 2012
New Revision: 1348655
URL: http://svn.apache.org/viewvc?rev=1348655&view=rev
Log:
[KARAF-1529] Added supprot for aborting a watch task when a users stops the command-watch.
Modified:
karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/impl/WatchAction.java
Modified: karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/impl/WatchAction.java
URL: http://svn.apache.org/viewvc/karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/impl/WatchAction.java?rev=1348655&r1=1348654&r2=1348655&view=diff
==============================================================================
--- karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/impl/WatchAction.java (original)
+++ karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/impl/WatchAction.java Sun Jun 10 20:07:02 2012
@@ -57,6 +57,7 @@ public class WatchAction extends Abstrac
executorService.scheduleAtFixedRate(watchTask, 0, interval, TimeUnit.SECONDS);
try {
session.getKeyboard().read();
+ watchTask.abort();
} finally {
executorService.shutdownNow();
watchTask.close();
@@ -73,6 +74,7 @@ public class WatchAction extends Abstrac
CommandSession session;
ByteArrayOutputStream byteArrayOutputStream = null;
PrintStream printStream = null;
+ boolean doDisplay = true;
public WatchTask(CommandProcessor processor, String command) {
this.processor = processor;
@@ -81,16 +83,18 @@ public class WatchAction extends Abstrac
public void run() {
try {
- byteArrayOutputStream = new ByteArrayOutputStream();
+ byteArrayOutputStream = new ByteArrayOutputStream();
printStream = new PrintStream(byteArrayOutputStream);
session = commandProcessor.createSession(null, printStream, printStream);
String output = "";
session.execute(command);
output = byteArrayOutputStream.toString();
- System.out.print("\33[2J");
- System.out.print("\33[1;1H");
- System.out.print(output);
- System.out.flush();
+ if (doDisplay) {
+ System.out.print("\33[2J");
+ System.out.print("\33[1;1H");
+ System.out.print(output);
+ System.out.flush();
+ }
byteArrayOutputStream.close();
session.close();
} catch (Exception e) {
@@ -98,6 +102,9 @@ public class WatchAction extends Abstrac
}
}
+ public void abort() {
+ doDisplay = false;
+ }
public void close() throws IOException {
if (this.session != null) {
this.session.close();