From f66e89662c091e082bd1d2feb6ac91513ccff273 Mon Sep 17 00:00:00 2001 From: Rafael Cavazin <rafaelcavazin@gmail.com> Date: Sun, 21 Jul 2013 09:59:00 -0400 Subject: [PATCH] Merge branch 'master' of https://github.com/gitblit/gitblit --- src/main/java/com/gitblit/wicket/pages/GitSearchPage.java | 77 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 77 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/pages/GitSearchPage.java b/src/main/java/com/gitblit/wicket/pages/GitSearchPage.java new file mode 100644 index 0000000..446531a --- /dev/null +++ b/src/main/java/com/gitblit/wicket/pages/GitSearchPage.java @@ -0,0 +1,77 @@ +/* + * Copyright 2011 gitblit.com. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gitblit.wicket.pages; + +import org.apache.wicket.PageParameters; +import org.apache.wicket.markup.html.link.BookmarkablePageLink; + +import com.gitblit.Constants; +import com.gitblit.wicket.CacheControl; +import com.gitblit.wicket.WicketUtils; +import com.gitblit.wicket.CacheControl.LastModified; +import com.gitblit.wicket.panels.SearchPanel; + +@CacheControl(LastModified.REPOSITORY) +public class GitSearchPage extends RepositoryPage { + + public GitSearchPage(PageParameters params) { + super(params); + + String value = WicketUtils.getSearchString(params); + String type = WicketUtils.getSearchType(params); + Constants.SearchType searchType = Constants.SearchType.forName(type); + + int pageNumber = WicketUtils.getPage(params); + int prevPage = Math.max(0, pageNumber - 1); + int nextPage = pageNumber + 1; + + SearchPanel search = new SearchPanel("searchPanel", repositoryName, objectId, value, + searchType, getRepository(), -1, pageNumber - 1, getRepositoryModel().showRemoteBranches); + boolean hasMore = search.hasMore(); + add(search); + + add(new BookmarkablePageLink<Void>("firstPageTop", GitSearchPage.class, + WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType)) + .setEnabled(pageNumber > 1)); + add(new BookmarkablePageLink<Void>("prevPageTop", GitSearchPage.class, + WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType, + prevPage)).setEnabled(pageNumber > 1)); + add(new BookmarkablePageLink<Void>("nextPageTop", GitSearchPage.class, + WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType, + nextPage)).setEnabled(hasMore)); + + add(new BookmarkablePageLink<Void>("firstPageBottom", GitSearchPage.class, + WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType)) + .setEnabled(pageNumber > 1)); + add(new BookmarkablePageLink<Void>("prevPageBottom", GitSearchPage.class, + WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType, + prevPage)).setEnabled(pageNumber > 1)); + add(new BookmarkablePageLink<Void>("nextPageBottom", GitSearchPage.class, + WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType, + nextPage)).setEnabled(hasMore)); + + } + + @Override + protected String getPageName() { + return getString("gb.search"); + } + + @Override + protected Class<? extends BasePage> getRepoNavPageClass() { + return LogPage.class; + } +} -- Gitblit v1.9.1