Author: epunzalan Date: Tue Apr 11 03:55:02 2006 New Revision: 393180 URL: http://svn.apache.org/viewcvs?rev=393180&view=rev Log: PR: MCHANGELOG-15, MCHANGELOG-16
Fixed IndexOutOfBounds and svn display links Modified: maven/sandbox/plugins/maven-changelog-plugin/src/main/java/org/apache/maven/changelog/ChangeLogReport.java Modified: maven/sandbox/plugins/maven-changelog-plugin/src/main/java/org/apache/maven/changelog/ChangeLogReport.java URL: http://svn.apache.org/viewcvs/maven/sandbox/plugins/maven-changelog-plugin/src/main/java/org/apache/maven/changelog/ChangeLogReport.java?rev=393180&r1=393179&r2=393180&view=diff ============================================================================== --- maven/sandbox/plugins/maven-changelog-plugin/src/main/java/org/apache/maven/changelog/ChangeLogReport.java (original) +++ maven/sandbox/plugins/maven-changelog-plugin/src/main/java/org/apache/maven/changelog/ChangeLogReport.java Tue Apr 11 03:55:02 2006 @@ -179,7 +179,7 @@ * * @parameter expression="${project.scm.url}" */ - private String scmUrl; + protected String scmUrl; /** * The Maven Project Object @@ -241,7 +241,7 @@ * * @parameter expression="${project.scm.url}" */ - private String displayFileDetailUrl; + protected String displayFileDetailUrl; // temporary field holder while generating the report private String rpt_Repository, rpt_OneRepoParam, rpt_MultiRepoParam; @@ -907,6 +907,8 @@ sink.tableHeaderCell_(); sink.tableRow_(); + initReportUrls(); + for ( Iterator i = entries.iterator(); i.hasNext(); ) { ChangeSet entry = (ChangeSet) i.next(); @@ -937,7 +939,6 @@ sink.tableCell_(); sink.tableCell(); - initReportUrls(); //doRevision( entry.getFiles(), bundle, sink ); doChangedFiles( entry.getFiles(), sink ); sink.lineBreak(); @@ -974,10 +975,12 @@ if ( idx > 0 ) { - displayFileDetailUrl = displayFileDetailUrl.substring( 0, idx ); + String fileDetailUrl = displayFileDetailUrl.substring( 0, idx ); String rpt_TmpMultiRepoParam = displayFileDetailUrl.substring( idx + 1 ); + displayFileDetailUrl = fileDetailUrl; + rpt_OneRepoParam = "?" + rpt_TmpMultiRepoParam; rpt_MultiRepoParam = "&" + rpt_TmpMultiRepoParam; @@ -1092,6 +1095,21 @@ linkRev = rpt_Repository + "?cmd=viewBrowseVersion" + module + "&file=" + name + "&version=" + revision; } + } + else if ( connection.startsWith( "scm:svn" )) + { + // idea will be to look for placeholders in URL, then replace them with appropriate values + String url = displayFileDetailUrl + rpt_OneRepoParam; + + url = url.replaceFirst( "([&?]path=)([^&]+|$)", "$1" + name ); + linkFile = url; + + if ( revision != null ) + { + url = url.replaceFirst( "([&?]rev=)([^&]+|$)", "$1" + revision ); + linkRev = url; + } + } else {