But then I lose the advantage of using a generic type other commands/people
can understand.

E.g. I am now at the stage where I want a nice format for a Map<String,
List<Configuration>>.
First of all it is generic so I have to make up a type.
Once I do that it is less usable...
Maybe make a "ConfigurationMap extends Map<String, List<Configuration>>"
just to workaround erasure.
But then I better export my type too ..or not?


On Fri, Jan 18, 2019 at 5:53 PM Raymond Auge <raymond.a...@liferay.com>
wrote:

> On Fri, Jan 18, 2019 at 10:39 AM Todor Boev <rinsv...@gmail.com> wrote:
>
> > Ok, but the formatter doesn't always do what I want.
> >
> > Right now I return an array of objects and I want the Converter.INSPECT
> > level of detail when printing each item in the array.
> > The formatter uses Converter.INSPECT level for the array, but
> > Converter.PART or Converter.LINE for each item.
> > So what should I do:
> > - Add another command to inspect one item?
> > - Define my own format for that exact array?
> > - ..?
> >
>
> Deploy a converter for your type along with your command ;)
>
> - Ray
>
>
> >
> > On Fri, Jan 18, 2019 at 5:23 PM Raymond Auge <raymond.a...@liferay.com>
> > wrote:
> >
> > > return!
> > >
> > > When you print you go around the formatters engine and you cannot pipe
> as
> > > nicely.
> > >
> > > The shell API is designed for returning results from command methods.
> > These
> > > can be complex objects which are much better for piping between
> commands
> > > than strings on sysout. The formatter engine only kicks in when
> actually
> > > printing out the result and so you can get nice output while having
> > really
> > > great piping.
> > >
> > > Furthermore, when you force the use of ThreadIO to manage the
> sys.out/err
> > > you introduce complex threading issues that make things like calling
> the
> > > command engine from other places (believe me when I say it can be
> useful)
> > > very, very painful.
> > >
> > > My suggestion is to avoid using sys.out/err whenever possible.
> > >
> > > - Ray
> > >
> > > On Fri, Jan 18, 2019 at 9:53 AM Todor Boev <rinsv...@gmail.com> wrote:
> > >
> > > > Hi,
> > > >
> > > > When implementing a Gogo shell command are there any rules of thumb
> on
> > > > whether I should return a result from the command method or print it
> on
> > > > System.out? Possibly using the CommandSession to format it first.
> > > >
> > > > What bothers me is that AFAIK the automatic printing of return values
> > > from
> > > > command methods may be turned off.
> > > >
> > > > Regards
> > > > Todor
> > > >
> > >
> > >
> > > --
> > > *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
> > >  (@rotty3000)
> > > Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
> > >  (@Liferay)
> > > Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
> > > (@OSGiAlliance)
> > >
> >
>
>
> --
> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
>  (@rotty3000)
> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
>  (@Liferay)
> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
> (@OSGiAlliance)
>

Reply via email to