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 2018/02/06 08:34:16 UTC

[karaf] branch karaf-4.1.x updated: [KARAF-5595] Upgrade to JLine 3.6.0 and Jansi 1.17

This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch karaf-4.1.x
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/karaf-4.1.x by this push:
     new 3c08df9  [KARAF-5595] Upgrade to JLine 3.6.0 and Jansi 1.17
3c08df9 is described below

commit 3c08df93605c96a17815736bdb46d0379de20cd0
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Tue Feb 6 09:34:08 2018 +0100

    [KARAF-5595] Upgrade to JLine 3.6.0 and Jansi 1.17
---
 pom.xml                                            |  4 +--
 .../shell/impl/console/ConsoleSessionImpl.java     |  9 ++----
 .../karaf/shell/impl/console/JLineTerminal.java    | 35 ++++++++++++++++++++++
 .../org/apache/karaf/shell/ssh/SshTerminal.java    |  3 +-
 .../apache/karaf/webconsole/gogo/WebTerminal.java  |  3 +-
 5 files changed, 43 insertions(+), 11 deletions(-)

diff --git a/pom.xml b/pom.xml
index 3eb6b1a..fc27c17 100644
--- a/pom.xml
+++ b/pom.xml
@@ -246,9 +246,9 @@
         <hibernate43.version>4.3.6.Final</hibernate43.version>
         <hibernate.version>5.2.8.Final</hibernate.version>
         <hibernate.validator.version>5.3.4.Final</hibernate.validator.version>
-        <jansi.version>1.16</jansi.version>
+        <jansi.version>1.17</jansi.version>
         <javassist.version>3.9.0.GA</javassist.version>
-        <jline.version>3.4.0</jline.version>
+        <jline.version>3.6.0</jline.version>
         <jsw.version>3.2.3</jsw.version>
         <log4j.version>1.2.17</log4j.version>
         <maven.version>2.0.9</maven.version>
diff --git a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/ConsoleSessionImpl.java b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/ConsoleSessionImpl.java
index e2f264f..dc2db13 100644
--- a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/ConsoleSessionImpl.java
+++ b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/ConsoleSessionImpl.java
@@ -60,12 +60,7 @@ import org.apache.karaf.shell.support.completers.FileOrUriCompleter;
 import org.apache.karaf.shell.support.completers.UriCompleter;
 import org.apache.karaf.util.filesstream.FilesStream;
 import org.jline.builtins.Completers;
-import org.jline.reader.Completer;
-import org.jline.reader.EndOfFileException;
-import org.jline.reader.LineReader;
-import org.jline.reader.LineReaderBuilder;
-import org.jline.reader.ParsedLine;
-import org.jline.reader.UserInterruptException;
+import org.jline.reader.*;
 import org.jline.terminal.Terminal.Signal;
 import org.jline.terminal.impl.DumbTerminal;
 import org.slf4j.Logger;
@@ -345,7 +340,7 @@ public class ConsoleSessionImpl implements Session {
                 CharSequence command = null;
                 reading.set(true);
                 try {
-                    reader.readLine(getPrompt(), getRPrompt(), null, null);
+                    reader.readLine(getPrompt(), getRPrompt(), (MaskingCallback) null, null);
                     ParsedLine pl = reader.getParsedLine();
                     if (pl instanceof ParsedLineImpl) {
                         command = ((ParsedLineImpl) pl).program();
diff --git a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/JLineTerminal.java b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/JLineTerminal.java
index ef6fba2..32ccb89 100644
--- a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/JLineTerminal.java
+++ b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/JLineTerminal.java
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.PrintWriter;
+import java.nio.charset.Charset;
 import java.util.EnumSet;
 import java.util.Objects;
 import java.util.Set;
@@ -144,6 +145,11 @@ public class JLineTerminal implements Terminal, org.jline.terminal.Terminal {
     }
 
     @Override
+    public Charset encoding() {
+        return terminal.encoding();
+    }
+
+    @Override
     public Attributes enterRawMode() {
         return terminal.enterRawMode();
     }
@@ -298,4 +304,33 @@ public class JLineTerminal implements Terminal, org.jline.terminal.Terminal {
         }
     }
 
+    @Override
+    public boolean canPauseResume() {
+        return terminal.canPauseResume();
+    }
+
+    @Override
+    public void pause() {
+        terminal.pause();
+    }
+
+    @Override
+    public void resume() {
+        terminal.resume();
+    }
+
+    @Override
+    public boolean paused() {
+        return terminal.paused();
+    }
+
+    @Override
+    public boolean hasFocusSupport() {
+        return terminal.hasFocusSupport();
+    }
+
+    @Override
+    public boolean trackFocus(boolean tracking) {
+        return terminal.trackFocus(tracking);
+    }
 }
diff --git a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshTerminal.java b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshTerminal.java
index 6731243..0cbe3d7 100644
--- a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshTerminal.java
+++ b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshTerminal.java
@@ -21,6 +21,7 @@ package org.apache.karaf.shell.ssh;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
 import java.util.EnumSet;
 import java.util.Map;
 
@@ -44,7 +45,7 @@ public class SshTerminal extends ExternalTerminal implements Terminal {
               environment.getEnv().get(Environment.ENV_TERM),
               input,
               output,
-              "UTF-8");
+                StandardCharsets.UTF_8);
         this.environment = environment;
         this.environment.addSignalListener(this::handleSignal);
         for (Map.Entry<PtyMode, Integer> e : environment.getPtyModes().entrySet()) {
diff --git a/webconsole/gogo/src/main/java/org/apache/karaf/webconsole/gogo/WebTerminal.java b/webconsole/gogo/src/main/java/org/apache/karaf/webconsole/gogo/WebTerminal.java
index e7fe2a8..e5e20cf 100644
--- a/webconsole/gogo/src/main/java/org/apache/karaf/webconsole/gogo/WebTerminal.java
+++ b/webconsole/gogo/src/main/java/org/apache/karaf/webconsole/gogo/WebTerminal.java
@@ -19,6 +19,7 @@ package org.apache.karaf.webconsole.gogo;
  import java.io.IOException;
  import java.io.InputStream;
  import java.io.OutputStream;
+ import java.nio.charset.StandardCharsets;
  import java.util.EnumSet;
 
  import org.apache.karaf.shell.api.console.Signal;
@@ -29,7 +30,7 @@ package org.apache.karaf.webconsole.gogo;
 public class WebTerminal extends ExternalTerminal implements Terminal {
 
     public WebTerminal(int width, int height, InputStream input, OutputStream output) throws IOException {
-        super("Karaf Web Terminal", "ansi", input, output, "UTF-8");
+        super("Karaf Web Terminal", "ansi", input, output, StandardCharsets.UTF_8);
         size.setColumns(width);
         size.setRows(height);
     }

-- 
To stop receiving notification emails like this one, please contact
gnodet@apache.org.