1   package com.atlassian.user.impl.delegation;
2   
3   import com.atlassian.user.User;
4   import com.atlassian.user.UserManager;
5   import com.atlassian.user.generic.AbstractTestUserManager;
6   
7   import java.util.ArrayList;
8   import java.util.Iterator;
9   
10  public class TestDelegatingUserManagerWithHibernateAndOSUser extends AbstractTestUserManager
11  {
12      protected UserManager osuUserManager;
13      protected UserManager hibernateUserManager;
14  
15      protected String[] getConfigLocations()
16      {
17          return new String[]{
18              "classpath:com/atlassian/user/impl/osuser/osuserTestContext.xml",
19              "classpath:com/atlassian/user/impl/hibernate/hibernateTestContext.xml",
20              "classpath:com/atlassian/user/dataSourceTestContext.xml"
21          };
22      }
23  
24      public void setOsuUserManager(UserManager osuUserManager)
25      {
26          this.osuUserManager = osuUserManager;
27      }
28  
29      public void setHibernateUserManager(UserManager hibernateUserManager)
30      {
31          this.hibernateUserManager = hibernateUserManager;
32      }
33  
34      protected void onTearDown() throws Exception
35      {
36          for (Iterator<User> i = osuUserManager.getUsers().iterator(); i.hasNext();)
37          {
38              User user = i.next();
39              osuUserManager.removeUser(user);
40          }
41          super.onTearDown();
42      }
43  
44  
45      protected UserManager getUserManager()
46      {
47          ArrayList<UserManager> list = new ArrayList<UserManager>();
48          list.add(hibernateUserManager);
49          list.add(osuUserManager);
50          return new DelegatingUserManager(list);
51      }
52  }