mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-09 15:05:44 +01:00
remove old style listeners in favor of event bus
This commit is contained in:
@@ -102,7 +102,6 @@ import sonia.scm.store.FileBlobStoreFactory;
|
||||
import sonia.scm.store.JAXBConfigurationEntryStoreFactory;
|
||||
import sonia.scm.store.JAXBDataStoreFactory;
|
||||
import sonia.scm.store.JAXBStoreFactory;
|
||||
import sonia.scm.store.ListenableStoreFactory;
|
||||
import sonia.scm.store.StoreFactory;
|
||||
import sonia.scm.template.DefaultEngine;
|
||||
import sonia.scm.template.MustacheTemplateEngine;
|
||||
@@ -253,7 +252,6 @@ public class ScmServletModule extends ServletModule
|
||||
|
||||
// bind core
|
||||
bind(StoreFactory.class, JAXBStoreFactory.class);
|
||||
bind(ListenableStoreFactory.class, JAXBStoreFactory.class);
|
||||
bind(ConfigurationEntryStoreFactory.class,
|
||||
JAXBConfigurationEntryStoreFactory.class);
|
||||
bind(DataStoreFactory.class, JAXBDataStoreFactory.class);
|
||||
|
||||
@@ -36,22 +36,20 @@ package sonia.scm.api.rest.resources;
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.eventbus.Subscribe;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
import org.codehaus.enunciate.modules.jersey.ExternallyManagedLifecycle;
|
||||
|
||||
import sonia.scm.HandlerEvent;
|
||||
import sonia.scm.cache.Cache;
|
||||
import sonia.scm.cache.CacheManager;
|
||||
import sonia.scm.group.Group;
|
||||
import sonia.scm.group.GroupListener;
|
||||
import sonia.scm.group.GroupManager;
|
||||
import sonia.scm.search.SearchHandler;
|
||||
import sonia.scm.search.SearchResult;
|
||||
import sonia.scm.search.SearchResults;
|
||||
import sonia.scm.user.User;
|
||||
import sonia.scm.user.UserListener;
|
||||
import sonia.scm.user.UserManager;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
@@ -61,6 +59,8 @@ import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.QueryParam;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import sonia.scm.group.GroupEvent;
|
||||
import sonia.scm.user.UserEvent;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -69,7 +69,7 @@ import javax.ws.rs.core.MediaType;
|
||||
@Singleton
|
||||
@Path("search")
|
||||
@ExternallyManagedLifecycle
|
||||
public class SearchResource implements UserListener, GroupListener
|
||||
public class SearchResource
|
||||
{
|
||||
|
||||
/** Field description */
|
||||
@@ -84,7 +84,6 @@ public class SearchResource implements UserListener, GroupListener
|
||||
* Constructs ...
|
||||
*
|
||||
*
|
||||
* @param securityContextProvider
|
||||
* @param userManager
|
||||
* @param groupManager
|
||||
* @param cacheManager
|
||||
@@ -95,16 +94,12 @@ public class SearchResource implements UserListener, GroupListener
|
||||
{
|
||||
|
||||
// create user searchhandler
|
||||
userManager.addListener(this);
|
||||
|
||||
Cache<String, SearchResults> userCache =
|
||||
cacheManager.getCache(String.class, SearchResults.class, CACHE_USER);
|
||||
|
||||
this.userSearchHandler = new SearchHandler<User>(userCache, userManager);
|
||||
|
||||
// create group searchhandler
|
||||
groupManager.addListener(this);
|
||||
|
||||
Cache<String, SearchResults> groupCache =
|
||||
cacheManager.getCache(String.class, SearchResults.class, CACHE_GROUP);
|
||||
|
||||
@@ -118,26 +113,28 @@ public class SearchResource implements UserListener, GroupListener
|
||||
* Method description
|
||||
*
|
||||
*
|
||||
* @param user
|
||||
* @param event
|
||||
*/
|
||||
@Override
|
||||
public void onEvent(User user, HandlerEvent event)
|
||||
@Subscribe
|
||||
public void onEvent(UserEvent event)
|
||||
{
|
||||
userSearchHandler.clearCache();
|
||||
if ( event.getEventType().isPost() ){
|
||||
userSearchHandler.clearCache();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
*
|
||||
* @param group
|
||||
* @param event
|
||||
*/
|
||||
@Override
|
||||
public void onEvent(Group group, HandlerEvent event)
|
||||
@Subscribe
|
||||
public void onEvent(GroupEvent event)
|
||||
{
|
||||
groupSearchHandler.clearCache();
|
||||
if ( event.getEventType().isPost() ){
|
||||
groupSearchHandler.clearCache();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -211,8 +208,8 @@ public class SearchResource implements UserListener, GroupListener
|
||||
//~--- fields ---------------------------------------------------------------
|
||||
|
||||
/** Field description */
|
||||
private SearchHandler<Group> groupSearchHandler;
|
||||
private final SearchHandler<Group> groupSearchHandler;
|
||||
|
||||
/** Field description */
|
||||
private SearchHandler<User> userSearchHandler;
|
||||
private final SearchHandler<User> userSearchHandler;
|
||||
}
|
||||
|
||||
@@ -83,16 +83,12 @@ public class DefaultGroupManager extends AbstractGroupManager
|
||||
* Constructs ...
|
||||
*
|
||||
*
|
||||
* @param securityContextProvider
|
||||
* @param groupDAO
|
||||
* @param groupListenerProvider
|
||||
*/
|
||||
@Inject
|
||||
public DefaultGroupManager(GroupDAO groupDAO,
|
||||
Provider<Set<GroupListener>> groupListenerProvider)
|
||||
public DefaultGroupManager(GroupDAO groupDAO)
|
||||
{
|
||||
this.groupDAO = groupDAO;
|
||||
this.groupListenerProvider = groupListenerProvider;
|
||||
}
|
||||
|
||||
//~--- methods --------------------------------------------------------------
|
||||
@@ -192,12 +188,6 @@ public class DefaultGroupManager extends AbstractGroupManager
|
||||
@Override
|
||||
public void init(SCMContextProvider context)
|
||||
{
|
||||
Set<GroupListener> listeners = groupListenerProvider.get();
|
||||
|
||||
if (Util.isNotEmpty(listeners))
|
||||
{
|
||||
addListeners(listeners);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -464,7 +454,4 @@ public class DefaultGroupManager extends AbstractGroupManager
|
||||
|
||||
/** Field description */
|
||||
private GroupDAO groupDAO;
|
||||
|
||||
/** Field description */
|
||||
private Provider<Set<GroupListener>> groupListenerProvider;
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ package sonia.scm.plugin;
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.common.eventbus.Subscribe;
|
||||
import com.google.common.io.Files;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Provider;
|
||||
@@ -44,7 +45,6 @@ import com.google.inject.Singleton;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import sonia.scm.ConfigChangedListener;
|
||||
import sonia.scm.ConfigurationException;
|
||||
import sonia.scm.SCMContext;
|
||||
import sonia.scm.SCMContextProvider;
|
||||
@@ -80,6 +80,7 @@ import javax.xml.bind.JAXB;
|
||||
import javax.xml.bind.JAXBContext;
|
||||
import javax.xml.bind.JAXBException;
|
||||
import javax.xml.bind.Unmarshaller;
|
||||
import sonia.scm.config.ScmConfigurationChangedEvent;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -87,7 +88,7 @@ import javax.xml.bind.Unmarshaller;
|
||||
*/
|
||||
@Singleton
|
||||
public class DefaultPluginManager
|
||||
implements PluginManager, ConfigChangedListener<ScmConfiguration>
|
||||
implements PluginManager
|
||||
{
|
||||
|
||||
/** Field description */
|
||||
@@ -114,7 +115,6 @@ public class DefaultPluginManager
|
||||
*
|
||||
*
|
||||
* @param context
|
||||
* @param securityContextProvicer
|
||||
* @param configuration
|
||||
* @param pluginLoader
|
||||
* @param cacheManager
|
||||
@@ -151,8 +151,6 @@ public class DefaultPluginManager
|
||||
{
|
||||
throw new ConfigurationException(ex);
|
||||
}
|
||||
|
||||
this.configuration.addListener(this);
|
||||
}
|
||||
|
||||
//~--- methods --------------------------------------------------------------
|
||||
@@ -178,8 +176,8 @@ public class DefaultPluginManager
|
||||
*
|
||||
* @param config
|
||||
*/
|
||||
@Override
|
||||
public void configChanged(ScmConfiguration config)
|
||||
@Subscribe
|
||||
public void configChanged(ScmConfigurationChangedEvent config)
|
||||
{
|
||||
clearCache();
|
||||
}
|
||||
|
||||
@@ -114,14 +114,12 @@ public class DefaultRepositoryManager extends AbstractRepositoryManager
|
||||
public DefaultRepositoryManager(ScmConfiguration configuration,
|
||||
SCMContextProvider contextProvider, KeyGenerator keyGenerator,
|
||||
RepositoryDAO repositoryDAO, Set<RepositoryHandler> handlerSet,
|
||||
Provider<Set<RepositoryListener>> repositoryListenersProvider,
|
||||
Provider<Set<RepositoryHook>> repositoryHooksProvider,
|
||||
PreProcessorUtil preProcessorUtil)
|
||||
{
|
||||
this.configuration = configuration;
|
||||
this.keyGenerator = keyGenerator;
|
||||
this.repositoryDAO = repositoryDAO;
|
||||
this.repositoryListenersProvider = repositoryListenersProvider;
|
||||
this.repositoryHooksProvider = repositoryHooksProvider;
|
||||
this.preProcessorUtil = preProcessorUtil;
|
||||
|
||||
@@ -331,13 +329,6 @@ public class DefaultRepositoryManager extends AbstractRepositoryManager
|
||||
@Override
|
||||
public void init(SCMContextProvider context)
|
||||
{
|
||||
Set<RepositoryListener> listeners = repositoryListenersProvider.get();
|
||||
|
||||
if (Util.isNotEmpty(listeners))
|
||||
{
|
||||
addListeners(listeners);
|
||||
}
|
||||
|
||||
Set<RepositoryHook> hooks = repositoryHooksProvider.get();
|
||||
|
||||
if (Util.isNotEmpty(hooks))
|
||||
@@ -951,9 +942,6 @@ public class DefaultRepositoryManager extends AbstractRepositoryManager
|
||||
/** Field description */
|
||||
private Provider<Set<RepositoryHook>> repositoryHooksProvider;
|
||||
|
||||
/** Field description */
|
||||
private Provider<Set<RepositoryListener>> repositoryListenersProvider;
|
||||
|
||||
/** Field description */
|
||||
private Set<Type> types;
|
||||
}
|
||||
|
||||
@@ -101,17 +101,12 @@ public class DefaultUserManager extends AbstractUserManager
|
||||
/**
|
||||
* Constructs ...
|
||||
*
|
||||
*
|
||||
* @param scurityContextProvider
|
||||
* @param userDAO
|
||||
* @param userListenerProvider
|
||||
*/
|
||||
@Inject
|
||||
public DefaultUserManager(UserDAO userDAO,
|
||||
Provider<Set<UserListener>> userListenerProvider)
|
||||
public DefaultUserManager(UserDAO userDAO)
|
||||
{
|
||||
this.userDAO = userDAO;
|
||||
this.userListenerProvider = userListenerProvider;
|
||||
}
|
||||
|
||||
//~--- methods --------------------------------------------------------------
|
||||
@@ -239,13 +234,6 @@ public class DefaultUserManager extends AbstractUserManager
|
||||
{
|
||||
createDefaultAccounts();
|
||||
}
|
||||
|
||||
Set<UserListener> listeners = userListenerProvider.get();
|
||||
|
||||
if (Util.isNotEmpty(listeners))
|
||||
{
|
||||
addListeners(listeners);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -546,8 +534,5 @@ public class DefaultUserManager extends AbstractUserManager
|
||||
//~--- fields ---------------------------------------------------------------
|
||||
|
||||
/** Field description */
|
||||
private UserDAO userDAO;
|
||||
|
||||
/** Field description */
|
||||
private Provider<Set<UserListener>> userListenerProvider;
|
||||
private final UserDAO userDAO;
|
||||
}
|
||||
|
||||
@@ -91,14 +91,11 @@ public class ChainAuthenticatonManager extends AbstractAuthenticationManager
|
||||
* @param authenticationHandlerSet
|
||||
* @param encryptionHandler
|
||||
* @param cacheManager
|
||||
* @param authenticationListenerProvider
|
||||
* @param authenticationListeners
|
||||
*/
|
||||
@Inject
|
||||
public ChainAuthenticatonManager(UserManager userManager,
|
||||
Set<AuthenticationHandler> authenticationHandlerSet,
|
||||
EncryptionHandler encryptionHandler, CacheManager cacheManager,
|
||||
Set<AuthenticationListener> authenticationListeners)
|
||||
EncryptionHandler encryptionHandler, CacheManager cacheManager)
|
||||
{
|
||||
AssertUtil.assertIsNotEmpty(authenticationHandlerSet);
|
||||
AssertUtil.assertIsNotNull(cacheManager);
|
||||
@@ -106,11 +103,6 @@ public class ChainAuthenticatonManager extends AbstractAuthenticationManager
|
||||
this.encryptionHandler = encryptionHandler;
|
||||
this.cache = cacheManager.getCache(String.class,
|
||||
AuthenticationCacheValue.class, CACHE_NAME);
|
||||
|
||||
if (Util.isNotEmpty(authenticationListeners))
|
||||
{
|
||||
addListeners(authenticationListeners);
|
||||
}
|
||||
}
|
||||
|
||||
//~--- methods --------------------------------------------------------------
|
||||
@@ -252,7 +244,7 @@ public class ChainAuthenticatonManager extends AbstractAuthenticationManager
|
||||
ar = result;
|
||||
|
||||
// notify authentication listeners
|
||||
fireAuthenticationEvent(request, response, user);
|
||||
fireAuthenticationEvent(user);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user