James Moger
2012-03-25 df35adb4488c65ceb750c1230c67a5c0c51d338f
src/com/gitblit/LuceneExecutor.java
@@ -143,6 +143,11 @@
   public LuceneExecutor(IStoredSettings settings, File repositoriesFolder) {
      this.storedSettings = settings;
      this.repositoriesFolder = repositoriesFolder;
      String exts = luceneIgnoreExtensions;
      if (settings != null) {
         exts = settings.getString(Keys.web.luceneIgnoreExtensions, exts);
      }
      excludedExtensions = new TreeSet<String>(StringUtils.getStringsFromValue(exts));
   }
   /**
@@ -152,6 +157,10 @@
    */
   @Override
   public void run() {
      if (!storedSettings.getBoolean(Keys.web.allowLuceneIndexing, true)) {
         // Lucene indexing is disabled
         return;
      }
      // reload the excluded extensions
      String exts = storedSettings.getString(Keys.web.luceneIgnoreExtensions, luceneIgnoreExtensions);
      excludedExtensions = new TreeSet<String>(StringUtils.getStringsFromValue(exts));
@@ -176,7 +185,7 @@
    * @param repository
    *            the repository object
    */
   protected void index(RepositoryModel model, Repository repository) {
   private void index(RepositoryModel model, Repository repository) {
      try {
         if (shouldReindex(repository)) {
            // (re)build the entire index
@@ -337,7 +346,7 @@
    * @return tree
    * @throws IOException
    */
   protected RevTree getTree(final RevWalk walk, final RevCommit commit)
   private RevTree getTree(final RevWalk walk, final RevCommit commit)
         throws IOException {
      final RevTree tree = commit.getTree();
      if (tree != null) {
@@ -377,7 +386,7 @@
    * @param repository
    * @return true of the on-disk index format is different than INDEX_VERSION
    */
   protected boolean shouldReindex(Repository repository) {
   private boolean shouldReindex(Repository repository) {
      try {
         FileBasedConfig config = getConfig(repository);
         config.load();
@@ -532,7 +541,7 @@
                  // index the blob content
                  if (StringUtils.isEmpty(ext) || !excludedExtensions.contains(ext)) {                     
                     ObjectLoader ldr = repository.open(blobId, Constants.OBJ_BLOB);
                     InputStream in = ldr.openStream();
                     InputStream in = ldr.openStream();
                     int n;
                     while ((n = in.read(tmp)) > 0) {
                        os.write(tmp, 0, n);
@@ -660,7 +669,7 @@
         
         // get any annotated commit tags
         List<String> commitTags = new ArrayList<String>();
         for (RefModel ref : JGitUtils.getTags(repository, true, -1)) {
         for (RefModel ref : JGitUtils.getTags(repository, false, -1)) {
            if (ref.isAnnotatedTag() && ref.getReferencedObjectId().equals(commit.getId())) {
               commitTags.add(ref.displayName);
            }
@@ -745,7 +754,7 @@
    * @param repository
    * @return IndexResult
    */
   protected IndexResult updateIndex(RepositoryModel model, Repository repository) {
   private IndexResult updateIndex(RepositoryModel model, Repository repository) {
      IndexResult result = new IndexResult();
      try {
         FileBasedConfig config = getConfig(repository);
@@ -1126,8 +1135,8 @@
      Fragmenter fragmenter = new SimpleSpanFragmenter(scorer, fragmentLength); 
      // use an artificial delimiter for the token
      String termTag = "<!--[";
      String termTagEnd = "]-->";
      String termTag = "!!--[";
      String termTagEnd = "]--!!";
      SimpleHTMLFormatter formatter = new SimpleHTMLFormatter(termTag, termTagEnd);
      Highlighter highlighter = new Highlighter(formatter, scorer);      
      highlighter.setTextFragmenter(fragmenter);
@@ -1172,7 +1181,7 @@
            
         if (SearchObjectType.blob  == result.type) {
            // count lines as offset into the content for this fragment
            int line = StringUtils.countLines(content.substring(0, pos));
            int line = Math.max(1, StringUtils.countLines(content.substring(0, pos)));
            
            // create fragment tag with line number and language
            String lang = "";
@@ -1190,7 +1199,8 @@
         sb.append(tag);
         // replace the artificial delimiter with html tags
         String html = fragment.replace(termTag, "<span class=\"highlight\">").replace(termTagEnd, "</span>");
         String html = StringUtils.escapeForHtml(fragment, false);
         html = html.replace(termTag, "<span class=\"highlight\">").replace(termTagEnd, "</span>");
         sb.append(html);
         sb.append("</pre>");
         if (i < len - 1) {