From ec478948bb6977554b63bb472b2f54151864ccaa Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 11 Jul 2012 17:20:28 -0400
Subject: [PATCH] Update to Groovy 1.8.6
---
src/com/gitblit/LuceneExecutor.java | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/com/gitblit/LuceneExecutor.java b/src/com/gitblit/LuceneExecutor.java
index b316543..c702dcc 100644
--- a/src/com/gitblit/LuceneExecutor.java
+++ b/src/com/gitblit/LuceneExecutor.java
@@ -105,7 +105,7 @@
public class LuceneExecutor implements Runnable {
- private static final int INDEX_VERSION = 2;
+ private static final int INDEX_VERSION = 3;
private static final String FIELD_OBJECT_TYPE = "type";
private static final String FIELD_ISSUE = "issue";
@@ -1205,7 +1205,13 @@
return "<pre class=\"text\">" + StringUtils.escapeForHtml(fragment, true) + "</pre>";
}
- int contentPos = 0;
+ // make sure we have unique fragments
+ Set<String> uniqueFragments = new LinkedHashSet<String>();
+ for (String fragment : fragments) {
+ uniqueFragments.add(fragment);
+ }
+ fragments = uniqueFragments.toArray(new String[uniqueFragments.size()]);
+
StringBuilder sb = new StringBuilder();
for (int i = 0, len = fragments.length; i < len; i++) {
String fragment = fragments[i];
@@ -1215,7 +1221,7 @@
String raw = fragment.replace(termTag, "").replace(termTagEnd, "");
// determine position of the raw fragment in the content
- int pos = content.indexOf(raw, contentPos);
+ int pos = content.indexOf(raw);
// restore complete first line of fragment
int c = pos;
@@ -1243,8 +1249,6 @@
}
tag = MessageFormat.format("<pre class=\"prettyprint linenums:{0,number,0}{1}\">", line, lang);
- // update offset into content
- contentPos = pos + raw.length() + 1;
}
sb.append(tag);
--
Gitblit v1.9.1