View Javadoc

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