You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by vs...@apache.org on 2008/02/18 12:47:07 UTC

svn commit: r628688 - in /maven/plugins/trunk/maven-project-info-reports-plugin: pom.xml src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java src/test/java/org/apache/maven/report/projectinfo/MailingListsReportTest.java

Author: vsiveton
Date: Mon Feb 18 03:46:58 2008
New Revision: 628688

URL: http://svn.apache.org/viewvc?rev=628688&view=rev
Log:
MPIR-84: StringIndexOutOfBoundsException when ML archive dont finish with a /

o fixed and add a test case

Modified:
    maven/plugins/trunk/maven-project-info-reports-plugin/pom.xml
    maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java
    maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/MailingListsReportTest.java

Modified: maven/plugins/trunk/maven-project-info-reports-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/pom.xml?rev=628688&r1=628687&r2=628688&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/pom.xml Mon Feb 18 03:46:58 2008
@@ -303,6 +303,11 @@
       <version>1.0</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>junit-addons</groupId>
+      <artifactId>junit-addons</artifactId>
+      <version>1.4</version>
+    </dependency>
   </dependencies>
 
   <properties>

Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java?rev=628688&r1=628687&r2=628688&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java Mon Feb 18 03:46:58 2008
@@ -77,7 +77,7 @@
     // Private
     // ----------------------------------------------------------------------
 
-    private static class MailingListsRenderer
+    protected static class MailingListsRenderer
         extends AbstractMavenReportRenderer
     {
         private Model model;
@@ -271,7 +271,13 @@
             {
                 fromIndex = 0;
             }
+
             int from = uri.indexOf( "/", fromIndex );
+
+            if ( from == -1 )
+            {
+                return uri.substring( at + 2 );
+            }
 
             return uri.substring( at + 2, from );
         }

Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/MailingListsReportTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/MailingListsReportTest.java?rev=628688&r1=628687&r2=628688&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/MailingListsReportTest.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/MailingListsReportTest.java Mon Feb 18 03:46:58 2008
@@ -22,6 +22,10 @@
 import java.net.URL;
 import java.util.Locale;
 
+import org.apache.maven.report.projectinfo.MailingListsReport.MailingListsRenderer;
+
+import junitx.util.PrivateAccessor;
+
 import com.meterware.httpunit.GetMethodWebRequest;
 import com.meterware.httpunit.TextBlock;
 import com.meterware.httpunit.WebConversation;
@@ -94,5 +98,41 @@
         {
             Locale.setDefault( oldLocale );
         }
+    }
+
+    /**
+     * @throws Exception if any
+     * @throws Throwable if any
+     */
+    public void testGetArchiveServer()
+        throws Exception, Throwable
+    {
+        String server = "http://mail-archives.apache.org/mod_mbox/maven-announce/";
+        assertEquals( "mail-archives.apache.org", invokeGetArchiveServer( server ) );
+
+        server = "http://mail-archives.apache.org/mod_mbox/maven-announce";
+        assertEquals( "mail-archives.apache.org", invokeGetArchiveServer( server ) );
+
+        server = "http://www.mail-archive.com/announce@maven.apache.org";
+        assertEquals( "www.mail-archive.com", invokeGetArchiveServer( server ) );
+
+        server = "http://www.nabble.com/Maven-Announcements-f15617.html";
+        assertEquals( "www.nabble.com", invokeGetArchiveServer( server ) );
+
+        server = "http://maven.announce.markmail.org/";
+        assertEquals( "maven.announce.markmail.org", invokeGetArchiveServer( server ) );
+
+        server = "http://maven.announce.markmail.org";
+        assertEquals( "maven.announce.markmail.org", invokeGetArchiveServer( server ) );
+    }
+
+    /**
+     * @throws Throwable if any
+     */
+    private static String invokeGetArchiveServer( String s )
+        throws Throwable
+    {
+        return (String)PrivateAccessor.invoke( MailingListsRenderer.class, "getArchiveServer",
+                                new Class[] { String.class }, new Object[] { s } );
     }
 }