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/wicket/pages/RepositoryPage.java | 19 +++++++++++-------- 1 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/com/gitblit/wicket/pages/RepositoryPage.java b/src/com/gitblit/wicket/pages/RepositoryPage.java index 4a83b87..cd3c8a2 100644 --- a/src/com/gitblit/wicket/pages/RepositoryPage.java +++ b/src/com/gitblit/wicket/pages/RepositoryPage.java @@ -44,10 +44,10 @@ import com.gitblit.PagesServlet; import com.gitblit.SyndicationServlet; import com.gitblit.models.RepositoryModel; +import com.gitblit.utils.ArrayUtils; import com.gitblit.utils.JGitUtils; import com.gitblit.utils.StringUtils; import com.gitblit.utils.TicgitUtils; -import com.gitblit.wicket.GitBlitWebApp; import com.gitblit.wicket.GitBlitWebSession; import com.gitblit.wicket.PageRegistration; import com.gitblit.wicket.PageRegistration.OtherPageLink; @@ -229,8 +229,6 @@ protected Component createPersonPanel(String wicketId, PersonIdent identity, Constants.SearchType searchType) { - GitBlitWebApp app = (GitBlitWebApp) GitBlitWebSession.get().getApplication(); - final Class<? extends BasePage> searchPageClass = app.getSearchPageClass(); String name = identity == null ? "" : identity.getName(); String address = identity == null ? "" : identity.getEmailAddress(); boolean showEmail = GitBlit.getBoolean(Keys.web.showEmailAddresses, false); @@ -244,20 +242,20 @@ } } Fragment partial = new Fragment(wicketId, "partialPersonIdent", this); - LinkPanel link = new LinkPanel("personName", "list", value, searchPageClass, + LinkPanel link = new LinkPanel("personName", "list", value, GitSearchPage.class, WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType)); setPersonSearchTooltip(link, value, searchType); partial.add(link); return partial; } else { Fragment fullPerson = new Fragment(wicketId, "fullPersonIdent", this); - LinkPanel nameLink = new LinkPanel("personName", "list", name, searchPageClass, + LinkPanel nameLink = new LinkPanel("personName", "list", name, GitSearchPage.class, WicketUtils.newSearchParameter(repositoryName, objectId, name, searchType)); setPersonSearchTooltip(nameLink, name, searchType); fullPerson.add(nameLink); LinkPanel addressLink = new LinkPanel("personAddress", "list", "<" + address + ">", - searchPageClass, WicketUtils.newSearchParameter(repositoryName, objectId, + GitSearchPage.class, WicketUtils.newSearchParameter(repositoryName, objectId, address, searchType)); setPersonSearchTooltip(addressLink, address, searchType); fullPerson.add(addressLink); @@ -360,8 +358,13 @@ break; } } - GitBlitWebApp app = (GitBlitWebApp) GitBlitWebSession.get().getApplication(); - setResponsePage(app.getSearchPageClass(), + Class<? extends BasePage> searchPageClass = GitSearchPage.class; + RepositoryModel model = GitBlit.self().getRepositoryModel(repositoryName); + if (!ArrayUtils.isEmpty(model.indexedBranches)) { + // this repository is Lucene-indexed + searchPageClass = LuceneSearchPage.class; + } + setResponsePage(searchPageClass, WicketUtils.newSearchParameter(repositoryName, null, searchString, searchType)); } } -- Gitblit v1.9.1