added injection support for authentication, group, repository and user listeners

This commit is contained in:
Sebastian Sdorra
2011-08-16 19:10:36 +02:00
parent de97f9a91b
commit a60f04e083
10 changed files with 133 additions and 86 deletions

View File

@@ -49,6 +49,7 @@ import sonia.scm.group.AbstractGroupManager;
import sonia.scm.group.Group;
import sonia.scm.group.GroupAllreadyExistExeption;
import sonia.scm.group.GroupException;
import sonia.scm.group.GroupListener;
import sonia.scm.search.SearchRequest;
import sonia.scm.search.SearchUtil;
import sonia.scm.security.SecurityContext;
@@ -68,6 +69,7 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
/**
*
@@ -95,13 +97,16 @@ public class XmlGroupManager extends AbstractGroupManager
*
* @param securityContextProvider
* @param storeFactory
* @param groupListenerProvider
*/
@Inject
public XmlGroupManager(Provider<SecurityContext> securityContextProvider,
StoreFactory storeFactory)
StoreFactory storeFactory,
Provider<Set<GroupListener>> groupListenerProvider)
{
this.securityContextProvider = securityContextProvider;
this.store = storeFactory.getStore(XmlGroupDatabase.class, STORE_NAME);
this.groupListenerProvider = groupListenerProvider;
}
//~--- methods --------------------------------------------------------------
@@ -215,6 +220,13 @@ public class XmlGroupManager extends AbstractGroupManager
{
groupDB = new XmlGroupDatabase();
}
Set<GroupListener> listeners = groupListenerProvider.get();
if (Util.isNotEmpty(listeners))
{
addListeners(listeners);
}
}
/**
@@ -482,6 +494,9 @@ public class XmlGroupManager extends AbstractGroupManager
/** Field description */
private XmlGroupDatabase groupDB;
/** Field description */
private Provider<Set<GroupListener>> groupListenerProvider;
/** Field description */
private Provider<SecurityContext> securityContextProvider;