From 7c7e942e29be432c081ff71362a756769e6bbe17 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 14 Mar 2012 16:19:16 -0400
Subject: [PATCH] Removed reference to old css file

---
 src/com/gitblit/LuceneExecutor.java |   60 ++++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 34 insertions(+), 26 deletions(-)

diff --git a/src/com/gitblit/LuceneExecutor.java b/src/com/gitblit/LuceneExecutor.java
index e4624ef..c9e4c73 100644
--- a/src/com/gitblit/LuceneExecutor.java
+++ b/src/com/gitblit/LuceneExecutor.java
@@ -29,6 +29,7 @@
 import com.gitblit.models.RepositoryModel;
 import com.gitblit.utils.JGitUtils;
 import com.gitblit.utils.LuceneUtils;
+import com.gitblit.utils.LuceneUtils.IndexResult;
 
 /**
  * The Lucene executor handles indexing repositories synchronously and
@@ -53,8 +54,8 @@
 
 	public LuceneExecutor(IStoredSettings settings) {
 		this.settings = settings;
-		this.isLuceneEnabled = settings.getBoolean("lucene.enableLucene", false);
-		this.isPollingMode = settings.getBoolean("lucene.pollingMode", false);
+		this.isLuceneEnabled = settings.getBoolean(Keys.lucene.enable, false);
+		this.isPollingMode = settings.getBoolean(Keys.lucene.pollingMode, false);
 	}
 
 	/**
@@ -104,26 +105,27 @@
 		Set<String> processed = new HashSet<String>();
 		if (!queue.isEmpty()) {
 			// update the repository Lucene index
-			String repositoryName = null;
-			while ((repositoryName = queue.poll()) != null) {
-				if (processed.contains(repositoryName)) {
+			String name = null;
+			while ((name = queue.poll()) != null) {
+				if (processed.contains(name)) {
 					// skipping multi-queued repository
 					continue;
 				}
 				try {
-					Repository repository = GitBlit.self().getRepository(repositoryName);
+					Repository repository = GitBlit.self().getRepository(name);
 					if (repository == null) {
 						logger.warn(MessageFormat.format(
 								"Lucene executor could not find repository {0}. Skipping.",
-								repositoryName));
+								name));
 						continue;
 					}
-					index(repositoryName, repository);
+					index(name, repository);
 					repository.close();
-					processed.add(repositoryName);
+					System.gc();
+					processed.add(name);
 				} catch (Throwable e) {
 					logger.error(MessageFormat.format("Failed to update {0} Lucene index",
-							repositoryName), e);
+							name), e);
 				}
 			}
 		}
@@ -133,45 +135,51 @@
 	 * Synchronously indexes a repository. This may build a complete index of a
 	 * repository or it may update an existing index.
 	 * 
-	 * @param repositoryName
+	 * @param name
 	 *            the name of the repository
 	 * @param repository
 	 *            the repository object
 	 */
-	public void index(String repositoryName, Repository repository) {
+	public void index(String name, Repository repository) {
 		try {
 			if (JGitUtils.hasCommits(repository)) {
 				if (LuceneUtils.shouldReindex(repository)) {
 					// (re)build the entire index
 					long start = System.currentTimeMillis();
-					boolean success = LuceneUtils.reindex(repository);
-					long duration = System.currentTimeMillis() - start;
-					if (success) {
-						String msg = "Built {0} Lucene index in {1} msecs";
-						logger.info(MessageFormat.format(msg, repositoryName, duration));
+					IndexResult result = LuceneUtils.reindex(name, repository);
+					float duration = (System.currentTimeMillis() - start)/1000f;
+					if (result.success) {
+						if (result.commitCount > 0) {
+							String msg = "Built {0} Lucene index from {1} commits and {2} files across {3} branches in {4} secs";
+							logger.info(MessageFormat.format(msg, name,
+									result.commitCount, result.blobCount, result.branchCount, duration));
+						}
 					} else {
 						String msg = "Could not build {0} Lucene index!";
-						logger.error(MessageFormat.format(msg, repositoryName));
+						logger.error(MessageFormat.format(msg, name));
 					}
 				} else {
 					// update the index with latest commits
 					long start = System.currentTimeMillis();
-					boolean success = LuceneUtils.updateIndex(repository);
-					long duration = System.currentTimeMillis() - start;
-					if (success) {
-						String msg = "Updated {0} Lucene index in {1} msecs";
-						logger.info(MessageFormat.format(msg, repositoryName, duration));
+					IndexResult result = LuceneUtils.updateIndex(name, repository);
+					float duration = (System.currentTimeMillis() - start)/1000f;
+					if (result.success) {
+						if (result.commitCount > 0) {
+							String msg = "Updated {0} Lucene index with {1} commits and {2} files across {3} branches in {4} secs";
+							logger.info(MessageFormat.format(msg, name,
+									result.commitCount, result.blobCount, result.branchCount, duration));
+						}
 					} else {
 						String msg = "Could not update {0} Lucene index!";
-						logger.error(MessageFormat.format(msg, repositoryName));
+						logger.error(MessageFormat.format(msg, name));
 					}
 				}
 			} else {
 				logger.info(MessageFormat.format("Skipped Lucene index of empty repository {0}",
-						repositoryName));
+						name));
 			}
 		} catch (Throwable t) {
-			logger.error(MessageFormat.format("Lucene indexing failure for {0}", repositoryName), t);
+			logger.error(MessageFormat.format("Lucene indexing failure for {0}", name), t);
 		}
 	}
 

--
Gitblit v1.9.1