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.google.common.base.Function;
7
8 import java.util.HashMap;
9 import java.util.Map;
10
11 public class MockUserSettingsService implements UserSettingsService
12 {
13 private final Map<String, UserSettings> settingsMap = new HashMap<String, UserSettings>();
14
15 @Override
16 public UserSettings getUserSettings(String userName)
17 {
18 return settingsMap.containsKey(userName) ? settingsMap.get(userName) : settingsMap.put(userName, MockUserSettingsBuilder.builder().build());
19 }
20
21 @Override
22 public void updateUserSettings(String userName, Function<UserSettingsBuilder, UserSettings> updateFunction)
23 {
24 if (settingsMap.containsKey(userName))
25 {
26 settingsMap.put(userName, updateFunction.apply(MockUserSettingsBuilder.builder(settingsMap.get(userName))));
27 }
28 else
29 {
30 settingsMap.put(userName, updateFunction.apply(MockUserSettingsBuilder.builder()));
31 }
32 }
33 }