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é <j...@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é <j...@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é
jbono...@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com
--
Jean-Baptiste Onofré
jbono...@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com
--
Jean-Baptiste Onofré
jbono...@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com