You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by oc...@apache.org on 2008/07/25 12:47:54 UTC
svn commit: r679754 - in /archiva/trunk/archiva-modules/archiva-web:
archiva-rss/src/main/java/org/apache/archiva/rss/
archiva-rss/src/test/java/org/apache/archiva/rss/
archiva-webapp/src/main/java/org/apache/maven/archiva/web/rss/
Author: oching
Date: Fri Jul 25 03:47:53 2008
New Revision: 679754
URL: http://svn.apache.org/viewvc?rev=679754&view=rev
Log:
[MRM-883]
-do not generate feed if there are no information available
-return 204 if no information/update available
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/RssFeedGenerator.java
archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/test/java/org/apache/archiva/rss/RssFeedGeneratorTest.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/rss/RssFeedServlet.java
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/RssFeedGenerator.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/RssFeedGenerator.java?rev=679754&r1=679753&r2=679754&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/RssFeedGenerator.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/main/java/org/apache/archiva/rss/RssFeedGenerator.java Fri Jul 25 03:47:53 2008
@@ -50,14 +50,16 @@
public static String DEFAULT_LANGUAGE = "en-us";
- //private String DEFAULT_LINK = "http://localhost:8080/archiva/rss/";
-
public SyndFeed generateFeed( String title, String description, List<RssFeedEntry> dataEntries )
{
+ if( dataEntries.size() == 0 )
+ {
+ log.debug( "No updates found, feed not generated." );
+ return null;
+ }
+
SyndFeed feed = new SyndFeedImpl();
-
- feed.setTitle( title );
- //feed.setLink( DEFAULT_LINK + queryString );
+ feed.setTitle( title );
feed.setDescription( description );
feed.setLanguage( DEFAULT_LANGUAGE );
feed.setPublishedDate( dataEntries.get( dataEntries.size() - 1 ).getPublishedDate() );
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/test/java/org/apache/archiva/rss/RssFeedGeneratorTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/test/java/org/apache/archiva/rss/RssFeedGeneratorTest.java?rev=679754&r1=679753&r2=679754&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/test/java/org/apache/archiva/rss/RssFeedGeneratorTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/test/java/org/apache/archiva/rss/RssFeedGeneratorTest.java Fri Jul 25 03:47:53 2008
@@ -81,6 +81,16 @@
assertEquals( "Item 2", syndEntries.get( 1 ).getTitle() );
assertEquals( "Item 3", syndEntries.get( 2 ).getTitle() );
}
+
+ public void testNoDataEntries()
+ throws Exception
+ {
+ List<RssFeedEntry> entries = new ArrayList<RssFeedEntry>();
+ SyndFeed feed =
+ generator.generateFeed( "Test Feed", "The test feed from Archiva.", entries );
+
+ assertNull( feed );
+ }
/*
* this test might need to be removed since
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/rss/RssFeedServlet.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/rss/RssFeedServlet.java?rev=679754&r1=679753&r2=679754&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/rss/RssFeedServlet.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/rss/RssFeedServlet.java Fri Jul 25 03:47:53 2008
@@ -149,9 +149,15 @@
return;
}
- feed = processor.process( map );
+ feed = processor.process( map );
+ if( feed == null )
+ {
+ res.sendError( HttpServletResponse.SC_NO_CONTENT, "No information available." );
+ return;
+ }
+
res.setContentType( MIME_TYPE );
-
+
if ( repoId != null )
{
feed.setLink( req.getRequestURL() + "?repoId=" + repoId );