You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ja...@apache.org on 2012/05/29 15:33:30 UTC
svn commit: r1343717 -
/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilProperties.java
Author: jacopoc
Date: Tue May 29 13:33:29 2012
New Revision: 1343717
URL: http://svn.apache.org/viewvc?rev=1343717&view=rev
Log:
Improved code that manages the cache:
* protected the UtilCache object (static field) by making it private and final
* replaced some put with putIfAbsentAndGet to slightly simplify the code
Modified:
ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilProperties.java
Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilProperties.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilProperties.java?rev=1343717&r1=1343716&r2=1343717&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilProperties.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilProperties.java Tue May 29 13:33:29 2012
@@ -68,12 +68,12 @@ public class UtilProperties implements S
/** An instance of the generic cache for storing the non-locale-specific properties.
* Each Properties instance is keyed by the resource String.
*/
- protected static UtilCache<String, Properties> resourceCache = UtilCache.createUtilCache("properties.UtilPropertiesResourceCache");
+ private static final UtilCache<String, Properties> resourceCache = UtilCache.createUtilCache("properties.UtilPropertiesResourceCache");
/** An instance of the generic cache for storing the non-locale-specific properties.
* Each Properties instance is keyed by the file's URL.
*/
- protected static UtilCache<String, Properties> urlCache = UtilCache.createUtilCache("properties.UtilPropertiesUrlCache");
+ private static final UtilCache<String, Properties> urlCache = UtilCache.createUtilCache("properties.UtilPropertiesUrlCache");
protected static Locale fallbackLocale = null;
protected static Set<Locale> defaultCandidateLocales = null;
@@ -302,8 +302,7 @@ public class UtilProperties implements S
if (url == null)
return null;
- properties = getProperties(url);
- resourceCache.put(cacheKey, properties);
+ properties = resourceCache.putIfAbsentAndGet(cacheKey, getProperties(url));
} catch (MissingResourceException e) {
Debug.logInfo(e, module);
}
@@ -1006,7 +1005,7 @@ public class UtilProperties implements S
* properties file format.
*/
public static class UtilResourceBundle extends ResourceBundle {
- protected static UtilCache<String, UtilResourceBundle> bundleCache = UtilCache.createUtilCache("properties.UtilPropertiesBundleCache");
+ private static final UtilCache<String, UtilResourceBundle> bundleCache = UtilCache.createUtilCache("properties.UtilPropertiesBundleCache");
protected Properties properties = null;
protected Locale locale = null;
protected int hashCode = hashCode();