From d1231c63669f4bc3643985b9032de7f998612e08 Mon Sep 17 00:00:00 2001
From: Jason Pyeron <jpyeron@pdinc.us>
Date: Sun, 19 Aug 2012 21:35:52 -0400
Subject: [PATCH] fixed build to allow builds where a proxy is needed for access to outside resources see: http://ant.apache.org/manual/proxy.html

---
 src/com/gitblit/wicket/pages/LuceneSearchPage.java |   32 +++++++++++++++++++-------------
 1 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/src/com/gitblit/wicket/pages/LuceneSearchPage.java b/src/com/gitblit/wicket/pages/LuceneSearchPage.java
index e43935e..54e27ce 100644
--- a/src/com/gitblit/wicket/pages/LuceneSearchPage.java
+++ b/src/com/gitblit/wicket/pages/LuceneSearchPage.java
@@ -23,7 +23,6 @@
 import org.apache.wicket.PageParameters;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.ListMultipleChoice;
-import org.apache.wicket.markup.html.form.StatelessForm;
 import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.markup.html.panel.Fragment;
 import org.apache.wicket.markup.repeater.Item;
@@ -41,6 +40,7 @@
 import com.gitblit.utils.ArrayUtils;
 import com.gitblit.utils.StringUtils;
 import com.gitblit.wicket.GitBlitWebSession;
+import com.gitblit.wicket.SessionlessForm;
 import com.gitblit.wicket.StringChoiceRenderer;
 import com.gitblit.wicket.WicketUtils;
 import com.gitblit.wicket.panels.LinkPanel;
@@ -105,9 +105,13 @@
 				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
@@ -121,7 +125,7 @@
 		// search form
 		final Model<String> queryModel = new Model<String>(query);
 		final Model<ArrayList<String>> repositoriesModel = new Model<ArrayList<String>>(searchRepositories);
-		StatelessForm<Void> form = new StatelessForm<Void>("searchForm") {
+		SessionlessForm<Void> form = new SessionlessForm<Void>("searchForm", getClass()) {
 			
 			private static final long serialVersionUID = 1L;
 
@@ -146,9 +150,9 @@
 		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>();
@@ -160,14 +164,14 @@
 		if (results.size() == 0) {
 			if (!ArrayUtils.isEmpty(searchRepositories) && !StringUtils.isEmpty(query)) {
 				add(new Label("resultsHeader", query).setRenderBodyOnly(true));
-				add(new Label("resultsCount", "0 hits").setRenderBodyOnly(true));
+				add(new Label("resultsCount", getString("gb.noHits")).setRenderBodyOnly(true));
 			} else {
 				add(new Label("resultsHeader").setVisible(false));
 				add(new Label("resultsCount").setVisible(false));
 			}
 		} else {
 			add(new Label("resultsHeader", query).setRenderBodyOnly(true));
-			add(new Label("resultsCount", MessageFormat.format("results {0} - {1} ({2} hits)",
+			add(new Label("resultsCount", MessageFormat.format(getString("gb.queryResults"),
 					results.get(0).hitId, results.get(results.size() - 1).hitId, results.get(0).totalHits)).
 					setRenderBodyOnly(true));
 		}
@@ -230,7 +234,7 @@
 					item.add(new LinkPanel("branch", "branch", StringUtils.getRelativePath(Constants.R_HEADS, sr.branch), LogPage.class, WicketUtils.newObjectParameter(sr.repository, sr.branch)));
 				}
 				item.add(new Label("author", sr.author));
-				item.add(WicketUtils.createDatestampLabel("date", sr.date, getTimeZone()));
+				item.add(WicketUtils.createDatestampLabel("date", sr.date, getTimeZone(), getTimeUtils()));
 			}
 		};
 		add(resultsView.setVisible(results.size() > 0));
@@ -239,12 +243,14 @@
 		pagerParams.put("repositories", StringUtils.flattenStrings(repositoriesModel.getObject()));
 		pagerParams.put("query", queryModel.getObject());
 		
+		boolean showPager = false;
 		int totalPages = 0;
 		if (results.size() > 0) {
 			totalPages = (results.get(0).totalHits / pageSize) + (results.get(0).totalHits % pageSize > 0 ? 1 : 0);
+			showPager = results.get(0).totalHits > pageSize;
 		}
 		
-		add(new PagerPanel("topPager", page, totalPages, LuceneSearchPage.class, pagerParams));
-		add(new PagerPanel("bottomPager", page, totalPages, LuceneSearchPage.class, pagerParams));
+		add(new PagerPanel("topPager", page, totalPages, LuceneSearchPage.class, pagerParams).setVisible(showPager));
+		add(new PagerPanel("bottomPager", page, totalPages, LuceneSearchPage.class, pagerParams).setVisible(showPager));
 	}
 }

--
Gitblit v1.9.1