James Moger
2012-09-10 fabe060d3a435f116128851f828e35c2af5fde67
commit | author | age
f13c4c 1 /*
JM 2  * Copyright 2011 gitblit.com.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
98ce17 16 package com.gitblit.wicket.pages;
JM 17
18 import org.apache.wicket.PageParameters;
19 import org.apache.wicket.markup.html.link.BookmarkablePageLink;
20
33d8d8 21 import com.gitblit.Constants;
98ce17 22 import com.gitblit.wicket.WicketUtils;
JM 23 import com.gitblit.wicket.panels.SearchPanel;
24
4e1930 25 public class GitSearchPage extends RepositoryPage {
2a7306 26
4e1930 27     public GitSearchPage(PageParameters params) {
98ce17 28         super(params);
JM 29
30         String value = WicketUtils.getSearchString(params);
31         String type = WicketUtils.getSearchType(params);
33d8d8 32         Constants.SearchType searchType = Constants.SearchType.forName(type);
2a7306 33
98ce17 34         int pageNumber = WicketUtils.getPage(params);
JM 35         int prevPage = Math.max(0, pageNumber - 1);
36         int nextPage = pageNumber + 1;
37
2a7306 38         SearchPanel search = new SearchPanel("searchPanel", repositoryName, objectId, value,
JM 39                 searchType, getRepository(), -1, pageNumber - 1);
98ce17 40         boolean hasMore = search.hasMore();
JM 41         add(search);
42
4e1930 43         add(new BookmarkablePageLink<Void>("firstPageTop", GitSearchPage.class,
2a7306 44                 WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType))
JM 45                 .setEnabled(pageNumber > 1));
4e1930 46         add(new BookmarkablePageLink<Void>("prevPageTop", GitSearchPage.class,
2a7306 47                 WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType,
JM 48                         prevPage)).setEnabled(pageNumber > 1));
4e1930 49         add(new BookmarkablePageLink<Void>("nextPageTop", GitSearchPage.class,
2a7306 50                 WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType,
JM 51                         nextPage)).setEnabled(hasMore));
98ce17 52
4e1930 53         add(new BookmarkablePageLink<Void>("firstPageBottom", GitSearchPage.class,
2a7306 54                 WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType))
JM 55                 .setEnabled(pageNumber > 1));
4e1930 56         add(new BookmarkablePageLink<Void>("prevPageBottom", GitSearchPage.class,
2a7306 57                 WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType,
JM 58                         prevPage)).setEnabled(pageNumber > 1));
4e1930 59         add(new BookmarkablePageLink<Void>("nextPageBottom", GitSearchPage.class,
2a7306 60                 WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType,
JM 61                         nextPage)).setEnabled(hasMore));
98ce17 62
JM 63     }
64
65     @Override
66     protected String getPageName() {
67         return getString("gb.search");
68     }
69 }