From e33b91aa4d43246ad62832e66e2acfad3dfb3608 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 04 Nov 2011 22:28:32 -0400 Subject: [PATCH] Support pagination in RSS feeds. Standardize pg as page parameter. --- src/com/gitblit/SyndicationServlet.java | 14 +++++++++++--- 1 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/com/gitblit/SyndicationServlet.java b/src/com/gitblit/SyndicationServlet.java index 128df43..39e37ca 100644 --- a/src/com/gitblit/SyndicationServlet.java +++ b/src/com/gitblit/SyndicationServlet.java @@ -129,6 +129,7 @@ String repositoryName = url; String objectId = request.getParameter("h"); String l = request.getParameter("l"); + String page = request.getParameter("pg"); String searchString = request.getParameter("s"); Constants.SearchType searchType = Constants.SearchType.COMMIT; if (!StringUtils.isEmpty(request.getParameter("st"))) { @@ -147,6 +148,13 @@ } catch (NumberFormatException x) { } } + int offset = 0; + if (!StringUtils.isEmpty(page)) { + try { + offset = length * Integer.parseInt(page); + } catch (NumberFormatException x) { + } + } response.setContentType("application/rss+xml; charset=UTF-8"); Repository repository = GitBlit.self().getRepository(repositoryName); @@ -154,11 +162,11 @@ List<RevCommit> commits; if (StringUtils.isEmpty(searchString)) { // standard log/history lookup - commits = JGitUtils.getRevLog(repository, objectId, 0, length); + commits = JGitUtils.getRevLog(repository, objectId, offset, length); } else { // repository search - commits = JGitUtils.searchRevlogs(repository, objectId, searchString, searchType, 0, - length); + commits = JGitUtils.searchRevlogs(repository, objectId, searchString, searchType, + offset, length); } Map<ObjectId, List<RefModel>> allRefs = JGitUtils.getAllRefs(repository); List<SyndicatedEntryModel> entries = new ArrayList<SyndicatedEntryModel>(); -- Gitblit v1.9.1