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
+}