From 4e1930a8d9a4e1e90dadf36641f491fdda09f216 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 19 Mar 2012 22:12:08 -0400 Subject: [PATCH] Polish the Lucene search page. Integrate both search mechanisms. --- src/com/gitblit/GitBlit.java | 21 ++++++++++++++++++--- 1 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java index 3bda06f..b2e53d6 100644 --- a/src/com/gitblit/GitBlit.java +++ b/src/com/gitblit/GitBlit.java @@ -812,6 +812,8 @@ "gitblit", null, "postReceiveScript"))); model.mailingLists = new ArrayList<String>(Arrays.asList(config.getStringList( "gitblit", null, "mailingList"))); + model.indexedBranches = new ArrayList<String>(Arrays.asList(config.getStringList( + "gitblit", null, "indexBranch"))); } model.HEAD = JGitUtils.getHEADRef(r); model.availableRefs = JGitUtils.getAvailableHeadTargets(r); @@ -871,6 +873,9 @@ repository.close(); } } + + // close any open index writer/searcher in the Lucene executor + luceneExecutor.close(repositoryName); } /** @@ -952,6 +957,12 @@ // create repository logger.info("create repository " + repository.name); r = JGitUtils.createRepository(repositoriesFolder, repository.name); + + // automatically index master branch if Lucene integration is enabled + if (luceneExecutor.isReady()) { + repository.indexedBranches = new ArrayList<String>(); + repository.indexedBranches.add("refs/heads/master"); + } } else { // rename repository if (!repositoryName.equalsIgnoreCase(repository.name)) { @@ -1059,6 +1070,9 @@ } if (!ArrayUtils.isEmpty(repository.mailingLists)) { config.setStringList("gitblit", null, "mailingList", repository.mailingLists); + } + if (!ArrayUtils.isEmpty(repository.indexedBranches)) { + config.setStringList("gitblit", null, "indexBranch", repository.indexedBranches); } try { config.save(); @@ -1653,12 +1667,13 @@ * Search the specified repositories using the Lucene query. * * @param query - * @param maximumHits + * @param page + * @param pageSize * @param repositories * @return */ - public List<SearchResult> search(String query, int maximumHits, List<String> repositories) { - List<SearchResult> srs = luceneExecutor.search(query, maximumHits, repositories); + public List<SearchResult> search(String query, int page, int pageSize, List<String> repositories) { + List<SearchResult> srs = luceneExecutor.search(query, page, pageSize, repositories); return srs; } -- Gitblit v1.9.1