View Javadoc

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  }