View Javadoc
1   package com.atlassian.refapp.auth.internal;
2   
3   import com.atlassian.user.EntityException;
4   import com.atlassian.user.Group;
5   import com.atlassian.user.GroupManager;
6   import com.atlassian.user.User;
7   import com.atlassian.user.UserManager;
8   import org.apache.commons.logging.Log;
9   import org.apache.commons.logging.LogFactory;
10  
11  public class AuthenticationInitialization {
12      private final Log log = LogFactory.getLog(getClass());
13  
14      public AuthenticationInitialization(UserManager userManager, GroupManager groupManager) {
15          try {
16              addUser(userManager, groupManager, "admin", "A. D. Ministrator (Sysadmin)", "admin@example.com", "admin", "users", "system_administrators");
17              addUser(userManager, groupManager, "fred", "Fred Sysadmin", "fred@example.org", "fred", "users", "system_administrators");
18              addUser(userManager, groupManager, "barney", "Barney User", "barney@example.org", "barney", "users");
19              addUser(userManager, groupManager, "betty", "Betty Admin", "betty@example.org", "betty", "users", "administrators");
20          } catch (EntityException e) {
21              log.error("Failed setting up default users", e);
22          }
23      }
24  
25      private void addUser(UserManager userManager, GroupManager groupManager,
26                           String username, String fullName, String email, String password, String... groupNames) throws EntityException {
27          User user = userManager.createUser(username);
28          user.setFullName(fullName);
29          user.setEmail(email);
30          userManager.saveUser(user);
31          userManager.alterPassword(user, password);
32          for (String groupName : groupNames) {
33              Group group = getOrCreateGroupIfAbsent(groupManager, groupName);
34              groupManager.addMembership(group, user);
35          }
36      }
37  
38      private Group getOrCreateGroupIfAbsent(GroupManager groupManager, String groupName) throws EntityException {
39          Group group = groupManager.getGroup(groupName);
40          if (group == null) {
41              group = groupManager.createGroup(groupName);
42          }
43          return group;
44      }
45  }