Author: bentmann Date: Wed Apr 23 10:51:49 2008 New Revision: 650961 URL: http://svn.apache.org/viewvc?rev=650961&view=rev Log: [MCHANGES-110] No issue links generated if ${project.issueManagement.url} empty but issueLinkTemplate provided
Modified: maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesMojo.java maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesReportGenerator.java Modified: maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesMojo.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesMojo.java?rev=650961&r1=650960&r2=650961&view=diff ============================================================================== --- maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesMojo.java (original) +++ maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesMojo.java Wed Apr 23 10:51:49 2008 @@ -102,14 +102,14 @@ { ChangesReportGenerator report = new ChangesReportGenerator( xmlPath, getLog() ); - if ( ( url == null ) || ( url.trim().equals( "" ) ) ) + report.setIssueLink( issueLinkTemplate ); + report.setUrl( url ); + + if ( !report.canGenerateIssueLinks() ) { - getLog().warn( - "No Issue Management/URL defined in pom.xml. Links to your issues will not work correctly." ); + getLog().warn( "No issue management URL defined in POM. Links to your issues will not work correctly." ); } - report.setIssueLink( issueLinkTemplate ); - report.setUrl( url ); report.doGenerateReport( getBundle( locale ), getSink() ); // Copy the images Modified: maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesReportGenerator.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesReportGenerator.java?rev=650961&r1=650960&r2=650961&view=diff ============================================================================== --- maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesReportGenerator.java (original) +++ maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesReportGenerator.java Wed Apr 23 10:51:49 2008 @@ -35,6 +35,17 @@ */ public class ChangesReportGenerator { + + /** + * The token in [EMAIL PROTECTED] #issueLink} denoting the base URL for the issue management. + */ + private static final String URL_TOKEN = "%URL%"; + + /** + * The token in [EMAIL PROTECTED] #issueLink} denoting the issue ID. + */ + private static final String ISSUE_TOKEN = "%ISSUE%"; + private ChangesXML report; private String issueLink; @@ -70,6 +81,17 @@ return url; } + /** + * Checks whether links to the issues can be generated. + * + * @return <code>true</code> if issue links can be generated, <code>false</code> otherwise. + */ + public boolean canGenerateIssueLinks() + { + return !StringUtils.isBlank( getIssueLink() ) + && ( !StringUtils.isBlank( getUrl() ) || getIssueLink().indexOf( URL_TOKEN ) < 0 ); + } + public void doGenerateEmptyReport( ResourceBundle bundle, Sink sink, String message ) { sinkBeginReport( sink, bundle ); @@ -120,7 +142,7 @@ { sink.text( " " + bundle.getString( "report.changes.text.fixes" ) + " " ); - if ( StringUtils.isEmpty( url ) ) + if ( !canGenerateIssueLinks() ) { sink.text( action.getIssue() ); @@ -234,13 +256,15 @@ private String parseIssueLink( String issue ) { - String parseLink = ""; - - String url = this.url.substring( 0, this.url.lastIndexOf( "/" ) ); + String parseLink; - parseLink = this.issueLink.replaceFirst( "%ISSUE%", issue ); + parseLink = this.issueLink.replaceFirst( ISSUE_TOKEN, issue ); - parseLink = parseLink.replaceFirst( "%URL%", url ); + if ( parseLink.indexOf( URL_TOKEN ) >= 0 ) + { + String url = this.url.substring( 0, this.url.lastIndexOf( "/" ) ); + parseLink = parseLink.replaceFirst( URL_TOKEN, url ); + } return parseLink; }