Author: marrs
Date: Mon Jun 23 12:51:37 2008
New Revision: 670721

URL: http://svn.apache.org/viewvc?rev=670721&view=rev
Log:
FELIX-609 Fixed the issue as suggested in the description. If the user node is 
invalid, a new node will be returned.

Modified:
    felix/trunk/prefs/src/main/java/org/apache/felix/prefs/PreferencesImpl.java
    
felix/trunk/prefs/src/main/java/org/apache/felix/prefs/impl/PreferencesServiceImpl.java

Modified: 
felix/trunk/prefs/src/main/java/org/apache/felix/prefs/PreferencesImpl.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/prefs/src/main/java/org/apache/felix/prefs/PreferencesImpl.java?rev=670721&r1=670720&r2=670721&view=diff
==============================================================================
--- felix/trunk/prefs/src/main/java/org/apache/felix/prefs/PreferencesImpl.java 
(original)
+++ felix/trunk/prefs/src/main/java/org/apache/felix/prefs/PreferencesImpl.java 
Mon Jun 23 12:51:37 2008
@@ -161,6 +161,10 @@
         }
     }
 
+    public synchronized boolean isValid() {
+        return this.valid;
+    }
+
     /**
      * @see org.osgi.service.prefs.Preferences#put(java.lang.String, 
java.lang.String)
      */
@@ -645,4 +649,4 @@
             child.applyChanges(current);
         }
     }
-}
\ No newline at end of file
+}

Modified: 
felix/trunk/prefs/src/main/java/org/apache/felix/prefs/impl/PreferencesServiceImpl.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/prefs/src/main/java/org/apache/felix/prefs/impl/PreferencesServiceImpl.java?rev=670721&r1=670720&r2=670721&view=diff
==============================================================================
--- 
felix/trunk/prefs/src/main/java/org/apache/felix/prefs/impl/PreferencesServiceImpl.java
 (original)
+++ 
felix/trunk/prefs/src/main/java/org/apache/felix/prefs/impl/PreferencesServiceImpl.java
 Mon Jun 23 12:51:37 2008
@@ -90,7 +90,7 @@
     public synchronized Preferences getUserPreferences(String name) {
         PreferencesImpl result = (PreferencesImpl) this.trees.get(name);
         // if the tree does not exist yet, create it
-        if (result == null) {
+        if (result == null || !result.isValid()) {
             result = new PreferencesImpl(new 
PreferencesDescription(this.bundleId, name), this.storeManager);
             this.trees.put(name, result);
         }
@@ -120,4 +120,4 @@
         list.addAll(this.trees.values());
         return list;
     }
-}
\ No newline at end of file
+}


Reply via email to