ONOS-6833: UiPreferencesService: augment to include getPreferences(username, prefsKey)

Change-Id: I583ba8cb4b49d32cc94313143ee9b152d87b1086
This commit is contained in:
Simon Hunt 2017-07-25 16:58:42 -07:00
parent 023b161f01
commit cfef6f9963
2 changed files with 23 additions and 8 deletions

View File

@ -41,13 +41,23 @@ public interface UiPreferencesService {
*/
Map<String, ObjectNode> getPreferences(String userName);
/**
* Returns the named preference for the specified user.
* If no such preferences exist, null will be returned.
*
* @param username user name
* @param key preference key
* @return named preference
*/
ObjectNode getPreference(String username, String key);
/**
* Sets the named preference for the specified user.
*
* @param userName user name
* @param preference name of the user preference
* @param username user name
* @param key preference key
* @param value preference value
*/
void setPreference(String userName, String preference, ObjectNode value);
void setPreference(String username, String key, ObjectNode value);
}

View File

@ -348,17 +348,22 @@ public class UiExtensionManager
}
@Override
public Map<String, ObjectNode> getPreferences(String userName) {
public Map<String, ObjectNode> getPreferences(String username) {
ImmutableMap.Builder<String, ObjectNode> builder = ImmutableMap.builder();
prefs.entrySet().stream()
.filter(e -> e.getKey().startsWith(userName + SLASH))
.filter(e -> e.getKey().startsWith(username + SLASH))
.forEach(e -> builder.put(keyName(e.getKey()), e.getValue()));
return builder.build();
}
@Override
public void setPreference(String userName, String preference, ObjectNode value) {
prefs.put(key(userName, preference), value);
public ObjectNode getPreference(String username, String key) {
return prefs.get(key(username, key));
}
@Override
public void setPreference(String username, String key, ObjectNode value) {
prefs.put(key(username, key), value);
}
// =====================================================================