Author: ivaynberg
Date: Wed Feb 13 15:20:29 2008
New Revision: 627611

URL: http://svn.apache.org/viewvc?rev=627611&view=rev
Log:
cleaned up code in #load()

Modified:
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java?rev=627611&r1=627610&r2=627611&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java
 Wed Feb 13 15:20:29 2008
@@ -105,33 +105,40 @@
        {
                // Check the cache
                Properties properties = (Properties)propertiesCache.get(path);
-               if (properties != null)
+
+               if (properties == null)
                {
-                       // Return null, if no resource stream was found
-                       if (properties == Properties.EMPTY_PROPERTIES)
+                       // If not in the cache than try to load properties
+                       IResourceStream stream = 
application.getResourceSettings()
+                               .getResourceStreamLocator()
+                               .locate(clazz, path);
+                       if (stream != null)
                        {
-                               properties = null;
+                               // Load the properties from the stream
+                               properties = 
loadPropertiesFileAndWatchForChanges(path, stream);
                        }
-                       return properties;
-               }
 
-               // If not in the cache than try to load the resource stream
-               IResourceStream stream = 
application.getResourceSettings().getResourceStreamLocator()
-                               .locate(clazz, path);
-               if (stream != null)
-               {
-                       // Load the properties from the stream
-                       properties = loadPropertiesFileAndWatchForChanges(path, 
stream);
-                       if (properties != null)
+
+                       // Cache the lookup
+                       if (properties == null)
+                       {
+                               // Could not locate properties, store a 
placeholder
+                               propertiesCache.put(path, 
Properties.EMPTY_PROPERTIES);
+                       }
+                       else
                        {
                                propertiesCache.put(path, properties);
-                               return properties;
                        }
+
+               }
+
+               if (properties == Properties.EMPTY_PROPERTIES)
+               {
+                       // Translate empty properties placeholder to null prior 
to returning
+                       properties = null;
                }
 
-               // Add a placeholder to the cache. Null is not a valid value to 
add.
-               propertiesCache.put(path, Properties.EMPTY_PROPERTIES);
-               return null;
+               return properties;
        }
 
        /**
@@ -144,7 +151,7 @@
         * @return The map of loaded resources
         */
        private synchronized Properties loadPropertiesFile(final String key,
-                       final IResourceStream resourceStream)
+               final IResourceStream resourceStream)
        {
                // Make sure someone else didn't load our resources while we 
were
                // waiting for the synchronized lock on the method
@@ -167,15 +174,14 @@
                                try
                                {
                                        // Get the InputStream
-                                       BufferedInputStream in = new 
BufferedInputStream(resourceStream
-                                                       .getInputStream());
+                                       BufferedInputStream in = new 
BufferedInputStream(
+                                               
resourceStream.getInputStream());
 
                                        // Determine if resource is a XML File
                                        boolean loadAsXml = false;
                                        if (resourceStream instanceof 
IFixedLocationResourceStream)
                                        {
-                                               String location = 
((IFixedLocationResourceStream)resourceStream)
-                                                               
.locationAsString();
+                                               String location = 
((IFixedLocationResourceStream)resourceStream).locationAsString();
                                                if (location != null)
                                                {
                                                        String ext = 
Strings.lastPathComponent(location, '.').toLowerCase();
@@ -239,11 +245,11 @@
         * @return The map of loaded resources
         */
        private final Properties loadPropertiesFileAndWatchForChanges(final 
String key,
-                       final IResourceStream resourceStream)
+               final IResourceStream resourceStream)
        {
                // Watch file modifications
                final ModificationWatcher watcher = 
application.getResourceSettings().getResourceWatcher(
-                               true);
+                       true);
                if (watcher != null)
                {
                        watcher.add(resourceStream, new IChangeListener()
@@ -251,7 +257,7 @@
                                public void onChange()
                                {
                                        log.info("A properties files has 
changed. Removing all entries " +
-                                                       "from the cache. 
Resource: " + resourceStream);
+                                               "from the cache. Resource: " + 
resourceStream);
 
                                        // Clear the whole cache as associated 
localized files may
                                        // be affected and may need reloading 
as well.
@@ -272,7 +278,7 @@
                                                catch (Throwable ex)
                                                {
                                                        
log.error("PropertiesReloadListener has thrown an exception: " +
-                                                                       
ex.getMessage());
+                                                               
ex.getMessage());
                                                }
                                        }
                                }


Reply via email to