On 12 May 2010 03:48, Glyn Normington <[email protected]> wrote:
> I'm sorry I don't already know if these are already provided, but two
> critical requirements for the OSGi shell are:
>
> 1. tab completion of command syntax and parameters (such as bundle symbolic
> names and version numbers)
> 2. "up arrow" command recall (preferably filtered by any current input
> including that provided by tab completion)
>
> Glyn
>
Hi Glyn,
RFC-147 defines an OSGi CommandProcessor service containing a single method:
CommandSession createSession(InputStream in, PrintStream out,
PrintStream err);
and the primary method in the CommandSession interface is:
Object execute(CharSequence commandline) throws Exception;
The above defines the RFC-147 "runtime" bundle, which does not contain any
mechanism for user input.
Typically, a separate shell or console bundle, not defined in RFC-147, will
get input from the user and pass it to CommandSession.execute(). It is thus
these bundles, and not the RFC-147 runtime, that is responsible for creating
command completion and history etc.
Derek