From aa6d43e8b28ff73d69a920e9b3a7b284cfce00c3 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 29 Nov 2013 11:05:51 -0500 Subject: [PATCH] Extract SessionManager from GitBlit singleton --- src/main/java/com/gitblit/LuceneExecutor.java | 20 +++++++++++++------- 1 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/gitblit/LuceneExecutor.java b/src/main/java/com/gitblit/LuceneExecutor.java index 28523ce..b7b71c5 100644 --- a/src/main/java/com/gitblit/LuceneExecutor.java +++ b/src/main/java/com/gitblit/LuceneExecutor.java @@ -85,6 +85,7 @@ import org.slf4j.LoggerFactory; import com.gitblit.Constants.SearchObjectType; +import com.gitblit.manager.IRepositoryManager; import com.gitblit.models.PathModel.PathChangeModel; import com.gitblit.models.RefModel; import com.gitblit.models.RepositoryModel; @@ -127,6 +128,7 @@ private final Logger logger = LoggerFactory.getLogger(LuceneExecutor.class); private final IStoredSettings storedSettings; + private final IRepositoryManager repositoryManager; private final File repositoriesFolder; private final Map<String, IndexSearcher> searchers = new ConcurrentHashMap<String, IndexSearcher>(); @@ -135,9 +137,13 @@ private final String luceneIgnoreExtensions = "7z arc arj bin bmp dll doc docx exe gif gz jar jpg lib lzh odg odf odt pdf ppt png so swf xcf xls xlsx zip"; private Set<String> excludedExtensions; - public LuceneExecutor(IStoredSettings settings, File repositoriesFolder) { + public LuceneExecutor( + IStoredSettings settings, + IRepositoryManager repositoryManager) { + this.storedSettings = settings; - this.repositoriesFolder = repositoriesFolder; + this.repositoryManager = repositoryManager; + this.repositoriesFolder = repositoryManager.getRepositoriesFolder(); String exts = luceneIgnoreExtensions; if (settings != null) { exts = settings.getString(Keys.web.luceneIgnoreExtensions, exts); @@ -160,17 +166,17 @@ String exts = storedSettings.getString(Keys.web.luceneIgnoreExtensions, luceneIgnoreExtensions); excludedExtensions = new TreeSet<String>(StringUtils.getStringsFromValue(exts)); - if (GitBlit.self().isCollectingGarbage()) { + if (repositoryManager.isCollectingGarbage()) { // busy collecting garbage, try again later return; } - for (String repositoryName: GitBlit.self().getRepositoryList()) { - RepositoryModel model = GitBlit.self().getRepositoryModel(repositoryName); + for (String repositoryName: repositoryManager.getRepositoryList()) { + RepositoryModel model = repositoryManager.getRepositoryModel(repositoryName); if (model.hasCommits && !ArrayUtils.isEmpty(model.indexedBranches)) { - Repository repository = GitBlit.self().getRepository(model.name); + Repository repository = repositoryManager.getRepository(model.name); if (repository == null) { - if (GitBlit.self().isCollectingGarbage(model.name)) { + if (repositoryManager.isCollectingGarbage(model.name)) { logger.info(MessageFormat.format("Skipping Lucene index of {0}, busy garbage collecting", repositoryName)); } continue; -- Gitblit v1.9.1