mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-12 08:25:44 +01:00
call fileobject pre processor api
This commit is contained in:
@@ -45,6 +45,7 @@ import sonia.scm.NotSupportedFeatuerException;
|
|||||||
import sonia.scm.cache.Cache;
|
import sonia.scm.cache.Cache;
|
||||||
import sonia.scm.cache.CacheManager;
|
import sonia.scm.cache.CacheManager;
|
||||||
import sonia.scm.util.AssertUtil;
|
import sonia.scm.util.AssertUtil;
|
||||||
|
import sonia.scm.util.Util;
|
||||||
|
|
||||||
//~--- JDK imports ------------------------------------------------------------
|
//~--- JDK imports ------------------------------------------------------------
|
||||||
|
|
||||||
@@ -52,6 +53,7 @@ import java.io.IOException;
|
|||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -77,14 +79,20 @@ public class RepositoryBrowserUtil extends PartCacheClearHook
|
|||||||
*
|
*
|
||||||
* @param repositoryManager
|
* @param repositoryManager
|
||||||
* @param cacheManager
|
* @param cacheManager
|
||||||
|
* @param preProcessorSet
|
||||||
|
* @param preProcessorFactorySet
|
||||||
*/
|
*/
|
||||||
@Inject
|
@Inject
|
||||||
public RepositoryBrowserUtil(RepositoryManager repositoryManager,
|
public RepositoryBrowserUtil(
|
||||||
CacheManager cacheManager)
|
RepositoryManager repositoryManager, CacheManager cacheManager,
|
||||||
|
Set<FileObjectPreProcessor> preProcessorSet,
|
||||||
|
Set<FileObjectPreProcessorFactory> preProcessorFactorySet)
|
||||||
{
|
{
|
||||||
this.repositoryManager = repositoryManager;
|
this.repositoryManager = repositoryManager;
|
||||||
this.cache = cacheManager.getCache(RepositoryBrowserCacheKey.class,
|
this.cache = cacheManager.getCache(RepositoryBrowserCacheKey.class,
|
||||||
BrowserResult.class, CACHE_NAME);
|
BrowserResult.class, CACHE_NAME);
|
||||||
|
this.preProcessorSet = preProcessorSet;
|
||||||
|
this.preProcessorFactorySet = preProcessorFactorySet;
|
||||||
init(repositoryManager, cache);
|
init(repositoryManager, cache);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -162,6 +170,8 @@ public class RepositoryBrowserUtil extends PartCacheClearHook
|
|||||||
if (result != null)
|
if (result != null)
|
||||||
{
|
{
|
||||||
sort(result);
|
sort(result);
|
||||||
|
callPreProcessors(result);
|
||||||
|
callPreProcessorFactories(repository, result);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -180,6 +190,70 @@ public class RepositoryBrowserUtil extends PartCacheClearHook
|
|||||||
|
|
||||||
//~--- methods --------------------------------------------------------------
|
//~--- methods --------------------------------------------------------------
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method description
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param fopp
|
||||||
|
* @param result
|
||||||
|
*/
|
||||||
|
private void callPreProcessor(FileObjectPreProcessor fopp,
|
||||||
|
BrowserResult result)
|
||||||
|
{
|
||||||
|
if (fopp != null)
|
||||||
|
{
|
||||||
|
List<FileObject> foList = result.getFiles();
|
||||||
|
|
||||||
|
if (Util.isNotEmpty(foList))
|
||||||
|
{
|
||||||
|
for (FileObject fo : foList)
|
||||||
|
{
|
||||||
|
fopp.process(fo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method description
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param repository
|
||||||
|
* @param result
|
||||||
|
*/
|
||||||
|
private void callPreProcessorFactories(Repository repository,
|
||||||
|
BrowserResult result)
|
||||||
|
{
|
||||||
|
if (Util.isNotEmpty(preProcessorFactorySet))
|
||||||
|
{
|
||||||
|
for (FileObjectPreProcessorFactory factory : preProcessorFactorySet)
|
||||||
|
{
|
||||||
|
FileObjectPreProcessor fopp = factory.createPreProcessor(repository);
|
||||||
|
|
||||||
|
callPreProcessor(fopp, result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method description
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param result
|
||||||
|
*/
|
||||||
|
private void callPreProcessors(BrowserResult result)
|
||||||
|
{
|
||||||
|
if (Util.isNotEmpty(preProcessorSet))
|
||||||
|
{
|
||||||
|
for (FileObjectPreProcessor fopp : preProcessorSet)
|
||||||
|
{
|
||||||
|
callPreProcessor(fopp, result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method description
|
* Method description
|
||||||
*
|
*
|
||||||
@@ -329,6 +403,12 @@ public class RepositoryBrowserUtil extends PartCacheClearHook
|
|||||||
/** Field description */
|
/** Field description */
|
||||||
private Cache<RepositoryBrowserCacheKey, BrowserResult> cache;
|
private Cache<RepositoryBrowserCacheKey, BrowserResult> cache;
|
||||||
|
|
||||||
|
/** Field description */
|
||||||
|
private Set<FileObjectPreProcessorFactory> preProcessorFactorySet;
|
||||||
|
|
||||||
|
/** Field description */
|
||||||
|
private Set<FileObjectPreProcessor> preProcessorSet;
|
||||||
|
|
||||||
/** Field description */
|
/** Field description */
|
||||||
private RepositoryManager repositoryManager;
|
private RepositoryManager repositoryManager;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user