As I explained the prompt only deals with commands.  If you print
anything on the console and if you want the prompt to be displayed
again. I think the only way would be to create a shell session, and
then print the prompt that can be retrieved by calling
Console#getPrompt(), see
http://svn.apache.org/viewvc/karaf/trunk/shell/console/src/main/java/org/apache/karaf/shell/console/jline/Console.java?revision=1096717&view=markup

I don't really see any other way for now.

Maybe another way would be for you to hack the etc/shell.init.script
and perform you diagnostics there ? The script is executed between the
welcome lines and the first prompt...


On Tue, May 17, 2011 at 15:13, Samuel Cox <crankydi...@gmail.com> wrote:
> Shameless bump to give this one more chance;)  I've been reading the
> documentation on custom commands, but nothing is jumping out...
>
> Just to be clear on what I need.  I need to automatically run
> diagnostics after all my OSGi bundles have loaded.  The results need
> to be displayed to the user in Karaf's console.
>
> The running of the diagnostics is currently be triggered by Spring
> bean loading (using an init-method).  In the past, it was in a bundle
> activator.  In neither case, does the karaf prompt show up unless the
> user hits the Enter key.
>
> It's not the end of the world if I can't get this to work, but it would be 
> nice.
>
> On Sat, May 14, 2011 at 8:10 AM, Samuel Cox <crankydi...@gmail.com> wrote:
>> I'm not executing a command.  We do have our own commands, and they
>> work fine.  This is just a bean in some bundle that displays some
>> diagnostics on startup.  If there is a way to execute a command
>> automatically when a bundle starts, I could print the diagnostics
>> using that.  I couldn't find any info on doing that.
>>
>> Thanks for the help btw!
>>
>> On Sat, May 14, 2011 at 7:36 AM, Guillaume Nodet <gno...@gmail.com> wrote:
>>> The prompt is displayed when the execution of a command is finished.
>>> If you're still executing the command, the prompt won't be dipslayed,
>>> but you can retrieve it from the shell's session variables and display
>>> it your self if you need.
>>>
>>> On Sat, May 14, 2011 at 14:32, Samuel Cox <crankydi...@gmail.com> wrote:
>>>> I tried that and it didn't work.  I will say that my bean doing the
>>>> output is written in Scala.  I'm using println(""), which I think is
>>>> equivalent to Java's System.out.println("").
>>>>
>>>> On Sat, May 14, 2011 at 12:38 AM, Jean-Baptiste Onofré <j...@nanthrax.net> 
>>>> wrote:
>>>>> Hi Samuel,
>>>>>
>>>>> It should be the case.
>>>>>
>>>>> Karaf shell intercept the std and err output stream.
>>>>> It means that after a System.out.println(), the Karaf prompt should be
>>>>> display.
>>>>> It's the case in the commands. For instance, osgi:list iterates on the
>>>>> bundles and simply display the bundles attribute using 
>>>>> System.out.println().
>>>>>
>>>>> Try to add a System.out.println("") at the end of your bundle output, it
>>>>> should display the prompt just after your bundle output.
>>>>>
>>>>> Regards
>>>>> JB
>>>>>
>>>>> On 05/14/2011 03:10 AM, Samuel Cox wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Is it possible to get the prompt back after some bundle code does a
>>>>>> System.out.println()?
>>>>>>
>>>>>> I have some beans that need to print stuff to the Karaf console.  I
>>>>>> can't figure out how to get the prompt back without the user hitting
>>>>>> enter.
>>>>>>
>>>>>> Many thanks.
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Cheers,
>>> Guillaume Nodet
>>> ------------------------
>>> Blog: http://gnodet.blogspot.com/
>>> ------------------------
>>> Open Source SOA
>>> http://fusesource.com
>>>
>>> Connect at CamelOne May 24-26
>>> The Open Source Integration Conference
>>> http://camelone.com/
>>>
>>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Connect at CamelOne May 24-26
The Open Source Integration Conference
http://camelone.com/

Reply via email to