/** ** Return ResourceBundle properties as if Map.entrySet() **/ @Override public Set entrySet() { return getBundleAsMap().entrySet(); }
/** ** Return ResourceBundle properties as if Map.values() **/ public Collection values() { return getBundleAsMap().values(); }
/** ** Return the ResourceBundle properties as a Map object **/ protected Map<String, Object> getBundleAsMap() { return getBundleAsMap(getBundle()); }
/** * Return ResourceBundle for user's preferred locale * * @return user's ResourceBundle object */ protected ResourceBundle getBundle() { Locale loc = getLocale(); String context = (String) getThreadLocalManager().get(org.sakaiproject.util.RequestFilter.CURRENT_CONTEXT); if (log.isDebugEnabled()) log.debug("Request for bundle " + baseName + "/" + context + "/" + loc.toString()); ResourceBundle bundle = this.bundles.get(loc); if (bundle == null) { bundle = loadBundle(context, loc); } if (ServerConfigurationService.getBoolean("load.bundles.from.db", false)) { Map<String, String> bundleFromDbMap = getMessageBundleService().getBundle(baseName, context, loc); if (!bundleFromDbMap.isEmpty()) { // skip if there are no modified bundle data Map<String, Object> bundleMap = getBundleAsMap(bundle); bundleMap.putAll(bundleFromDbMap); bundle = new MapResourceBundle(bundleMap, baseName, loc); } if (log.isDebugEnabled()) { log.debug("Bundle from db added " + bundleFromDbMap.size() + " properties to " + baseName + "/" + context + "/" + loc.toString()); } } return bundle; }