1 package com.atlassian.sal.testresources.usersettings;
2
3 import com.atlassian.sal.api.usersettings.UserSettings;
4 import com.atlassian.sal.api.usersettings.UserSettingsBuilder;
5 import com.atlassian.sal.api.usersettings.UserSettingsService;
6 import com.atlassian.sal.core.usersettings.DefaultUserSettings;
7 import com.google.common.base.Function;
8
9 import java.util.HashMap;
10 import java.util.Map;
11
12 public class MockUserSettingsService implements UserSettingsService
13 {
14 private final Map<String, UserSettings> settingsMap = new HashMap<String, UserSettings>();
15
16 @Override
17 public UserSettings getUserSettings(String userName)
18 {
19 return settingsMap.containsKey(userName) ? settingsMap.get(userName) : settingsMap.put(userName, DefaultUserSettings.builder().build());
20 }
21
22 @Override
23 public void updateUserSettings(String userName, Function<UserSettingsBuilder, UserSettings> updateFunction)
24 {
25 if (settingsMap.containsKey(userName))
26 {
27 settingsMap.put(userName, updateFunction.apply(DefaultUserSettings.builder(settingsMap.get(userName))));
28 }
29 else
30 {
31 settingsMap.put(userName, updateFunction.apply(DefaultUserSettings.builder()));
32 }
33 }
34 }