You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2008/04/23 19:51:50 UTC

svn commit: r650961 - in /maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes: ChangesMojo.java ChangesReportGenerator.java

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 {@link #issueLink} denoting the base URL for the issue management.
+     */
+    private static final String URL_TOKEN = "%URL%";
+
+    /**
+     * The token in {@link #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;
     }