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 2014/03/24 17:32:21 UTC

[23/24] git commit: [KARAF-2846] Gogo webconsole plugin is broken

[KARAF-2846] Gogo webconsole plugin is broken


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/e30e660b
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/e30e660b
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/e30e660b

Branch: refs/heads/master
Commit: e30e660b577534c3f3da7ed15bebb806e2f4afa3
Parents: 7b47629
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Mon Mar 24 17:29:50 2014 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Mon Mar 24 17:30:14 2014 +0100

----------------------------------------------------------------------
 .../karaf/webconsole/gogo/GogoPlugin.java       | 16 +++++++--------
 .../karaf/webconsole/gogo/WebTerminal.java      | 21 +++++++++++++-------
 .../OSGI-INF/blueprint/webconsole-gogo.xml      |  4 ++--
 3 files changed, 24 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/e30e660b/webconsole/gogo/src/main/java/org/apache/karaf/webconsole/gogo/GogoPlugin.java
----------------------------------------------------------------------
diff --git a/webconsole/gogo/src/main/java/org/apache/karaf/webconsole/gogo/GogoPlugin.java b/webconsole/gogo/src/main/java/org/apache/karaf/webconsole/gogo/GogoPlugin.java
index dcfb00d..393c13a 100644
--- a/webconsole/gogo/src/main/java/org/apache/karaf/webconsole/gogo/GogoPlugin.java
+++ b/webconsole/gogo/src/main/java/org/apache/karaf/webconsole/gogo/GogoPlugin.java
@@ -42,14 +42,14 @@ import javax.servlet.http.HttpServletResponse;
 
 import org.apache.felix.webconsole.AbstractWebConsolePlugin;
 import org.apache.karaf.jaas.boot.principal.UserPrincipal;
-import org.apache.karaf.shell.console.Console;
-import org.apache.karaf.shell.console.factory.ConsoleFactory;
+import org.apache.karaf.shell.api.console.Session;
+import org.apache.karaf.shell.api.console.SessionFactory;
 import org.osgi.framework.BundleContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * WebConsole plugin for {@link Console}.
+ * WebConsole plugin for {@link Session}.
  */
 public class GogoPlugin extends AbstractWebConsolePlugin {
 
@@ -61,7 +61,7 @@ public class GogoPlugin extends AbstractWebConsolePlugin {
     public static final int TERM_HEIGHT = 39;
 
     private BundleContext bundleContext;
-    private ConsoleFactory consoleFactory;
+    private SessionFactory sessionFactory;
 
     @Override
     protected boolean isHtmlRequest(HttpServletRequest request) {
@@ -72,8 +72,8 @@ public class GogoPlugin extends AbstractWebConsolePlugin {
         this.bundleContext = bundleContext;
     }
 
-    public void setConsoleFactory(ConsoleFactory consoleFactory) {
-        this.consoleFactory = consoleFactory;
+    public void setSessionFactory(SessionFactory sessionFactory) {
+        this.sessionFactory = sessionFactory;
     }
 
     public void start() {
@@ -185,14 +185,14 @@ public class GogoPlugin extends AbstractWebConsolePlugin {
                 out = new PipedInputStream();
                 PrintStream pipedOut = new PrintStream(new PipedOutputStream(out), true);
                 
-                Console console = consoleFactory.create(
+                Session session = sessionFactory.create(
                         new PipedInputStream(in),
                         pipedOut,
                         pipedOut,
                         new WebTerminal(TERM_WIDTH, TERM_HEIGHT),
                         null,
                         null);
-                new Thread(console, "Karaf web console user " + getCurrentUserName()).start();
+                new Thread(session, "Karaf web console user " + getCurrentUserName()).start();
             } catch (IOException e) {
                 e.printStackTrace();
                 throw e;

http://git-wip-us.apache.org/repos/asf/karaf/blob/e30e660b/webconsole/gogo/src/main/java/org/apache/karaf/webconsole/gogo/WebTerminal.java
----------------------------------------------------------------------
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 6d66041..865a528 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
@@ -16,25 +16,32 @@
  */
 package org.apache.karaf.webconsole.gogo;
 
-import jline.TerminalSupport;
+ import org.apache.karaf.shell.api.console.Terminal;
 
-public class WebTerminal extends TerminalSupport {
+public class WebTerminal implements Terminal {
 
     private int width;
     private int height;
+    private boolean echo = true;
 
     public WebTerminal(int width, int height) {
-        super(true);
         this.width = width;
         this.height = height;
     }
 
-    public void init() throws Exception {
-        // nothing to do
+    @Override
+    public boolean isAnsiSupported() {
+        return true;
     }
 
-    public void restore() throws Exception {
-        // nothing to do
+    @Override
+    public boolean isEchoEnabled() {
+        return echo;
+    }
+
+    @Override
+    public void setEchoEnabled(boolean enabled) {
+        echo = enabled;
     }
 
     public int getWidth() {

http://git-wip-us.apache.org/repos/asf/karaf/blob/e30e660b/webconsole/gogo/src/main/resources/OSGI-INF/blueprint/webconsole-gogo.xml
----------------------------------------------------------------------
diff --git a/webconsole/gogo/src/main/resources/OSGI-INF/blueprint/webconsole-gogo.xml b/webconsole/gogo/src/main/resources/OSGI-INF/blueprint/webconsole-gogo.xml
index 79fc42c..00c1c2d 100644
--- a/webconsole/gogo/src/main/resources/OSGI-INF/blueprint/webconsole-gogo.xml
+++ b/webconsole/gogo/src/main/resources/OSGI-INF/blueprint/webconsole-gogo.xml
@@ -19,11 +19,11 @@
 -->
 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" default-activation="lazy">
 
-	<reference id="consoleFactory" interface="org.apache.karaf.shell.console.factory.ConsoleFactory"/>
+	<reference id="sessionFactory" interface="org.apache.karaf.shell.api.console.SessionFactory"/>
 
     <bean id="gogoPlugin" class="org.apache.karaf.webconsole.gogo.GogoPlugin" init-method="start" destroy-method="stop">
         <property name="bundleContext" ref="blueprintBundleContext" />
-        <property name="consoleFactory" ref="consoleFactory"/>
+        <property name="sessionFactory" ref="sessionFactory"/>
     </bean>
     <service ref="gogoPlugin" interface="javax.servlet.Servlet" >
         <service-properties>