> -----Original Message-----
> From: Ted Husted [mailto:[EMAIL PROTECTED]]
> Sent: Monday, September 09, 2002 3:27 PM
> To: Struts Developers List
> Subject: Re: commons.resources.messages
> 
> 
> I want to use it with my business classes so they can pass 
> messages back 
> to the presentation tier. I started by passing back flat 
> messages, but 
> found I also wanted a category. In this case, the category relates to 
> the name of a field that failed a business tier validation. 
> In a Struts 
> environment, the field is represented by a property on a 
> bean. But from 
> the business classes perspective, it is a field.
> 
> Besides fields, you might also use it to group other types of 
> information together. Each property could be a question on a 
> questionnaire, and each message a response to the question. 
> And so forth.
> 
> In general, I would cast it as a flavor of data transfer object. You 
> could use it custom tags and JavaBeans. But someone else 
> could also use 
> it with Velocity or XLS or whatever.
> 
> The underlying idea is the messages often need to be grouped 
> together or 
>   targeted in some way, and the Messages container gives you 
> a way to do 
> that.

OK. I'm sold on calling it a 'category' or 'group'.

The GLOBAL_MESSAGE constant should probably become something like
NO_CATEGORY or UNCATEGORIZED.

Actually, it might be nice if the use of this constant could be made
invisible to the client - that is, the client uses 'null' to mean "no
specific category/group". Internally, Messages would still have to use a
constant, since that's needed for a key into the Map. An additional add()
method would be required:

    public void add(Message message)

but I think that would be useful in any case. Currently, I find it mildly
annoying to have to say:

    add(ActionMessages.GLOBAL_MESSAGE, message);

instead of just:

    add(message);

and have the implementation "do the right thing".

> 
> Another point is that it also provides functionality that a 
> simple Hash 
> Map does not, since you can have multiple messages related to 
> a specific 
> [property,topic,subject,category]. So, it we were to place it 
> someplace 
> else, I'd suggest Collections. I believe add could just as 
> well take an 
> Object.

I think it would be a tough sell to the Collections crew ;-} so maybe we
should put it into Resources for now and maybe come back to the location
question later.

--
Martin Cooper


