mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-15 17:56:17 +01:00
clear cache after repository modification or deletion
This commit is contained in:
@@ -44,7 +44,7 @@ import com.google.inject.Singleton;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import sonia.scm.Filter;
|
||||
import sonia.scm.HandlerEvent;
|
||||
import sonia.scm.cache.Cache;
|
||||
import sonia.scm.cache.CacheManager;
|
||||
import sonia.scm.repository.BlameResult;
|
||||
@@ -55,9 +55,9 @@ import sonia.scm.repository.PermissionUtil;
|
||||
import sonia.scm.repository.PostReceiveRepositoryHook;
|
||||
import sonia.scm.repository.PreProcessorUtil;
|
||||
import sonia.scm.repository.Repository;
|
||||
import sonia.scm.repository.RepositoryCacheKey;
|
||||
import sonia.scm.repository.RepositoryCacheKeyFilter;
|
||||
import sonia.scm.repository.RepositoryHookEvent;
|
||||
import sonia.scm.repository.RepositoryListener;
|
||||
import sonia.scm.repository.RepositoryManager;
|
||||
import sonia.scm.repository.RepositoryNotFoundException;
|
||||
import sonia.scm.repository.spi.RepositoryServiceProvider;
|
||||
@@ -142,7 +142,11 @@ public final class RepositoryServiceFactory
|
||||
this.securityContextProvider = securityContextProvider;
|
||||
this.resolvers = resolvers;
|
||||
this.preProcessorUtil = preProcessorUtil;
|
||||
repositoryManager.addHook(new CacheClearHook(cacheManager));
|
||||
|
||||
CacheClearHook cch = new CacheClearHook(cacheManager);
|
||||
|
||||
repositoryManager.addHook(cch);
|
||||
repositoryManager.addListener(cch);
|
||||
}
|
||||
|
||||
//~--- methods --------------------------------------------------------------
|
||||
@@ -285,6 +289,7 @@ public final class RepositoryServiceFactory
|
||||
* @author Enter your name here...
|
||||
*/
|
||||
private static class CacheClearHook extends PostReceiveRepositoryHook
|
||||
implements RepositoryListener
|
||||
{
|
||||
|
||||
/**
|
||||
@@ -328,6 +333,22 @@ public final class RepositoryServiceFactory
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
*
|
||||
* @param repository
|
||||
* @param event
|
||||
*/
|
||||
@Override
|
||||
public void onEvent(Repository repository, HandlerEvent event)
|
||||
{
|
||||
if ((event == HandlerEvent.MODIFY) || (event == HandlerEvent.DELETE))
|
||||
{
|
||||
clearCaches(repository.getId());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user