Interesting but I'm assuming you need to handle it in a thread or something like that?
When I called it in the command the execution would just pause. On Fri., Sep. 17, 2021, 3:26 a.m. Jean-Baptiste Onofré, <j...@nanthrax.net> wrote: > Hi Damien, > > mask defines if you want the output or not, and the kind of output (*, ' > ', etc). > > readLine() is fine if you just want a single line typed by the users. > getKeyboard() gives your the full keyboard input (multiline, including > breaking characters), it's what I'm using in the vi/edit command. > > Regards > JB > > On 17/09/2021 09:00, Damien Saulnier wrote: > > Hi Patrique, > > > > I have been able to achieve it using session.readLine() : > > final String userInput = session.readLine("Do you want to proceed with > the > > deletion? (y/n)\n", null); > > if (!StringUtils.equalsIgnoreCase(userInput, "y")) return; > > > > I don't know what the "mask" parameter is for, but just setting it to > null > > did the job. > > > > I assume that session.getKeyboard() is useful when you want to listen the > > keyboard while the command is running, whereas with readLine() it pauses > > the execution and waits for the input. > > > > > > Best, > > Damien > > > > > > Le jeu. 16 sept. 2021 à 22:57, Patrique Legault < > patriquelega...@gmail.com> > > a écrit : > > > >> I tried to get an example going today of this but failed to properly use > >> the getKeyboard() function. > >> > >> With that being said I would like to an example of this. > >> > >> On Thu., Sep. 16, 2021, 7:26 a.m. Jean-Baptiste Onofré, < > j...@nanthrax.net> > >> wrote: > >> > >>> Hi Damien, > >>> > >>> Yes, sure. > >>> > >>> You can get the session by reference (for instance @Reference Session). > >>> > >>> Then session gives you access to getKeyboard() which is a input stream > >>> with what the user input. > >>> > >>> I can improve the example with the required code if you want. > >>> > >>> Regards > >>> JB > >>> > >>> On 16/09/2021 11:39, Damien Saulnier wrote: > >>>> Hi, > >>>> > >>>> I would like to know if it is possible to develop some interactive > >>> commands > >>>> in the Karaf Shell, pausing the execution of the command and reading > >> some > >>>> additional input from the user. > >>>> I have not found anything about that neither in the documentation nor > >> in > >>>> the examples on Github. > >>>> > >>>> To give a basic use case, I would like to ask for a confirmation > before > >>>> proceeding with the actual removal in the "RemoveCommand" example: > >>>> > >>> > >> > https://github.com/apache/karaf/blob/main/examples/karaf-command-example/karaf-command-example-command/src/main/java/org/apache/karaf/examples/command/command/RemoveCommand.java > >>>> > >>>> > >>>> Best, > >>>> Damien > >>>> > >>> > >> > > >