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>