karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Baptiste Onofré ...@nanthrax.net>
Subject Re: NPE with command Help & Karaf Shell Console
Date Fri, 29 Nov 2013 09:48:41 GMT
Instead of extending HelpAction (HelpAction requires additional 
attributes/methods to override), I would try to extends 
org.apache.karaf.shell.console.OsgiCommandSupport and define the blueprint:

@Command(scope = "hyla", name = "help", description = "Display this help")
public class MyHelp extends OsgiCommandSupport {

   public Object doExecute() throws Exception {
      return null;
   }

}

and in the associated blueprint:

<command name="hyla/help">
   <action class="MyHelp"/>
</command>

Regards
JB

On 11/29/2013 10:40 AM, Charles Moulliard wrote:
> Yep. If required, I can provide a small project.
>
> @Command(scope = "hyla", name = "help", description = "Displays this help
> or help about a command")
> public class Help extends HelpAction {
>
> }
>
>
>
> On Fri, Nov 29, 2013 at 10:38 AM, Jean-Baptiste Onofré <jb@nanthrax.net>wrote:
>
>> Hi Charles,
>>
>> do you have description attribute on the @Command annotation ?
>>
>> Regards
>> JB
>>
>>
>> On 11/29/2013 10:32 AM, Charles Moulliard wrote:
>>
>>> 2.3.3
>>>
>>>
>>> On Fri, Nov 29, 2013 at 10:31 AM, Jean-Baptiste Onofré <jb@nanthrax.net
>>>> wrote:
>>>
>>>   Hi Charles,
>>>>
>>>> what's the Karaf version (as it changed between 2.x and 3.x) ?
>>>>
>>>> Regards
>>>> JB
>>>>
>>>>
>>>> On 11/29/2013 10:18 AM, Charles Moulliard wrote:
>>>>
>>>>   Hi,
>>>>>
>>>>> For a documentation project, I'm currently creating a Java Command Line
>>>>> Tool client using our excellent Apache Karaf Shell Console.
>>>>> Nevertheless,
>>>>> when I try to get help from a command, Gogo & Felix returns a NPE
>>>>>
>>>>> HylaMain
>>>>> java.io.BufferedInputStream@9506dc4
>>>>> hyla>echo blabla
>>>>> echo blabla
>>>>> blabla
>>>>> hyla>help echo
>>>>> help echo
>>>>> [main] ERROR org.apache.karaf.shell.console.jline.Console - Exception
>>>>> caught while executing command
>>>>> java.lang.NullPointerException
>>>>> at
>>>>> org.apache.karaf.shell.console.help.HelpAction.
>>>>> doExecute(HelpAction.java:40)
>>>>> at
>>>>> org.apache.karaf.shell.console.AbstractAction.
>>>>> execute(AbstractAction.java:33)
>>>>> at
>>>>> org.apache.felix.gogo.commands.basic.AbstractCommand.execute(
>>>>> AbstractCommand.java:35)
>>>>> at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:474)
>>>>> at org.apache.felix.gogo.runtime.Closure.executeStatement(
>>>>> Closure.java:400)
>>>>> at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
>>>>> at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
>>>>> at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
>>>>> at
>>>>> org.apache.felix.gogo.runtime.CommandSessionImpl.execute(
>>>>> CommandSessionImpl.java:89)
>>>>> at org.apache.karaf.shell.console.jline.Console.run(Console.java:173)
>>>>> at org.apache.karaf.shell.console.Main.run(Main.java:220)
>>>>> at org.apache.karaf.shell.console.Main.run(Main.java:164)
>>>>> at org.apache.karaf.shell.console.Main.run(Main.java:79)
>>>>> at com.redhat.gpe.hyla.tooling.HylaMain.main(HylaMain.java:34)
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(
>>>>> NativeMethodAccessorImpl.java:39)
>>>>> at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(
>>>>> DelegatingMethodAccessorImpl.java:25)
>>>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>>>> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
>>>>> Error executing command: java.lang.NullPointerException
>>>>>
>>>>> As this code is really hard to debug as we have embedded the code of
>>>>> org.apache.felix.gogo.runtime
>>>>> & org.apache.felix.gogo.commands in the jar of Karaf Shell Console,
does
>>>>> anybody knows why I could get a NPE when we call this method. In debug
>>>>> mode, I confirm that the session object exists but the command is null
>>>>> (even if I'm able to recuperate the args 'help echo' and this command
>>>>> works
>>>>> 'echo blabla'
>>>>>
>>>>> Regards,
>>>>>
>>>>>
>>>>>   --
>>>> Jean-Baptiste Onofré
>>>> jbonofre@apache.org
>>>> http://blog.nanthrax.net
>>>> Talend - http://www.talend.com
>>>>
>>>>
>>>
>>>
>>>
>> --
>> Jean-Baptiste Onofré
>> jbonofre@apache.org
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com
>>
>
>
>

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Mime
View raw message