From 6434db06201d107ee5c5dbdb879926666f787e67 Mon Sep 17 00:00:00 2001 From: kohsuke Date: Tue, 17 Apr 2007 01:30:23 +0000 Subject: [PATCH] implemented #461 "Ehanced level of detail for changes RSS feed". Needs to verify if plain text is formatted like
.

git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@3148 71c3de6d-444a-0410-be80-ed276b4c234a
---
 core/src/main/java/hudson/FeedAdapter.java           | 6 ++++++
 core/src/main/java/hudson/model/AbstractProject.java | 7 +++++++
 core/src/main/java/hudson/model/Hudson.java          | 5 +++++
 core/src/main/java/hudson/model/Run.java             | 5 +++++
 core/src/main/java/hudson/model/User.java            | 5 +++++
 core/src/main/resources/hudson/atom.jelly            | 1 +
 core/src/main/resources/hudson/rss20.jelly           | 4 ++++
 7 files changed, 33 insertions(+)

diff --git a/core/src/main/java/hudson/FeedAdapter.java b/core/src/main/java/hudson/FeedAdapter.java
index 7de32a2517..3e5ac67c5e 100644
--- a/core/src/main/java/hudson/FeedAdapter.java
+++ b/core/src/main/java/hudson/FeedAdapter.java
@@ -26,6 +26,12 @@ public interface FeedAdapter {
      */
     String getEntryID(E entry);
 
+    /**
+     * (Potentially lengthy) plain text to be attached to the feed.
+     * Can be null.
+     */
+    String getEntryDescription(E entry);
+
     /**
      * Timestamp of the last change in this entry.
      */
diff --git a/core/src/main/java/hudson/model/AbstractProject.java b/core/src/main/java/hudson/model/AbstractProject.java
index abbb150943..70a8f35449 100644
--- a/core/src/main/java/hudson/model/AbstractProject.java
+++ b/core/src/main/java/hudson/model/AbstractProject.java
@@ -589,6 +589,13 @@ public abstract class AbstractProject

,R extends A return getEntryUrl(item); } + public String getEntryDescription(FeedItem item) { + StringBuilder buf = new StringBuilder(); + for(String path : item.e.getAffectedPaths()) + buf.append(path).append('\n'); + return buf.toString(); + } + public Calendar getEntryTimestamp(FeedItem item) { return item.getBuild().getTimestamp(); } diff --git a/core/src/main/java/hudson/model/Hudson.java b/core/src/main/java/hudson/model/Hudson.java index 2725615ec8..1e67a796e6 100644 --- a/core/src/main/java/hudson/model/Hudson.java +++ b/core/src/main/java/hudson/model/Hudson.java @@ -13,6 +13,7 @@ import hudson.TcpSlaveAgentListener; import hudson.Util; import static hudson.Util.fixEmpty; import hudson.XmlFile; +import hudson.Functions; import hudson.model.Descriptor.FormException; import hudson.model.listeners.ItemListener; import hudson.model.listeners.JobListener; @@ -1180,6 +1181,10 @@ public final class Hudson extends View implements ItemGroup, Node return String.valueOf(entry.getSequenceNumber()); } + public String getEntryDescription(LogRecord entry) { + return Functions.printLogRecord(entry); + } + public Calendar getEntryTimestamp(LogRecord entry) { GregorianCalendar cal = new GregorianCalendar(); cal.setTimeInMillis(entry.getMillis()); diff --git a/core/src/main/java/hudson/model/Run.java b/core/src/main/java/hudson/model/Run.java index 288e201093..a4fb2ce97e 100644 --- a/core/src/main/java/hudson/model/Run.java +++ b/core/src/main/java/hudson/model/Run.java @@ -871,6 +871,11 @@ public abstract class Run ,RunT extends Run + ${title} diff --git a/core/src/main/resources/hudson/rss20.jelly b/core/src/main/resources/hudson/rss20.jelly index 6536c673aa..20fa69c82f 100644 --- a/core/src/main/resources/hudson/rss20.jelly +++ b/core/src/main/resources/hudson/rss20.jelly @@ -4,6 +4,7 @@ + ${title} @@ -17,6 +18,9 @@ ${adapter.getEntryID(e)} ${h.rfc822Date(adapter.getEntryTimestamp(e))} users@hudson.dev.java.net (Hudson Server) + + +