Use the correct interface instead of abstract class to access the action
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/ee59ed7b Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/ee59ed7b Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/ee59ed7b Branch: refs/heads/master Commit: ee59ed7ba71b4513e1b7e4d2c22601bbce6093a0 Parents: 17c9588 Author: Guillaume Nodet <[email protected]> Authored: Tue Feb 18 23:21:04 2014 +0100 Committer: Guillaume Nodet <[email protected]> Committed: Tue Feb 18 23:24:07 2014 +0100 ---------------------------------------------------------------------- .../apache/karaf/shell/help/impl/CommandListHelpProvider.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/ee59ed7b/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..98102c4 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) {
