use of java.util.PropertyResourceBundle in project head by mifos.
the class UTF8Control method newBundle.
public ResourceBundle newBundle(String baseName, Locale locale, String format, ClassLoader loader, boolean reload) throws IllegalAccessException, InstantiationException, IOException {
// The below is a copy of the default implementation.
String bundleName = toBundleName(baseName, locale);
String resourceName = toResourceName(bundleName, "properties");
ResourceBundle bundle = null;
InputStream stream = null;
if (reload) {
URL url = loader.getResource(resourceName);
if (url != null) {
URLConnection connection = url.openConnection();
if (connection != null) {
connection.setUseCaches(false);
stream = connection.getInputStream();
}
}
} else {
stream = loader.getResourceAsStream(resourceName);
}
if (stream != null) {
try {
// Only this line is changed to make it to read properties files as UTF-8.
bundle = new PropertyResourceBundle(new InputStreamReader(stream, "UTF-8"));
} finally {
stream.close();
}
}
return bundle;
}
use of java.util.PropertyResourceBundle in project jersey by jersey.
the class Localizer method localize.
public String localize(Localizable l) {
String key = l.getKey();
if (Localizable.NOT_LOCALIZABLE.equals(key)) {
// this message is not localizable
return (String) l.getArguments()[0];
}
String bundlename = l.getResourceBundleName();
try {
ResourceBundle bundle = _resourceBundles.get(bundlename);
if (bundle == null) {
try {
bundle = ResourceBundle.getBundle(bundlename, _locale);
} catch (MissingResourceException e) {
// work around a bug in the com.sun.enterprise.deployment.WebBundleArchivist:
// all files with an extension different from .class (hence all the .properties files)
// get copied to the top level directory instead of being in the package where they
// are defined
// so, since we can't find the bundle under its proper name, we look for it under
// the top-level package
int i = bundlename.lastIndexOf('.');
if (i != -1) {
String alternateBundleName = bundlename.substring(i + 1);
try {
bundle = ResourceBundle.getBundle(alternateBundleName, _locale);
} catch (MissingResourceException e2) {
// try OSGi
OsgiRegistry osgiRegistry = ReflectionHelper.getOsgiRegistryInstance();
if (osgiRegistry != null) {
bundle = osgiRegistry.getResourceBundle(bundlename);
} else {
final String path = bundlename.replace('.', '/') + ".properties";
final URL bundleUrl = ResourceFinder.findEntry(path);
if (bundleUrl != null) {
try {
bundle = new PropertyResourceBundle(bundleUrl.openStream());
} catch (IOException ex) {
// ignore
}
}
}
}
}
}
if (bundle == null) {
return getDefaultMessage(l);
} else {
_resourceBundles.put(bundlename, bundle);
}
}
if (key == null) {
key = "undefined";
}
String msg;
try {
msg = bundle.getString(key);
} catch (MissingResourceException e) {
// notice that this may throw a MissingResourceException of its own (caught below)
msg = bundle.getString("undefined");
}
// localize all arguments to the given localizable object
Object[] args = l.getArguments();
for (int i = 0; i < args.length; ++i) {
if (args[i] instanceof Localizable) {
args[i] = localize((Localizable) args[i]);
}
}
String message = MessageFormat.format(msg, args);
return message;
} catch (MissingResourceException e) {
return getDefaultMessage(l);
}
}
use of java.util.PropertyResourceBundle in project voltdb by VoltDB.
the class RefCapablePropertyResourceBundle method getRef.
/**
* Return a ref to a new or existing RefCapablePropertyResourceBundle,
* or throw a MissingResourceException.
*/
private static RefCapablePropertyResourceBundle getRef(String baseName, ResourceBundle rb, ClassLoader loader) {
if (!(rb instanceof PropertyResourceBundle))
throw new MissingResourceException("Found a Resource Bundle, but it is a " + rb.getClass().getName(), PropertyResourceBundle.class.getName(), null);
if (allBundles.containsKey(rb))
return (RefCapablePropertyResourceBundle) allBundles.get(rb);
RefCapablePropertyResourceBundle newPRAFP = new RefCapablePropertyResourceBundle(baseName, (PropertyResourceBundle) rb, loader);
allBundles.put(rb, newPRAFP);
return newPRAFP;
}
use of java.util.PropertyResourceBundle in project felix by apache.
the class ResourceBundleManager method loadResourceBundle.
private ResourceBundle loadResourceBundle(final Bundle bundle) {
// $NON-NLS-1$
final String path = "_" + DEFAULT_LOCALE.toString();
final URL source = (URL) getResourceBundleEntries(bundle).get(path);
if (source != null) {
try {
return new PropertyResourceBundle(source.openStream());
} catch (final IOException ignore) {
// ignore
}
}
return null;
}
use of java.util.PropertyResourceBundle in project bitsquare by bitsquare.
the class UTF8Control method newBundle.
public ResourceBundle newBundle(String baseName, @NotNull Locale locale, @NotNull String format, ClassLoader loader, boolean reload) throws IllegalAccessException, InstantiationException, IOException {
// The below is a copy of the default implementation.
final String bundleName = toBundleName(baseName, locale);
final String resourceName = toResourceName(bundleName, "properties");
ResourceBundle bundle = null;
InputStream stream = null;
if (reload) {
final URL url = loader.getResource(resourceName);
if (url != null) {
final URLConnection connection = url.openConnection();
if (connection != null) {
connection.setUseCaches(false);
stream = connection.getInputStream();
}
}
} else {
stream = loader.getResourceAsStream(resourceName);
}
if (stream != null) {
try {
// Only this line is changed to make it to read properties files as UTF-8.
bundle = new PropertyResourceBundle(new InputStreamReader(stream, "UTF-8"));
} finally {
stream.close();
}
}
return bundle;
}
Aggregations