that's why i said:
"i would skip the #getCategory part for now."

regards,
gerhard



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

> The default categories in JsfMessage will be constants.
> This is the most flexible and least restricting way.
>
> We could introduce an own Category interface. That would work as well, but
> then we wont be able to easily implement dynamic categories.
> Also the mapping is a String inside the property file or database anyway.
> You would then need to define another mapping to a String in any case.
> Imo this is not worth all the effort. But I'd be happy for a review and of
> getting more pros and cons.
> We should just try to avoid overcomplicating it. If people think there is
> a good reason for an own Interface than it's easy to add it. I'm just not
> sure about the value it brings.
>
>
> LieGrue,
> strub
>
>
>
> ----- Original Message -----
> > From: Gerhard Petracek <[email protected]>
> > To: [email protected]
> > Cc:
> > Sent: Sunday, October 7, 2012 1:01 PM
> > Subject: Re: proposal for JSF Messages
> >
> > @ "We already found an easy solution.":
> >
> > can't be, because this discussion wasn't even near to be finished.
> >
> > @"This part is already implemented.":
> >
> > i saw it - to say it differently: -1 to category as a string
> > (back then that was also part of the discussion about the bv constraint
> > payload.)
> >
> > regards,
> > gerhard
> >
> >
> >
> > 2012/10/7 Mark Struberg <[email protected]>
> >
> >>  Hi Gerhard!
> >>
> >>  We already found an easy solution.
> >>
> >>  I removed the restriction that @MessageBundles are only allowed to
> return
> >>  a Message if they have a MessageContext parameter. I found no reason to
> >>  restrict that.
> >>
> >>  If a user returns a Message intead of a String then we will use the
> >>  categories 'summary' and 'detail' for creating the
> > FacesMessage. Both fall
> >>  back to the default value in their property files if they don't have a
> >>  .summary or .detail entry in that language. If a String is being
> returned
> >>  we use it for both summary and detail Strings.
> >>
> >>  This part is already implemented. I'm currently working on the Proxy
> > for
> >>  creating the JsfMessage<YourMessage> part.
> >>
> >>  LieGrue,
> >>  strub
> >>
> >>
> >>
> >>
> >>  ----- Original Message -----
> >>  > From: Gerhard Petracek <[email protected]>
> >>  > To: [email protected]
> >>  > Cc:
> >>  > Sent: Sunday, October 7, 2012 12:37 PM
> >>  > Subject: Re: proposal for JSF Messages
> >>  >
> >>  > 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