Author: gnodet Date: Thu Nov 18 20:42:03 2010 New Revision: 1036609 URL: http://svn.apache.org/viewvc?rev=1036609&view=rev Log: [KARAF-286] When running in the plain shell console (using bin/shell), tab completion prints lots of exceptions
Modified: karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/CatAction.java karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/ClearAction.java karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/EchoAction.java karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/ExecuteAction.java karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/GrepAction.java karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/JavaAction.java karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/LogoutAction.java karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/NewAction.java karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/PrintfAction.java karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/SleepAction.java karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/SortAction.java karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/TacAction.java Modified: karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/CatAction.java URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/CatAction.java?rev=1036609&r1=1036608&r2=1036609&view=diff ============================================================================== --- karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/CatAction.java (original) +++ karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/CatAction.java Thu Nov 18 20:42:03 2010 @@ -18,17 +18,14 @@ package org.apache.karaf.shell.commands; import java.io.IOException; import java.io.BufferedReader; -import java.io.InputStream; import java.io.FileReader; import java.io.File; import java.io.InputStreamReader; import java.net.URL; -import java.net.URI; import java.net.MalformedURLException; import java.util.List; import org.apache.karaf.shell.console.AbstractAction; -import org.apache.karaf.shell.console.OsgiCommandSupport; import org.apache.felix.gogo.commands.Argument; import org.apache.felix.gogo.commands.Option; import org.apache.felix.gogo.commands.Command; Modified: karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/ClearAction.java URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/ClearAction.java?rev=1036609&r1=1036608&r2=1036609&view=diff ============================================================================== --- karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/ClearAction.java (original) +++ karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/ClearAction.java Thu Nov 18 20:42:03 2010 @@ -18,7 +18,6 @@ package org.apache.karaf.shell.commands; import org.apache.felix.gogo.commands.Command; import org.apache.karaf.shell.console.AbstractAction; -import org.apache.karaf.shell.console.OsgiCommandSupport; /** * A command to clear the console buffer Modified: karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/EchoAction.java URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/EchoAction.java?rev=1036609&r1=1036608&r2=1036609&view=diff ============================================================================== --- karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/EchoAction.java (original) +++ karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/EchoAction.java Thu Nov 18 20:42:03 2010 @@ -22,7 +22,6 @@ import org.apache.felix.gogo.commands.Co import org.apache.felix.gogo.commands.Option; import org.apache.felix.gogo.commands.Argument; import org.apache.karaf.shell.console.AbstractAction; -import org.apache.karaf.shell.console.OsgiCommandSupport; @Command(scope = "shell", name = "echo", description="Echoes or prints arguments to STDOUT") public class EchoAction extends AbstractAction Modified: karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/ExecuteAction.java URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/ExecuteAction.java?rev=1036609&r1=1036608&r2=1036609&view=diff ============================================================================== --- karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/ExecuteAction.java (original) +++ karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/ExecuteAction.java Thu Nov 18 20:42:03 2010 @@ -22,7 +22,6 @@ import org.apache.felix.gogo.commands.Ar import org.apache.felix.gogo.commands.Command; import org.apache.karaf.shell.commands.utils.PumpStreamHandler; import org.apache.karaf.shell.console.AbstractAction; -import org.apache.karaf.shell.console.OsgiCommandSupport; /** * Execute system processes. Modified: karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/GrepAction.java URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/GrepAction.java?rev=1036609&r1=1036608&r2=1036609&view=diff ============================================================================== --- karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/GrepAction.java (original) +++ karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/GrepAction.java Thu Nov 18 20:42:03 2010 @@ -27,7 +27,6 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.karaf.shell.console.AbstractAction; -import org.apache.karaf.shell.console.OsgiCommandSupport; import org.apache.felix.gogo.commands.Argument; import org.apache.felix.gogo.commands.Option; import org.apache.felix.gogo.commands.Command; Modified: karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/JavaAction.java URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/JavaAction.java?rev=1036609&r1=1036608&r2=1036609&view=diff ============================================================================== --- karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/JavaAction.java (original) +++ karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/JavaAction.java Thu Nov 18 20:42:03 2010 @@ -23,7 +23,6 @@ import org.apache.felix.gogo.commands.Ar import org.apache.felix.gogo.commands.Command; import org.apache.felix.gogo.commands.Option; import org.apache.karaf.shell.console.AbstractAction; -import org.apache.karaf.shell.console.OsgiCommandSupport; /** * Execute a Java standard application. Modified: karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/LogoutAction.java URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/LogoutAction.java?rev=1036609&r1=1036608&r2=1036609&view=diff ============================================================================== --- karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/LogoutAction.java (original) +++ karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/LogoutAction.java Thu Nov 18 20:42:03 2010 @@ -19,9 +19,6 @@ package org.apache.karaf.shell.commands; import org.apache.felix.gogo.commands.Command; import org.apache.karaf.shell.console.AbstractAction; import org.apache.karaf.shell.console.CloseShellException; -import org.apache.karaf.shell.console.OsgiCommandSupport; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; @Command(scope = "shell", name = "logout", description = "Disconnect shell from current session") public class LogoutAction extends AbstractAction { Modified: karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/NewAction.java URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/NewAction.java?rev=1036609&r1=1036608&r2=1036609&view=diff ============================================================================== --- karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/NewAction.java (original) +++ karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/NewAction.java Thu Nov 18 20:42:03 2010 @@ -16,6 +16,13 @@ */ package org.apache.karaf.shell.commands; +import org.apache.felix.gogo.commands.Argument; +import org.apache.felix.gogo.commands.Command; +import org.apache.felix.gogo.commands.converter.DefaultConverter; +import org.apache.felix.gogo.commands.converter.ReifiedType; +import org.apache.felix.gogo.commands.converter.GenericType; +import org.apache.karaf.shell.console.AbstractAction; + import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Type; @@ -27,17 +34,8 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.karaf.shell.console.AbstractAction; -import org.apache.karaf.shell.console.OsgiCommandSupport; -import org.apache.karaf.shell.console.commands.GenericType; -import org.osgi.service.blueprint.container.ComponentDefinitionException; -import org.osgi.service.blueprint.container.Converter; -import org.osgi.service.blueprint.container.ReifiedType; - /** - * Execute a closure on a list of arguments. + * Instanciate a new object */ @Command(scope = "shell", name = "new", description = "Creates a new java object.") public class NewAction extends AbstractAction { @@ -50,11 +48,7 @@ public class NewAction extends AbstractA boolean reorderArguments; - protected Converter blueprintConverter; - - public void setBlueprintConverter(Converter blueprintConverter) { - this.blueprintConverter = blueprintConverter; - } + protected DefaultConverter converter = new DefaultConverter(getClass().getClassLoader()); @Override protected Object doExecute() throws Exception { @@ -68,12 +62,12 @@ public class NewAction extends AbstractA Map.Entry<Constructor, List<Object>> match = matches.entrySet().iterator().next(); return newInstance(match.getKey(), match.getValue().toArray()); } catch (Throwable e) { - throw new ComponentDefinitionException("Error when instanciating object of class " + clazz.getName(), getRealCause(e)); + throw new Exception("Error when instanciating object of class " + clazz.getName(), getRealCause(e)); } } else if (matches.size() == 0) { - throw new ComponentDefinitionException("Unable to find a matching constructor on class " + clazz.getName() + " for arguments " + args + " when instanciating object."); + throw new Exception("Unable to find a matching constructor on class " + clazz.getName() + " for arguments " + args + " when instanciating object."); } else { - throw new ComponentDefinitionException("Multiple matching constructors found on class " + clazz.getName() + " for arguments " + args + " when instanciating object: " + matches.keySet()); + throw new Exception("Multiple matching constructors found on class " + clazz.getName() + " for arguments " + args + " when instanciating object: " + matches.keySet()); } } @@ -188,11 +182,11 @@ public class NewAction extends AbstractA } protected Object convert(Object obj, Type type) throws Exception { - return blueprintConverter.convert(obj, new GenericType(type)); + return converter.convert(obj, new GenericType(type)); } protected Object convert(Object obj, ReifiedType type) throws Exception { - return blueprintConverter.convert(obj, type); + return converter.convert(obj, type); } public static boolean isAssignable(Object source, ReifiedType target) { Modified: karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/PrintfAction.java URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/PrintfAction.java?rev=1036609&r1=1036608&r2=1036609&view=diff ============================================================================== --- karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/PrintfAction.java (original) +++ karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/PrintfAction.java Thu Nov 18 20:42:03 2010 @@ -19,7 +19,6 @@ package org.apache.karaf.shell.commands; import java.util.Collection; import org.apache.karaf.shell.console.AbstractAction; -import org.apache.karaf.shell.console.OsgiCommandSupport; import org.apache.felix.gogo.commands.Argument; import org.apache.felix.gogo.commands.Command; Modified: karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/SleepAction.java URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/SleepAction.java?rev=1036609&r1=1036608&r2=1036609&view=diff ============================================================================== --- karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/SleepAction.java (original) +++ karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/SleepAction.java Thu Nov 18 20:42:03 2010 @@ -17,7 +17,6 @@ package org.apache.karaf.shell.commands; import org.apache.karaf.shell.console.AbstractAction; -import org.apache.karaf.shell.console.OsgiCommandSupport; import org.apache.felix.gogo.commands.Argument; import org.apache.felix.gogo.commands.Command; Modified: karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/SortAction.java URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/SortAction.java?rev=1036609&r1=1036608&r2=1036609&view=diff ============================================================================== --- karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/SortAction.java (original) +++ karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/SortAction.java Thu Nov 18 20:42:03 2010 @@ -38,7 +38,6 @@ import org.apache.felix.gogo.commands.Ar import org.apache.felix.gogo.commands.Command; import org.apache.felix.gogo.commands.Option; import org.apache.karaf.shell.console.AbstractAction; -import org.apache.karaf.shell.console.OsgiCommandSupport; /** * Sort lines of text Modified: karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/TacAction.java URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/TacAction.java?rev=1036609&r1=1036608&r2=1036609&view=diff ============================================================================== --- karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/TacAction.java (original) +++ karaf/branches/karaf-2.1.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/TacAction.java Thu Nov 18 20:42:03 2010 @@ -28,7 +28,6 @@ import java.io.OutputStreamWriter; import java.io.Writer; import org.apache.karaf.shell.console.AbstractAction; -import org.apache.karaf.shell.console.OsgiCommandSupport; import org.apache.felix.gogo.commands.Command; import org.apache.felix.gogo.commands.Option;