[KARAF-1553] Fix help command

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

Branch: refs/heads/karaf-3.0.x
Commit: b9bb686bb49bf887eabfa0b95f3ffa59e2befcc0
Parents: bb9c147
Author: Guillaume Nodet <gno...@gmail.com>
Authored: Thu Jul 10 18:42:25 2014 +0200
Committer: Guillaume Nodet <gno...@gmail.com>
Committed: Fri Jul 11 12:26:24 2014 +0200

----------------------------------------------------------------------
 .../apache/karaf/shell/help/impl/CommandListHelpProvider.java | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/b9bb686b/shell/help/src/main/java/org/apache/karaf/shell/help/impl/CommandListHelpProvider.java
----------------------------------------------------------------------
diff --git 
a/shell/help/src/main/java/org/apache/karaf/shell/help/impl/CommandListHelpProvider.java
 
b/shell/help/src/main/java/org/apache/karaf/shell/help/impl/CommandListHelpProvider.java
index 4f901a6..caf42de 100644
--- 
a/shell/help/src/main/java/org/apache/karaf/shell/help/impl/CommandListHelpProvider.java
+++ 
b/shell/help/src/main/java/org/apache/karaf/shell/help/impl/CommandListHelpProvider.java
@@ -31,6 +31,7 @@ import org.apache.felix.gogo.commands.Action;
 import org.apache.felix.service.command.CommandSession;
 import org.apache.felix.service.command.Function;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.CommandWithAction;
 import org.apache.karaf.shell.commands.basic.AbstractCommand;
 import org.apache.karaf.shell.commands.meta.ActionMetaDataFactory;
 import org.apache.karaf.shell.console.HelpProvider;
@@ -92,9 +93,9 @@ public class CommandListHelpProvider implements HelpProvider {
             String description = null;
             Function function = (Function) session.get(name);
             function = unProxy(function);
-            if (function instanceof AbstractCommand) {
+            if (function instanceof CommandWithAction) {
                 try {
-                    Class<? extends Action> actionClass = ((AbstractCommand) 
function).getActionClass();                    
+                    Class<? extends Action> actionClass = ((CommandWithAction) 
function).getActionClass();
                     Command ann = new 
ActionMetaDataFactory().getCommand(actionClass);
                     description = ann.description();
                 } catch (Throwable e) {
@@ -102,7 +103,7 @@ public class CommandListHelpProvider implements 
HelpProvider {
                 if (name.startsWith("*:")) {
                     name = name.substring(2);
                 }
-                if (subshell != null && !subshell.trim().isEmpty() && 
name.startsWith(subshell)) {
+                if (subshell != null && !subshell.trim().isEmpty() && 
name.startsWith(subshell + ":")) {
                     name = name.substring(subshell.length() + 1);
                 }
                 commands.put(name, description);

Reply via email to