harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ilya Okomin" <ilya.oko...@gmail.com>
Subject Re: [classlib]strings externalization
Date Thu, 27 Jul 2006 14:33:42 GMT
On 7/27/06, Tim Ellison <t.p.ellison@gmail.com> wrote:

> Ilya Okomin wrote:
> > On 7/27/06, Tim Ellison <t.p.ellison@gmail.com> wrote:
> >> The other reason we will need some manual intervention is that there is
> >> plenty of code that throws exceptions without any message describing
> the
> >> problem, and of course the tooling won't help there.
> >
> > Tim, do you mean, that Exceptions without any messages supposed to be
> > initialized with some corresponding message describing the problem? I
> > thought only already existing in modules messages are to be considered.
> > Just want to dispel doubts.
> I see plenty of code going in to svn that simply throws a new
> IllegalArgumentException() or whatever.  It would be good if they had an
> externalized message to explain what the problem was -- i.e. throw new
> IllegalArgumentException("Parameter foobar should be less than 42") etc.
> You might consider this a separate task to that of externalizing the
> existing messages, but depending on how 'manual' the externalization
> scan is for each module it may be worth doing both simultaneously.

I share your point of view about Exceptions without description, it isn't
user friendly. But I think it will be another sort of 'manual' scan :) There
is a need to waste time to analyze surrounding code to provide appropriate
message, a bit another sort of work, isn't it?
I think the best way would be if all these Exceptions without info are being
identified before externalization process is to be ran. For today I'd
better postpone the task of initialization 'empty' exceptions until the
externalization is finished.

> >> So once we have the basic framework in place for the message handling I
> >> think it will require a large manual effort to get all the strings that
> >> we want externalized properly.  Luckily it is not technically complex
> >> work and it is a task that we can easily do in parallel across the
> >> modules.
> >
> > Yep, I've chosen the same way to do.
> Cool -- did you get anywhere with the message handling framework
> 'template' code?

I've implemented a small tool that generates Message source and MsgHelp
source into a desired module. Tool gets a list of modules names from
property file (you can specify modules class sources to generate for),
then we run over the list and special word '<module>' in Message and MsgHelp
source templates files replaced with the specified module name. Resulting
sources are copied to the o/a/h/<module>/internal/ directory. At first I
planned to use MsgHelp class from luni but after a while I've decided to
avoid dependency on luni module and included generation source file of this
class to every module.

Thus Message or MsgHelp source files can be easy regenerated for a desired
set of modules, if anything is changed there.
I plan to add creation of a new empty messages.properties files with
copyright heading if it is absent for the module. Also I think that it make
sense to changle location to o/a/h/<module>/internal/nls.
Will provide patch with this tool when these changes are to be implemented
and checked.


> Regards,
> Tim
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org

Ilya Okomin
Intel Middleware Products Division

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message