package edu.harvard.iq.dataverse.util;
import java.text.MessageFormat;
import java.util.List;
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
import java.util.logging.Logger;
public class BundleUtil {
private static final Logger logger = Logger.getLogger(BundleUtil.class.getCanonicalName());
private static final String defaultBundleFile = "Bundle";
private static final Locale defaultLocale = Locale.US;
public static String getStringFromBundle(String key) {
return getStringFromBundle(key, null);
}
public static String getStringFromBundle(String key, List<String> arguments) {
ResourceBundle bundle = ResourceBundle.getBundle(defaultBundleFile, defaultLocale);
return getStringFromBundle(key, arguments, bundle);
}
public static String getStringFromBundle(String key, List<String> arguments, ResourceBundle bundle) {
if (key == null || key.isEmpty()) {
return null;
}
String stringFromBundle = null;
try {
stringFromBundle = bundle.getString(key);
logger.fine("string found: " + stringFromBundle);
} catch (MissingResourceException ex) {
logger.warning("Could not find key \"" + key + "\" in bundle file.");
return null;
}
if (arguments != null) {
Object[] argArray = new String[arguments.size()];
argArray = arguments.toArray(argArray);
return MessageFormat.format(stringFromBundle, argArray);
} else {
return stringFromBundle;
}
}
}