> 
> Basically, it's a container that let's you "pigeon hole" 
> entries using 
> arbitrary categories.
> 
> -T.
> 
> 
> Martin Cooper wrote:
> 
> > 
> >>-----Original Message-----
> >>From: Ted Husted [mailto:[EMAIL PROTECTED]]
> >>Sent: Monday, September 09, 2002 2:01 PM
> >>To: Struts Developers List
> >>Subject: Re: commons.resources.messages
> >>
> >>
> >>The JavaDocs talk about "beans" and "properties", but that 
> >>seems to be 
> >>just nomenclature. The ActionMessages container doesn't seem 
> >>linked to 
> >>JavaBeans in any specific way. The Strut's framework associates the 
> >>message categories with bean properties, but that's just one 
> >>potential use.
> >>
> > 
> > I kind of agree, but for one thing. In my own mind, I can't 
> come up with a
> > good explanation (excepting beans) of why I would want to 
> have a collection
> > of messages in which each message could be associate with a 
> particular
> > property name, or with some non-specific name. In other 
> words, I can't
> > imagine what the Javadoc for this class is going to say 
> regarding why I
> > would ever want to use it.
> > 
> > That seems to suggest, to me at least, that either the 
> class really does
> > need to be associated with beans, or what we have now is 
> not sufficiently
> > generic to be useful elsewhere. Or that I have a poor 
> imagination. ;-}
> > 
> > --
> > Martin Cooper
> > 
> > 
> > 
> >>The cleanest thing might be to update the JavaDocs and 
> >>statics to remove 
> >>the Struts references, import it to Commons resources, and do any 
> >>additional refactoring there. Then, post 1.1, we can bring 
> >>the Commons 
> >>version back in again (which now seems to be SOP).
> >>
> >>-Ted
> >>
> >>Martin Cooper wrote:
> >>
> >>
> >>>I don't see a reason that ActionMessage needs to be in 
> >>>
> >>Struts, since it's
> >>
> >>>really just a way to group the key with the intended 
> >>>
> >>placeholder values.
> >>
> >>>Moving it to Resources seems like a minimal extension of 
> >>>
> >>that component's
> >>
> >>>scope.
> >>>
> >>>I'm a little less sure about ActionMessages. I don't think 
> >>>
> >>it necessarily
> >>
> >>>needs to stay in Struts, but it does have a clear linkage 
> >>>
> >>to beans, since
> >>
> >>>the 'property' of an ActionMessages entry refers to a bean 
> >>>
> >>property. As a
> >>
> >>>result, it's not so clear to me that it's a good fit for Resources.
> >>>
> >>>I'd almost be tempted to put (Action)Message in Resources and
> >>>(Action)Messages (perhaps as PropertyMessages) in BeanUtils.
> >>>
> >>>While we're on the subject, another point was brought up 
> >>>
> >>recently regarding
> >>
> >>>ActionMessage(s) (and ActionError(s)), which I have also 
> >>>
> >>run afoul of. The
> >>
> >>>issue is that these classes do not allow the association of 
> >>>
> >>a bundle with
> >>
> >>>the message key. This is most commonly a problem with the 
> >>>
> >>collections of
> >>
> >>>messages, since there is no way to build up a collection of 
> >>>
> >>messages which
> >>
> >>>contain keys which refer to different bundles.
> >>>
> >>>There are several ways that this could be addressed, and 
> >>>
> >>not all of them
> >>
> >>>require changes to these classes. However, it's an issue 
> >>>
> >>worth considering
> >>
> >>>if we're also considering moving these classes elsewhere.
> >>>
> >>>--
> >>>Martin Cooper
> >>>
> >>>
> >>>
> >>>
> >>>>-----Original Message-----
> >>>>From: Ted Husted [mailto:[EMAIL PROTECTED]]
> >>>>Sent: Monday, September 09, 2002 8:45 AM
> >>>>To: [EMAIL PROTECTED]
> >>>>Subject: commons.resources.messages
> >>>>
> >>>>
> >>>>Would there be any objections to contributing the ActionMessage/s 
> >>>>classes to the Commons Resources package (as Message and 
> >>>>
> >>Messages, or 
> >>
> >>>>equivalent).
> >>>>
> >>>>I'm starting to use the properties field on the message more 
> >>>>often, and 
> >>>>would like to pass this back from the business tier. I'd 
> rather not 
> >>>>import the Struts class or replicate the class structure, for 
> >>>>the usual 
> >>>>reasons.
> >>>>
> >>>>It seems like it would be a good fit for the Commons Resource 
> >>>>package, 
> >>>>and I'd be happy to bring it over.
> >>>>
> >>>>I brought it up here first in case there was any reason for 
> >>>>keeping it 
> >>>>only the Struts codebase. Of course, I am not suggesting we 
> >>>>
> >>move any 
> >>
> >>>>Struts dependencies at this time.
> >>>>
> >>>>-Ted.
> >>>>
> >>>>
> >>>>--
> >>>>To unsubscribe, e-mail:   
> >>>><mailto:[EMAIL PROTECTED]>
> >>>>For additional commands, e-mail: 
> >>>><mailto:[EMAIL PROTECTED]>
> >>>>
> >>>>
> >>>
> >>>--
> >>>To unsubscribe, e-mail:   
> >>>
> >><mailto:[EMAIL PROTECTED]>
> >>
> >>>For additional commands, e-mail: 
> >>>
> >><mailto:[EMAIL PROTECTED]>
> >>
> >>>
> >>
> >>-- 
> >>Ted Husted, Husted dot Com, Fairport NY US
> >>co-author, Java Web Development with Struts
> >>Order it today:
> >><http://husted.com/struts/book.html>
> >>
> >>
> >>--
> >>To unsubscribe, e-mail:   
> >><mailto:[EMAIL PROTECTED]>
> >>For additional commands, e-mail: 
> >><mailto:[EMAIL PROTECTED]>
> >>
> >>
> > 
> > 
> > --
> > To unsubscribe, e-mail:   
> <mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail: 
> <mailto:[EMAIL PROTECTED]>
> > 
> > 
> 
> 
> -- 
> Ted Husted, Husted dot Com, Fairport NY US
> co-author, Java Web Development with Struts
> Order it today:
> <http://husted.com/struts/book.html>
> 
> 
> --
> To unsubscribe, e-mail:   
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: 
> <mailto:[EMAIL PROTECTED]>
> 
> 


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to