Search in sources :

Example 1 with PropertyResourceBundle

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;
}
Also used : InputStreamReader(java.io.InputStreamReader) InputStream(java.io.InputStream) ResourceBundle(java.util.ResourceBundle) PropertyResourceBundle(java.util.PropertyResourceBundle) URL(java.net.URL) URLConnection(java.net.URLConnection) PropertyResourceBundle(java.util.PropertyResourceBundle)

Example 2 with PropertyResourceBundle

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);
    }
}
Also used : OsgiRegistry(org.glassfish.jersey.internal.OsgiRegistry) MissingResourceException(java.util.MissingResourceException) ResourceBundle(java.util.ResourceBundle) PropertyResourceBundle(java.util.PropertyResourceBundle) IOException(java.io.IOException) URL(java.net.URL) PropertyResourceBundle(java.util.PropertyResourceBundle)

Example 3 with PropertyResourceBundle

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;
}
Also used : MissingResourceException(java.util.MissingResourceException) PropertyResourceBundle(java.util.PropertyResourceBundle)

Example 4 with PropertyResourceBundle

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;
}
Also used : IOException(java.io.IOException) URL(java.net.URL) PropertyResourceBundle(java.util.PropertyResourceBundle)

Example 5 with PropertyResourceBundle

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;
}
Also used : InputStreamReader(java.io.InputStreamReader) InputStream(java.io.InputStream) PropertyResourceBundle(java.util.PropertyResourceBundle) ResourceBundle(java.util.ResourceBundle) URL(java.net.URL) URLConnection(java.net.URLConnection) PropertyResourceBundle(java.util.PropertyResourceBundle)

Aggregations

PropertyResourceBundle (java.util.PropertyResourceBundle)65 ResourceBundle (java.util.ResourceBundle)31 InputStream (java.io.InputStream)30 IOException (java.io.IOException)27 URL (java.net.URL)23 InputStreamReader (java.io.InputStreamReader)19 URLConnection (java.net.URLConnection)13 MissingResourceException (java.util.MissingResourceException)13 FileInputStream (java.io.FileInputStream)12 File (java.io.File)9 Locale (java.util.Locale)7 FileNotFoundException (java.io.FileNotFoundException)5 MalformedURLException (java.net.MalformedURLException)4 Bundle (org.osgi.framework.Bundle)4 ByteArrayInputStream (java.io.ByteArrayInputStream)3 ArrayList (java.util.ArrayList)3 HashMap (java.util.HashMap)3 Properties (java.util.Properties)3 TemplatePersistenceData (org.eclipse.jface.text.templates.persistence.TemplatePersistenceData)3 TemplateReaderWriter (org.eclipse.jface.text.templates.persistence.TemplateReaderWriter)3