Merge "Use only a single instance for NLS translation bundles"
This commit is contained in:
commit
e5c217bcf3
|
@ -125,11 +125,16 @@ private NLS(Locale locale) {
|
|||
this.locale = locale;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private <T extends TranslationBundle> T get(Class<T> type) {
|
||||
TranslationBundle bundle = map.get(type);
|
||||
if (bundle == null) {
|
||||
bundle = GlobalBundleCache.lookupBundle(locale, type);
|
||||
map.putIfAbsent(type, bundle);
|
||||
// There is a small opportunity for a race, which we may
|
||||
// lose. Accept defeat and return the winner's instance.
|
||||
TranslationBundle old = map.putIfAbsent(type, bundle);
|
||||
if (old != null)
|
||||
bundle = old;
|
||||
}
|
||||
return (T) bundle;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue