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
> >>>>  > >
> >>>>  >
> >>>>
> >>>
> >>
> >
> >
> >
>

Reply via email to