You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2012/08/01 22:00:20 UTC

svn commit: r1368224 - in /karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/jline: Console.java ConsoleFactory.java

Author: gnodet
Date: Wed Aug  1 20:00:20 2012
New Revision: 1368224

URL: http://svn.apache.org/viewvc?rev=1368224&view=rev
Log:
[KARAF-1702] Stopping the console bundle should not shutdown the osgi framework

Conflicts:

	shell/console/src/main/java/org/apache/karaf/shell/console/jline/Console.java


Conflicts:

	shell/console/src/main/java/org/apache/karaf/shell/console/jline/ConsoleFactory.java

Modified:
    karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/jline/Console.java
    karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/jline/ConsoleFactory.java

Modified: karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/jline/Console.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/jline/Console.java?rev=1368224&r1=1368223&r2=1368224&view=diff
==============================================================================
--- karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/jline/Console.java (original)
+++ karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/jline/Console.java Wed Aug  1 20:00:20 2012
@@ -26,7 +26,6 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.InterruptedIOException;
 import java.io.PrintStream;
-import java.io.PrintWriter;
 import java.io.Reader;
 import java.util.Map;
 import java.util.Properties;
@@ -38,7 +37,6 @@ import java.util.regex.Pattern;
 import jline.Terminal;
 import jline.UnsupportedTerminal;
 import jline.console.ConsoleReader;
-import jline.console.history.FileHistory;
 import jline.console.history.PersistentHistory;
 import org.apache.felix.gogo.commands.CommandException;
 import org.apache.felix.gogo.runtime.CommandNotFoundException;
@@ -133,8 +131,11 @@ public class Console implements Runnable
         return session;
     }
 
-    public void close() {
+    public void close(boolean closedByUser) {
         //System.err.println("Closing");
+        if (!running) {
+            return;
+        }
         if (reader.getHistory() instanceof PersistentHistory) {
             try {
                 ((PersistentHistory) reader.getHistory()).flush();
@@ -145,6 +146,9 @@ public class Console implements Runnable
         running = false;
         CommandSessionHolder.unset();
         pipe.interrupt();
+        if (closedByUser && closeCallback != null) {
+            closeCallback.run();
+        }
     }
 
     public void run()
@@ -180,7 +184,7 @@ public class Console implements Runnable
                 logException(t);
             }
         }
-        close();
+        close(true);
         //System.err.println("Exiting console...");
         if (closeCallback != null)
         {

Modified: karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/jline/ConsoleFactory.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/jline/ConsoleFactory.java?rev=1368224&r1=1368223&r2=1368224&view=diff
==============================================================================
--- karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/jline/ConsoleFactory.java (original)
+++ karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/jline/ConsoleFactory.java Wed Aug  1 20:00:20 2012
@@ -176,8 +176,11 @@ public class ConsoleFactory {
         if (registration != null) {
             registration.unregister();
         }
+        // The bundle is stopped
+        // so close the console and remove the callback so that the
+        // osgi framework isn't stopped
         if (console != null) {
-            console.close();
+            console.close(false);
         }
     }