commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Florey" <daniel.flo...@web.de>
Subject Re: [i18n] Entry qualifier
Date Mon, 18 Apr 2005 11:24:16 GMT
"Jakarta Commons Developers List" <commons-dev@jakarta.apache.org> schrieb am 18.04.05
11:29:38:
> 
> At 2005-04-18 11:11, Daniel Florey wrote:
> > > My though was to re-use the basename or id used when "installing"
> > > ResourceBundle or XML providers. For example, after issuing
> > >    ResourceBundleMessageProvider.install("errorMessages");
> > > I would like to be able to qualify the newly installed messages with
> > >    MessageBundle msg = new MessageBundle("errorMessages", 
> > "unexpectedError");
> > > but also keep the existing alternative with
> > >    MessageBundle msg = new MessageBundle("unexpectedError"); //
> > > "unexpectedError" from any source
> >
> >Do you want this to be able to install different resources with the same 
> >message key or is it mainly because of implementation details (performance)?
> 
> Primarily multiple entries with same key, secondarily performance.
> 
> > > This may seem like a minor change at a first glance, but to also improve
> > > performance my thought was to to change the MessageManager class from
> > > holding a list of provider instances - which in turn can contain multiple
> > > resources (and thus assumes one instance per provider class) - to 
> > holding a
> > > Map from basename/id/namespace/qualifier to provider instance, where each
> > > instance only contains a single resource (i.e. XML-file/ResourceBundle).
> > > Though I planned on backwards compatibilty, by looping over the Map values
> > > - instead of the List entries - in the current MessageManager.getText() 
> > method.
> > > (Did I make myself clear?)
> >
> >I try my best to get your point...
> >At the moment there is only one MessageProvider holding many resources. 
> >You want to change this to many MessageProviders holding one resource each 
> >in order to improve performance?
> 
> Yes. Instead of having to loop through the providers - catching exceptions 
> from those who do not contain the entry, which is quite costly performance 
> wise - and get the first match, I want to be able to point out the source 
> which I expect to hold the entry. But then again, todays behaviour should 
> be kept as the default behaviour when not using a basename/namespace 
> qualification.
> 
> >I currently don't have access to the sources as I'm on a project in Jordan
> 
> (You can browse them online, 
> http://jakarta.apache.org/commons/sandbox/i18n/xref/index.html is quite 
> easy to navigate)
> 
> >but as soon as I'm back home I'll try to have a closer look at this.
> 
> Should I try to create a patch suggestion which you could look at then?

Yes, this would be great!
It would be very (very) appreciated, if you could provide some testcases... I started to write
some a while ago, but never managed to complete them. If we would have a complete testsuite
we could refactor without the fear to break something ;-)
If we get the testsuite done and improve the documentation, we hopefully can move the component
to commons proper soon...

Cheers,
Daniel

> 
> >Always keep in mind that it should be very simple to use the component.
> 
> Sure. As I said, I intend to be backwards compatible with currenty usage. 
> Though possibly the installation of resources may look slightly different.
> 
> >Do you have sandbox commit access?
> 
> Nope.
> 
>    Mattias Jiderhamn 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
> 


__________________________________________________________
Mit WEB.DE FreePhone mit hoechster Qualitaet ab 0 Ct./Min.
weltweit telefonieren! http://freephone.web.de/?mc=021201


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message