James Moger
2013-11-18 cacf8bff097fbb66a7be1bfe267b5da2605145f8
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;