diff options
author | James Moger <james.moger@gitblit.com> | 2011-06-14 16:55:13 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2011-06-14 16:55:13 -0400 |
commit | 8c9a2037b5c0fed881a3ad6dd9cff364eed603d9 (patch) | |
tree | 2144915a2eae2ad9180715da76ddc3ec058b331e /src/com/gitblit/utils/SyndicationUtils.java | |
parent | c2272275ca990f3e12a5c1fa0a5de4c670a4d8b4 (diff) | |
download | gitblit-8c9a2037b5c0fed881a3ad6dd9cff364eed603d9.tar.gz gitblit-8c9a2037b5c0fed881a3ad6dd9cff364eed603d9.zip |
Added AccessRestrictionFilter and simplified authentication.
Replaced servlet container basic authentication with a custom servlet
filter which performs the same function. The advantage to this is
that the servlet container is now divorced from the webapp.
The login service (realm) also simplified a great deal and removes its
Jetty dependencies.
Additionally, the basic authorization pop-up will be displayed as
needed based on the repository's access restriction. This was
necessary for view-restricted repositories with the RSS feature. Its
also necessary for completely open repositories as before it would
prompt for credentials.
Improved feed syndication feature.
Diffstat (limited to 'src/com/gitblit/utils/SyndicationUtils.java')
-rw-r--r-- | src/com/gitblit/utils/SyndicationUtils.java | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/com/gitblit/utils/SyndicationUtils.java b/src/com/gitblit/utils/SyndicationUtils.java index da937f9a..5763af3f 100644 --- a/src/com/gitblit/utils/SyndicationUtils.java +++ b/src/com/gitblit/utils/SyndicationUtils.java @@ -24,32 +24,41 @@ import java.util.List; import org.eclipse.jgit.revwalk.RevCommit;
+import com.gitblit.Constants;
import com.sun.syndication.feed.synd.SyndContent;
import com.sun.syndication.feed.synd.SyndContentImpl;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndEntryImpl;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.feed.synd.SyndFeedImpl;
+import com.sun.syndication.feed.synd.SyndImageImpl;
import com.sun.syndication.io.FeedException;
import com.sun.syndication.io.SyndFeedOutput;
public class SyndicationUtils {
- public static void toRSS(String hostUrl, String title, String description, String repository, List<RevCommit> commits, OutputStream os)
- throws IOException, FeedException {
+ public static void toRSS(String hostUrl, String title, String description, String repository,
+ List<RevCommit> commits, OutputStream os) throws IOException, FeedException {
SyndFeed feed = new SyndFeedImpl();
- feed.setFeedType("rss_1.0");
+ feed.setFeedType("rss_2.0");
feed.setTitle(title);
- feed.setLink(MessageFormat.format("{0}/summary/{1}", hostUrl, repository));
+ feed.setLink(MessageFormat.format("{0}/summary/{1}", hostUrl,
+ StringUtils.encodeURL(repository)));
feed.setDescription(description);
+ SyndImageImpl image = new SyndImageImpl();
+ image.setTitle(Constants.NAME);
+ image.setUrl(hostUrl + Constants.RESOURCE_PATH + "gitblt_25.png");
+ image.setLink(hostUrl);
+ feed.setImage(image);
List<SyndEntry> entries = new ArrayList<SyndEntry>();
for (RevCommit commit : commits) {
SyndEntry entry = new SyndEntryImpl();
entry.setTitle(commit.getShortMessage());
entry.setAuthor(commit.getAuthorIdent().getName());
- entry.setLink(MessageFormat.format("{0}/commit/{1}/{2}", hostUrl, repository, commit.getName()));
+ entry.setLink(MessageFormat.format("{0}/commit/{1}/{2}", hostUrl,
+ StringUtils.encodeURL(repository), commit.getName()));
entry.setPublishedDate(commit.getCommitterIdent().getWhen());
SyndContent content = new SyndContentImpl();
|