i would skip the #getCategory part for now. it's very similar to the
type-safe message-payload used in codi and those parts are quite special
already.

regards,
gerhard



2012/10/6 Mark Struberg <[email protected]>

> I agree with Christian. From a developer perspective you will just use
> some abstract "{PAGEX_USER_NOT_ALLOWED}" and define the parameters. The
> developer usually doesn't care about the exact wording anyway ;)
>
> For the 3.) I think you should just use 2 different message template
> identifiers.
>
> LieGrue,
> strub
>
>
>
>
> ----- Original Message -----
> > From: Christian Kaltepoth <[email protected]>
> > To: [email protected]
> > Cc: Mark Struberg <[email protected]>
> > Sent: Saturday, October 6, 2012 11:42 AM
> > Subject: Re: proposal for JSF Messages
> >
> > Hey Bernard,
> >
> > I think the user shouldn't actually care about 1) and 2). IMHO the main
> > point is to hide these details from the actual business code. In your
> code
> > you just say "send message X to the user". If summary and details are
> > the
> > same or not shouldn't be relevant at this point.
> >
> > Just my feelings regarding this. :)
> >
> > Christian
> >
> >
> > 2012/10/6 Bernard Łabno <[email protected]>
> >
> >>  Mark,
> >>
> >>  As I've cited
> >>  hello_you = Hello You
> >>  hello_you.detail = Good evening Ladies and Gentlemen!
> >>
> >>  Imagine i'm user. Now i have such questions:
> >>  1) Does msg.addError().userNotAllowed(loggedInUser) set summary or
> details?
> >>  2) Hm i've set summary, how do I set details? The API doesn't tell
> > me this,
> >>  I have to reference some manuals to learn how to set details.
> >>  3) What if (in one case in entire app) I want to set summary with key
> >>  {hello_you} and details from {goodbye_you}? In the rest of app I could
> use
> >>  approach as you've proposed, but this once i want to do custom?
> >>
> >>  Please, do not take this as criticism, it's just my gut feeling.
> >>
> >>  2012/10/6 Mark Struberg <[email protected]>
> >>
> >>  > Hi Bernard!
> >>  >
> >>  > which part of it do you consider as magic?
> >>  >
> >>  > I think the Message.getCategory(String) is fine (feel free to suggest
> > a
> >>  > better name for the method)
> >>  > A category is just a different resource pattern for the same
> > parameters.
> >>  > Like short text and long text of the same message.
> >>  >
> >>  > Imagine a user makes
> >>  >
> >>  > @Inject JsfMessage<MyCheckMessages> msg;
> >>  >
> >>  >
> >>  > msg.addError().userNotAllowed(loggedInUser);
> >>  >
> >>  > which would automatically use the property without as fallback and
> the
> >>  > categories 'summary' and 'detail' for creating the
> > FacesMessage.
> >>  > Those 2 categories are of course a contract of the JsfMessage
> >>  > implementation.
> >>  >
> >>  >
> >>  > But even for non JSF messages it would make sense.
> >>  >
> >>  > @Inject MyCheckMessages msg;
> >>  >
> >>  > msg.userNotAllowed(loggedInUser).getCategory('shortText');
> >>  >
> >>  > The category String should be a well documented final static String
> >>  > somewhere of course.
> >>  >
> >>  > LieGrue,
> >>  > strub
> >>  >
> >>  >
> >>  >
> >>  >
> >>  >
> >>  >
> >>  > >________________________________
> >>  > > From: Bernard Łabno <[email protected]>
> >>  > >To: [email protected]; Mark Struberg <
> >>  [email protected]
> >>  > >
> >>  > >Sent: Saturday, October 6, 2012 8:49 AM
> >>  > >Subject: Re: proposal for JSF Messages
> >>  > >
> >>  > >
> >>  > >Mark,
> >>  > >
> >>  > >Most of ideas are great, but I think that following will be
> > considered
> >>  as
> >>  > "magic" (too magic) by users.
> >>  > >
> >>  > >
> >>  > >for a "{hello_you}" you can have entries in your
> > properties file
> >>  > >>
> >>  > >>hello_you = Hello You
> >>  > >>hello_you.detail = Good evening Ladies and Gentlemen!
> >>  > >>
> >>  > >
> >>  > >
> >>  > >2012/10/5 Mark Struberg <[email protected]>
> >>  > >
> >>  > >Yes, that was the final idea.
> >>  > >>
> >>  > >>I originally thought about extending the @MessageBundle and
> > let the
> >>  > interface optionally return a String[]. But I think this is too
> > complex
> >>  to
> >>  > get right
> >>  > >>
> >>  > >>Instead I'd rather introduce a
> >>  > >>Message#toString(String category); and
> >>  > >>
> >>  > >>Message#toString(MessageContext context, String category);
> >>  > >>
> >>  > >>for a "{hello_you}" you can have entries in your
> > properties file
> >>  > >>
> >>  > >>hello_you = Hello You
> >>  > >>hello_you.detail = Good evening Ladies and Gentlemen!
> >>  > >>
> >>  > >>
> >>  > >>If a user just returns a String in his interface, then both
> > detail and
> >>  > summary will be set with the same text
> >>  > >>If a user returns a Message, then we can look deeper.
> >>  > >>
> >>  > >>LieGrue,
> >>  > >>strub
> >>  > >>
> >>  > >>
> >>  > >>
> >>  > >>
> >>  > >>----- Original Message -----
> >>  > >>> From: Gerhard Petracek <[email protected]>
> >>  > >>> To: [email protected]
> >>  > >>> Cc:
> >>  > >>> Sent: Friday, October 5, 2012 9:57 PM
> >>  > >>> Subject: Re: proposal for JSF Messages
> >>  > >>>
> >>  > >>>t he example provided by mark could add a global message
> > with the same
> >>  > >>
> >>  > >>> summary- and detail-message.
> >>  > >>> -> we just need those methods with additional
> > parameters.
> >>  > >>>
> >>  > >>> regards,
> >>  > >>> gerhard
> >>  > >>>
> >>  > >>>
> >>  > >>>
> >>  > >>> 2012/10/5 Ken Finnigan <[email protected]>
> >>  > >>>
> >>  > >>>>  Some additional plans for messages that may be
> > relevant to JSF have
> >>  > been
> >>  > >>>>  documented in [1].
> >>  > >>>>
> >>  > >>>>  In Seam 3 International we had some ideas around
> > targeting a
> >>  message
> >>  > at a
> >>  > >>>>  specific component which are noted here [2].
> >>  > >>>>
> >>  > >>>>  Ken
> >>  > >>>>
> >>  > >>>>  [1]
> >>  > >>>>
> >>  > >>>>
> >>  > >>>
> >>  >
> >>
> >
> https://cwiki.apache.org/confluence/display/DeltaSpike/Message+Module+Drafts
> >>  > >>>>  [2]
> >>  > >>>>
> >>  > >>>>
> >>  > >>>
> >>  >
> >>
> >
> https://issues.jboss.org/browse/SEAMINTL-7?focusedCommentId=12562378&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-12562378
> >>  > >>>>
> >>  > >>>>  On Fri, Oct 5, 2012 at 3:18 PM, Gerhard Petracek
> > <
> >>  > >>>>  [email protected]
> >>  > >>>>  > wrote:
> >>  > >>>>
> >>  > >>>>  > hi jason,
> >>  > >>>>  >
> >>  > >>>>  > that's for sure just a first idea.
> >>  > >>>>  > e.g. we also need the possibility to add
> > messages for a specific
> >>  > >>>>  component.
> >>  > >>>>  >
> >>  > >>>>  > regards,
> >>  > >>>>  > gerhard
> >>  > >>>>  >
> >>  > >>>>  >
> >>  > >>>>  >
> >>  > >>>>  > 2012/10/5 Jason Porter
> > <[email protected]>
> >>  > >>>>  >
> >>  > >>>>  > > On Fri, Oct 5, 2012 at 11:24 AM, Mark
> > Struberg
> >>  > >>> <[email protected]>
> >>  > >>>>  > wrote:
> >>  > >>>>  > >
> >>  > >>>>  > > > Hi folks!
> >>  > >>>>  > > >
> >>  > >>>>  > > > I thought quite some time about how
> > we could do the typesafe
> >>  > >>> messging
> >>  > >>>>  > for
> >>  > >>>>  > > > JSF. Today I had the following idea.
> >>  > >>>>  > > >
> >>  > >>>>  > > >
> >>  > >>>>  > > > Imagine a typesafe message
> >>  > >>>>  > > >
> >>  > >>>>  > > > @MessageBundle
> >>  > >>>>  > > > public interface SimpleMessage
> >>  > >>>>  > > > {
> >>  > >>>>  > > >     @MessageTemplate("Welcome to
> > %s")
> >>  > >>>>  > > >     Message welcomeTo(String name);
> >>  > >>>>  > > > }
> >>  > >>>>  > > >
> >>  > >>>>  > > > This is nice but it's hard to use
> > it for creating
> >>  > >>> FacesMessages that
> >>  > >>>>  > way.
> >>  > >>>>  > > >
> >>  > >>>>  > > > Now imagine the following
> >>  > >>>>  > > >
> >>  > >>>>  > > > @Inject
> >>  > >>>>  > > > JsfMessage<SimpleMessge>
> > message;
> >>  > >>>>  > > >
> >>  > >>>>  > > > ...
> >>  > >>>>  > > >
> >>  > >>>>  > > >
> > message.addInfo().welcomeTo("DeltaSpike);
> >>  > >>>>  > > >
> >>  > >>>>  > > >
> >>  > >>>>  > > >
> >>  > >>>>  > > > public interface JsfMessage<T>
> > {
> >>  > >>>>  > > >   T addInfo();
> >>  > >>>>  > > >   T addWarning();
> >>  > >>>>  > > >   T addError();
> >>  > >>>>  > > >   void clear();
> >>  > >>>>  > > > }
> >>  > >>>>  > > >
> >>  > >>>>  > > >
> >>  > >>>>  > > > I think it is possible to implement
> > this, right?
> >>  > >>>>  > > >
> >>  > >>>>  > > > Wdyt from a users perspective?
> >>  > >>>>  > > >
> >>  > >>>>  > > > LieGrue,
> >>  > >>>>  > > > strub
> >>  > >>>>  > > >
> >>  > >>>>  > > >
> >>  > >>>>  > > This looks like a great start. In IRC we
> > discovered we need to
> >>  > >>>>  determine
> >>  > >>>>  > if
> >>  > >>>>  > > the text goes to the summary or detail. We
> > already have the
> >>  > >>> severity
> >>  > >>>>  with
> >>  > >>>>  > > the methods. I'd suggest having each
> > of those methods take an
> >>  > >>> enum
> >>  > >>>>  > (DETAIL,
> >>  > >>>>  > > SUMMARY, BOTH or similar). One drawback I
> > see about this is you
> >>  > >>> can't
> >>  > >>>>  > > define a different message for the detail
> > and the summary on
> >>  one
> >>  > >>> line,
> >>  > >>>>  > but
> >>  > >>>>  > > that may not be the end of the world.
> >>  > >>>>  > >
> >>  > >>>>  > > --
> >>  > >>>>  > > Jason Porter
> >>  > >>>>  > > http://lightguard-jp.blogspot.com
> >>  > >>>>  > > http://twitter.com/lightguardjp
> >>  > >>>>  > >
> >>  > >>>>  > > Software Engineer
> >>  > >>>>  > > Open Source Advocate
> >>  > >>>>  > > Author of Seam Catch - Next Generation
> > Java Exception Handling
> >>  > >>>>  > >
> >>  > >>>>  > > PGP key id: 926CCFF5
> >>  > >>>>  > > PGP key available at: keyserver.net,
> > pgp.mit.edu
> >>  > >>>>  > >
> >>  > >>>>  >
> >>  > >>>>
> >>  > >>>
> >>  > >>
> >>  > >
> >>  > >
> >>  > >
> >>  >
> >>
> >
> >
> >
> > --
> > Christian Kaltepoth
> > Blog: http://chkal.blogspot.com/
> > Twitter: http://twitter.com/chkal
> >
>

Reply via email to