From c25a1d65ed2c94b65741d81862a7612ae12bdf76 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 01 Nov 2011 18:19:44 -0400
Subject: [PATCH] Branch renderer. String change. Config section name changes.
---
src/com/gitblit/utils/SyndicationUtils.java | 41 ++++++++++++++++++++++-------------------
1 files changed, 22 insertions(+), 19 deletions(-)
diff --git a/src/com/gitblit/utils/SyndicationUtils.java b/src/com/gitblit/utils/SyndicationUtils.java
index 6ea5f0e..9aedeb4 100644
--- a/src/com/gitblit/utils/SyndicationUtils.java
+++ b/src/com/gitblit/utils/SyndicationUtils.java
@@ -117,27 +117,30 @@
*/
public static List<SyndicatedEntryModel> readFeed(String url, String repository, String branch,
int numberOfEntries, String username, char[] password) throws IOException {
- String feedUrl;
- if (StringUtils.isEmpty(branch)) {
- // no branch specified
- if (numberOfEntries > 0) {
- // fixed number of entries
- feedUrl = MessageFormat.format("{0}/feed/{1}?l={2,number,0}", url, repository);
- } else {
- // server default number of entries
- feedUrl = MessageFormat.format("{0}/feed/{1}", url, repository);
- }
- } else {
- // branch specified
- if (numberOfEntries > 0) {
- // fixed number of entries
- feedUrl = MessageFormat.format("{0}/feed/{1}?h={2}&l={3,number,0}", url,
- repository, branch, numberOfEntries);
- } else {
- // server default number of entries
- feedUrl = MessageFormat.format("{0}/feed/{1}?h={2}", url, repository, branch);
+ // build feed url
+ List<String> parameters = new ArrayList<String>();
+ if (numberOfEntries > 0) {
+ parameters.add("l=" + numberOfEntries);
+ }
+ if (!StringUtils.isEmpty(branch)) {
+ parameters.add("h=" + branch);
+ }
+ StringBuilder sb = new StringBuilder();
+ sb.append(MessageFormat.format("{0}/feed/{1}", url, repository));
+ if (parameters.size() > 0) {
+ boolean first = true;
+ for (String parameter : parameters) {
+ if (first) {
+ sb.append('?');
+ first = false;
+ } else {
+ sb.append('&');
+ }
+ sb.append(parameter);
}
}
+ String feedUrl = sb.toString();
+
URLConnection conn = ConnectionUtils.openReadConnection(feedUrl, username, password);
InputStream is = conn.getInputStream();
SyndFeedInput input = new SyndFeedInput();
--
Gitblit v1.9.1