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 2012/06/13 08:58:54 UTC
svn commit: r1349658 -
/karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/completer/CommandsCompleter.java
Author: gnodet
Date: Wed Jun 13 06:58:54 2012
New Revision: 1349658
URL: http://svn.apache.org/viewvc?rev=1349658&view=rev
Log:
[KARAF-1162] A command that can not be loaded breaks the whole completion
Modified:
karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/completer/CommandsCompleter.java
Modified: karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/completer/CommandsCompleter.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/completer/CommandsCompleter.java?rev=1349658&r1=1349657&r2=1349658&view=diff
==============================================================================
--- karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/completer/CommandsCompleter.java (original)
+++ karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/completer/CommandsCompleter.java Wed Jun 13 06:58:54 2012
@@ -31,11 +31,12 @@ import org.apache.felix.gogo.runtime.Com
import org.apache.felix.gogo.runtime.CommandSessionImpl;
import org.apache.felix.service.command.CommandSession;
import org.apache.felix.service.command.Function;
-import org.apache.karaf.shell.console.CompletableFunction;
import org.apache.karaf.shell.console.Completer;
+import org.apache.karaf.shell.console.jline.CommandSessionHolder;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
-import org.apache.karaf.shell.console.jline.CommandSessionHolder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Like the {@link org.apache.karaf.shell.console.completer.CommandsCompleter} but does not use OSGi but is
@@ -43,6 +44,8 @@ import org.apache.karaf.shell.console.jl
*/
public class CommandsCompleter implements Completer {
+ private static final Logger LOGGER = LoggerFactory.getLogger(CommandsCompleter.class);
+
private CommandSession session;
private final List<Completer> completers = new ArrayList<Completer>();
private final Set<String> commands = new HashSet<String>();
@@ -83,7 +86,11 @@ public class CommandsCompleter implement
Function function = (Function) session.get(command);
function = unProxy(function);
if (function instanceof AbstractCommand) {
- completers.add(new ArgumentCompleter(session, (AbstractCommand) function, command));
+ try {
+ completers.add(new ArgumentCompleter(session, (AbstractCommand) function, command));
+ } catch (Throwable t) {
+ LOGGER.debug("Unable to create completers for command '" + command + "'", t);
+ }
}
commands.add(command);
}