summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2012-03-25 13:15:06 -0400
committerJames Moger <james.moger@gitblit.com>2012-03-25 13:15:06 -0400
commit7db0929ad58804ebc235730b9cfc83dc38835eb9 (patch)
tree409079124310facf7e726824581766be3886ebc4 /src
parent462488624022a1cff16bebed6b3bb08b17ca80ab (diff)
downloadgitblit-7db0929ad58804ebc235730b9cfc83dc38835eb9.tar.gz
gitblit-7db0929ad58804ebc235730b9cfc83dc38835eb9.zip
Added web.allowLuceneIndexing to enable/disable Lucene integration
Diffstat (limited to 'src')
-rw-r--r--src/com/gitblit/LuceneExecutor.java4
-rw-r--r--src/com/gitblit/wicket/GitBlitWebApp.properties3
-rw-r--r--src/com/gitblit/wicket/pages/EditRepositoryPage.java5
-rw-r--r--src/com/gitblit/wicket/pages/LuceneSearchPage.java16
-rw-r--r--src/com/gitblit/wicket/pages/RepositoryPage.java3
-rw-r--r--src/com/gitblit/wicket/pages/RootPage.java4
6 files changed, 23 insertions, 12 deletions
diff --git a/src/com/gitblit/LuceneExecutor.java b/src/com/gitblit/LuceneExecutor.java
index 70d666f1..cd7074b6 100644
--- a/src/com/gitblit/LuceneExecutor.java
+++ b/src/com/gitblit/LuceneExecutor.java
@@ -157,6 +157,10 @@ public class LuceneExecutor implements Runnable {
*/
@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));
diff --git a/src/com/gitblit/wicket/GitBlitWebApp.properties b/src/com/gitblit/wicket/GitBlitWebApp.properties
index 3b78b435..4300c04b 100644
--- a/src/com/gitblit/wicket/GitBlitWebApp.properties
+++ b/src/com/gitblit/wicket/GitBlitWebApp.properties
@@ -222,4 +222,5 @@ gb.indexedBranches = indexed branches
gb.indexedBranchesDescription = select the branches to include in your Lucene index
gb.noIndexedRepositoriesWarning = none of your repositories are configured for Lucene indexing
gb.undefinedQueryWarning = query is undefined!
-gb.noSelectedRepositoriesWarning = please select one or more repositories! \ No newline at end of file
+gb.noSelectedRepositoriesWarning = please select one or more repositories!
+gb.luceneDisabled = Lucene indexing is disabled \ No newline at end of file
diff --git a/src/com/gitblit/wicket/pages/EditRepositoryPage.java b/src/com/gitblit/wicket/pages/EditRepositoryPage.java
index 5b2124ac..c2fc9f5f 100644
--- a/src/com/gitblit/wicket/pages/EditRepositoryPage.java
+++ b/src/com/gitblit/wicket/pages/EditRepositoryPage.java
@@ -117,12 +117,11 @@ public class EditRepositoryPage extends RootSubPage {
// indexed local branches palette
List<String> allLocalBranches = repositoryModel.getLocalBranches();
-
+ boolean luceneEnabled = GitBlit.getBoolean(Keys.web.allowLuceneIndexing, true);
final Palette<String> indexedBranchesPalette = new Palette<String>("indexedBranches", new ListModel<String>(
indexedBranches), new CollectionModel<String>(allLocalBranches),
new StringChoiceRenderer(), 8, false);
- indexedBranchesPalette.setEnabled(allLocalBranches.size() > 0);
-
+ indexedBranchesPalette.setEnabled(luceneEnabled && (allLocalBranches.size() > 0));
// federation sets palette
List<String> sets = GitBlit.getStrings(Keys.federation.sets);
diff --git a/src/com/gitblit/wicket/pages/LuceneSearchPage.java b/src/com/gitblit/wicket/pages/LuceneSearchPage.java
index 997ef213..ea94fa43 100644
--- a/src/com/gitblit/wicket/pages/LuceneSearchPage.java
+++ b/src/com/gitblit/wicket/pages/LuceneSearchPage.java
@@ -105,9 +105,13 @@ public class LuceneSearchPage extends RootPage {
availableRepositories.add(model.name);
}
}
-
- if (availableRepositories.size() == 0) {
- info(getString("gb.noIndexedRepositoriesWarning"));
+ boolean luceneEnabled = GitBlit.getBoolean(Keys.web.allowLuceneIndexing, true);
+ if (luceneEnabled) {
+ if (availableRepositories.size() == 0) {
+ info(getString("gb.noIndexedRepositoriesWarning"));
+ }
+ } else {
+ error(getString("gb.luceneDisabled"));
}
// enforce user-accessible repository selections
@@ -146,9 +150,9 @@ public class LuceneSearchPage extends RootPage {
ListMultipleChoice<String> selections = new ListMultipleChoice<String>("repositories",
repositoriesModel, availableRepositories, new StringChoiceRenderer());
selections.setMaxRows(8);
- form.add(selections);
- form.add(new TextField<String>("query", queryModel));
- add(form);
+ form.add(selections.setEnabled(luceneEnabled));
+ form.add(new TextField<String>("query", queryModel).setEnabled(luceneEnabled));
+ add(form.setEnabled(luceneEnabled));
// execute search
final List<SearchResult> results = new ArrayList<SearchResult>();
diff --git a/src/com/gitblit/wicket/pages/RepositoryPage.java b/src/com/gitblit/wicket/pages/RepositoryPage.java
index 132b1f7f..d90d6273 100644
--- a/src/com/gitblit/wicket/pages/RepositoryPage.java
+++ b/src/com/gitblit/wicket/pages/RepositoryPage.java
@@ -360,7 +360,8 @@ public abstract class RepositoryPage extends BasePage {
}
Class<? extends BasePage> searchPageClass = GitSearchPage.class;
RepositoryModel model = GitBlit.self().getRepositoryModel(repositoryName);
- if (!ArrayUtils.isEmpty(model.indexedBranches)) {
+ if (GitBlit.getBoolean(Keys.web.allowLuceneIndexing, true)
+ && !ArrayUtils.isEmpty(model.indexedBranches)) {
// this repository is Lucene-indexed
searchPageClass = LuceneSearchPage.class;
}
diff --git a/src/com/gitblit/wicket/pages/RootPage.java b/src/com/gitblit/wicket/pages/RootPage.java
index 57678dfb..d7b3ab73 100644
--- a/src/com/gitblit/wicket/pages/RootPage.java
+++ b/src/com/gitblit/wicket/pages/RootPage.java
@@ -101,7 +101,9 @@ public abstract class RootPage extends BasePage {
pages.add(new PageRegistration("gb.repositories", RepositoriesPage.class,
getRootPageParameters()));
pages.add(new PageRegistration("gb.activity", ActivityPage.class, getRootPageParameters()));
- pages.add(new PageRegistration("gb.search", LuceneSearchPage.class));
+ if (GitBlit.getBoolean(Keys.web.allowLuceneIndexing, true)) {
+ pages.add(new PageRegistration("gb.search", LuceneSearchPage.class));
+ }
if (showAdmin) {
pages.add(new PageRegistration("gb.users", UsersPage.class));
}