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