Author: dennisl
Date: Fri Dec 17 23:00:59 2010
New Revision: 1050525
URL: http://svn.apache.org/viewvc?rev=1050525&view=rev
Log:
[MCHANGES-141] Jira Report fails to pick up issues that contain multiple
fix-for elements.
Submitted by: Mark Derricutt
Reviewed by: Dennis Lundberg
o I needed to add some code in JiraReportGenerator to take care of the
presentation of more than one fixVersion
Modified:
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraIssue.java
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraReportGenerator.java
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraXML.java
Modified:
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraIssue.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraIssue.java?rev=1050525&r1=1050524&r2=1050525&view=diff
==============================================================================
---
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraIssue.java
(original)
+++
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraIssue.java
Fri Dec 17 23:00:59 2010
@@ -31,7 +31,7 @@ public class JiraIssue
{
private String component;
- private String fixVersion;
+ private List fixVersions;
private String key;
@@ -131,14 +131,18 @@ public class JiraIssue
this.component = component;
}
- public String getFixVersion()
+ public List getFixVersions()
{
- return fixVersion;
+ return fixVersions;
}
- public void setFixVersion( String fixVersion )
+ public void addFixVersion( String fixVersion )
{
- this.fixVersion = fixVersion;
+ if ( fixVersions == null )
+ {
+ fixVersions = new ArrayList();
+ }
+ fixVersions.add( fixVersion );
}
public String getPriority()
Modified:
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraReportGenerator.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraReportGenerator.java?rev=1050525&r1=1050524&r2=1050525&view=diff
==============================================================================
---
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraReportGenerator.java
(original)
+++
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraReportGenerator.java
Fri Dec 17 23:00:59 2010
@@ -26,6 +26,7 @@ import org.apache.maven.reporting.MavenR
import java.io.File;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import java.util.ResourceBundle;
@@ -279,7 +280,7 @@ public class JiraReportGenerator
break;
case COLUMN_FIX_VERSION:
- sinkCell( sink, issue.getFixVersion() );
+ sinkCell( sink, printVersions( issue.getFixVersions()
) );
break;
case COLUMN_COMPONENT:
@@ -398,7 +399,7 @@ public class JiraReportGenerator
{
issue = (JiraIssue) allIssues.get( i );
- if ( issue.getFixVersion() != null &&
issue.getFixVersion().equals( releaseVersion ) )
+ if ( issue.getFixVersions() != null &&
issue.getFixVersions().contains( releaseVersion ) )
{
isFound = true;
currentReleaseIssues.add( issue );
@@ -412,4 +413,29 @@ public class JiraReportGenerator
}
return currentReleaseIssues;
}
+
+ /**
+ * Print a list of versions separated by commas.
+ *
+ * @param versions The versions to print
+ * @return A nicely formatted string of version.
+ */
+ private static String printVersions( List versions )
+ {
+ StringBuffer sb = new StringBuffer();
+ if( versions != null )
+ {
+ Iterator iterator = versions.iterator();
+ while ( iterator.hasNext() )
+ {
+ String version = (String) iterator.next();
+ sb.append( version );
+ if ( iterator.hasNext() )
+ {
+ sb.append( ", " );
+ }
+ }
+ }
+ return sb.toString();
+ }
}
Modified:
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraXML.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraXML.java?rev=1050525&r1=1050524&r2=1050525&view=diff
==============================================================================
---
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraXML.java
(original)
+++
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraXML.java
Fri Dec 17 23:00:59 2010
@@ -133,7 +133,7 @@ public class JiraXML
}
else if ( qName.equals( "fixVersion" ) )
{
- issue.setFixVersion( currentElement.toString().trim() );
+ issue.addFixVersion( currentElement.toString().trim() );
}
else if ( qName.equals( "component" ) )
{
@@ -172,21 +172,26 @@ public class JiraXML
{
JiraIssue issue = (JiraIssue) issues.get( i );
// Do NOT create a release for issues that lack a fixVersion
- if ( issue.getFixVersion() != null )
+ if ( issue.getFixVersions() != null )
{
- // Try to get a matching Release from the map
- Release release = (Release) releasesMap.get(
issue.getFixVersion() );
- if ( release == null )
+ for ( Iterator iterator = issue.getFixVersions().iterator();
iterator.hasNext(); )
{
- // Add a new Release to the Map if it wasn't there
- release = new Release();
- release.setVersion( issue.getFixVersion() );
- releasesMap.put( issue.getFixVersion(), release );
- }
+ String fixVersion = (String) iterator.next();
- // Add this issue as an Action to this release
- Action action = createAction( issue );
- release.addAction( action );
+ // Try to get a matching Release from the map
+ Release release = (Release) releasesMap.get( fixVersion );
+ if ( release == null )
+ {
+ // Add a new Release to the Map if it wasn't there
+ release = new Release();
+ release.setVersion( fixVersion );
+ releasesMap.put( fixVersion, release );
+ }
+
+ // Add this issue as an Action to this release
+ Action action = createAction( issue );
+ release.addAction( action );
+ }
}
}