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.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  }