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      private final Map<String, UserSettings> settingsMap = new HashMap<>();
15  
16      @Override
17      public UserSettings getUserSettings(String userName) {
18          return settingsMap.containsKey(userName) ? settingsMap.get(userName) : settingsMap.put(userName, DefaultUserSettings.builder().build());
19      }
20  
21      @Override
22      public UserSettings getUserSettings(UserKey user) {
23          return getUserSettings(user.getStringValue());
24      }
25  
26      @Override
27      public void updateUserSettings(String userName, Function<UserSettingsBuilder, UserSettings> updateFunction) {
28          if (settingsMap.containsKey(userName)) {
29              settingsMap.put(userName, updateFunction.apply(DefaultUserSettings.builder(settingsMap.get(userName))));
30          } else {
31              settingsMap.put(userName, updateFunction.apply(DefaultUserSettings.builder()));
32          }
33      }
34  
35      @Override
36      public void updateUserSettings(UserKey user, Function<UserSettingsBuilder, UserSettings> updateFunction) {
37          updateUserSettings(user.getStringValue(), updateFunction);
38      }
39  }