You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by de...@apache.org on 2011/05/01 17:17:25 UTC
svn commit: r1098351 - in
/maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin:
announcement/AnnouncementMojo.java changes/ChangesCheckMojo.java
changes/IssueAdapter.java changes/ReleaseUtils.java
Author: dennisl
Date: Sun May 1 15:17:25 2011
New Revision: 1098351
URL: http://svn.apache.org/viewvc?rev=1098351&view=rev
Log:
[MCHANGES-210] Update to Java 5
- Start using generics in IssueAdapter and ReleaseUtils.
Modified:
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/announcement/AnnouncementMojo.java
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesCheckMojo.java
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/IssueAdapter.java
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ReleaseUtils.java
Modified: maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/announcement/AnnouncementMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/announcement/AnnouncementMojo.java?rev=1098351&r1=1098350&r2=1098351&view=diff
==============================================================================
--- maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/announcement/AnnouncementMojo.java (original)
+++ maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/announcement/AnnouncementMojo.java Sun May 1 15:17:25 2011
@@ -29,12 +29,11 @@ import java.util.List;
import java.util.Map;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.changes.IssueAdapter;
import org.apache.maven.plugin.changes.ChangesXML;
+import org.apache.maven.plugin.changes.IssueAdapter;
import org.apache.maven.plugin.changes.ProjectUtils;
import org.apache.maven.plugin.changes.ReleaseUtils;
import org.apache.maven.plugin.issues.Issue;
-import org.apache.maven.plugin.jira.JiraXML;
import org.apache.maven.plugin.trac.TracDownloader;
import org.apache.maven.plugins.changes.model.Release;
import org.apache.maven.project.MavenProject;
@@ -428,14 +427,14 @@ public class AnnouncementMojo
}
// Fetch releases from the configured issue management systems
- List releases = null;
+ List<Release> releases = null;
if ( issueManagementSystems.contains( CHANGES_XML ) )
{
if ( getXmlPath().exists() )
{
ChangesXML changesXML = new ChangesXML( getXmlPath(), getLog() );
- List changesReleases = changesXML.getReleaseList();
+ List<Release> changesReleases = releaseUtils.convertReleaseList( changesXML.getReleaseList() );
releases = releaseUtils.mergeReleases( releases, changesReleases );
getLog().info( "Including issues from file " + getXmlPath() + " in announcement..." );
}
@@ -449,7 +448,7 @@ public class AnnouncementMojo
{
if ( ProjectUtils.validateIfIssueManagementComplete( project, JIRA, "JIRA announcement", getLog() ) )
{
- List jiraReleases = getJiraReleases();
+ List<Release> jiraReleases = getJiraReleases();
releases = releaseUtils.mergeReleases( releases, jiraReleases );
getLog().info( "Including issues from JIRA in announcement..." );
}
@@ -464,7 +463,7 @@ public class AnnouncementMojo
{
if ( ProjectUtils.validateIfIssueManagementComplete( project, TRAC, "Trac announcement", getLog() ) )
{
- List tracReleases = getTracReleases();
+ List<Release> tracReleases = getTracReleases();
releases = releaseUtils.mergeReleases( releases, tracReleases );
getLog().info( "Including issues from Trac in announcement..." );
}
@@ -503,13 +502,13 @@ public class AnnouncementMojo
* @param releases A <code>List</code> of <code>Release</code>s
* @throws MojoExecutionException
*/
- public void doGenerate( List releases )
+ public void doGenerate( List<Release> releases )
throws MojoExecutionException
{
doGenerate( releases, releaseUtils.getLatestRelease( releases, getVersion() ) );
}
- protected void doGenerate( List releases, Release release )
+ protected void doGenerate( List<Release> releases, Release release )
throws MojoExecutionException
{
try
@@ -641,7 +640,7 @@ public class AnnouncementMojo
}
}
- protected List getJiraReleases()
+ protected List<Release> getJiraReleases()
throws MojoExecutionException
{
JiraDownloader jiraDownloader = new JiraDownloader();
@@ -684,7 +683,7 @@ public class AnnouncementMojo
}
}
- private List getReleases( List<Issue> issues )
+ private List<Release> getReleases( List<Issue> issues )
{
if ( issues.isEmpty() )
{
@@ -696,7 +695,7 @@ public class AnnouncementMojo
}
}
- protected List getTracReleases()
+ protected List<Release> getTracReleases()
throws MojoExecutionException
{
TracDownloader issueDownloader = new TracDownloader();
Modified: maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesCheckMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesCheckMojo.java?rev=1098351&r1=1098350&r2=1098351&view=diff
==============================================================================
--- maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesCheckMojo.java (original)
+++ maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ChangesCheckMojo.java Sun May 1 15:17:25 2011
@@ -22,6 +22,7 @@ package org.apache.maven.plugin.changes;
import java.io.File;
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.apache.maven.plugin.AbstractMojo;
@@ -76,7 +77,9 @@ public class ChangesCheckMojo extends Ab
if ( xmlPath.exists() )
{
ChangesXML xml = new ChangesXML( xmlPath, getLog() );
- Release release = releaseUtils.getLatestRelease( xml.getReleaseList(), version );
+ ReleaseUtils releaseUtils = new ReleaseUtils( getLog() );
+ Release release = releaseUtils.getLatestRelease( releaseUtils.convertReleaseList( xml.getReleaseList() ),
+ version );
if ( !isValidDate( release.getDateRelease(), releaseDateFormat ) )
{
throw new MojoExecutionException(
Modified: maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/IssueAdapter.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/IssueAdapter.java?rev=1098351&r1=1098350&r2=1098351&view=diff
==============================================================================
--- maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/IssueAdapter.java (original)
+++ maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/IssueAdapter.java Sun May 1 15:17:25 2011
@@ -46,7 +46,7 @@ public class IssueAdapter
* @param issues The issues
* @return A list of releases
*/
- public static List getReleases( List<Issue> issues )
+ public static List<Release> getReleases( List<Issue> issues )
{
// A Map of releases keyed by fixVersion
Map<String,Release> releasesMap = new HashMap<String,Release>();
@@ -77,8 +77,7 @@ public class IssueAdapter
}
// Extract the releases from the Map to a List
- // @todo Generify this list when Modello generates types collections from changes.xml
- List/*<Release>*/ releasesList = new ArrayList/*<Release>*/();
+ List<Release> releasesList = new ArrayList<Release>();
for ( Release release : releasesMap.values() )
{
releasesList.add( release );
Modified: maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ReleaseUtils.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ReleaseUtils.java?rev=1098351&r1=1098350&r2=1098351&view=diff
==============================================================================
--- maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ReleaseUtils.java (original)
+++ maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/changes/ReleaseUtils.java Sun May 1 15:17:25 2011
@@ -56,7 +56,7 @@ public class ReleaseUtils
* @return A <code>Release</code> that matches the next release of the current project
* @throws org.apache.maven.plugin.MojoExecutionException If a release can't be found
*/
- public Release getLatestRelease( List releases, String pomVersion )
+ public Release getLatestRelease( List<Release> releases, String pomVersion )
throws MojoExecutionException
{
// Remove "-SNAPSHOT" from the end, if it's there
@@ -89,12 +89,10 @@ public class ReleaseUtils
* @param version The version we want
* @return A Release, or null if no release with the specified version can be found
*/
- protected Release getRelease( List releases, String version )
+ protected Release getRelease( List<Release> releases, String version )
{
- Release release = null;
- for ( int i = 0; i < releases.size(); i++ )
+ for ( Release release : releases )
{
- release = (Release) releases.get( i );
if ( getLog().isDebugEnabled() )
{
getLog().debug( "The release: " + release.getVersion()
@@ -136,11 +134,11 @@ public class ReleaseUtils
* @param secondReleases Releases from the second issue tracker
* @return A list containing the merged releases
*/
- public List mergeReleases( final List firstReleases, final List secondReleases )
+ public List<Release> mergeReleases( final List<Release> firstReleases, final List<Release> secondReleases )
{
if ( firstReleases == null && secondReleases == null )
{
- return Collections.EMPTY_LIST;
+ return Collections.emptyList();
}
if ( firstReleases == null )
{
@@ -151,14 +149,13 @@ public class ReleaseUtils
return firstReleases;
}
- List mergedReleases = new ArrayList();
+ List<Release> mergedReleases = new ArrayList<Release>();
// Loop through the releases from the first issue tracker, merging in
// actions from releases with the same version from the second issue
// tracker
- for ( Iterator iterator = firstReleases.iterator(); iterator.hasNext(); )
+ for ( Release firstRelease : firstReleases )
{
- Release firstRelease = (Release) iterator.next();
Release secondRelease = getRelease( secondReleases, firstRelease.getVersion() );
if ( secondRelease != null )
{
@@ -171,9 +168,8 @@ public class ReleaseUtils
}
// Handle releases that are only in the second issue tracker
- for ( Iterator iterator = secondReleases.iterator(); iterator.hasNext(); )
+ for ( Release secondRelease : secondReleases )
{
- Release secondRelease = (Release) iterator.next();
Release mergedRelease = getRelease( mergedReleases, secondRelease.getVersion() );
if ( mergedRelease == null )
{
@@ -182,4 +178,25 @@ public class ReleaseUtils
}
return mergedReleases;
}
+
+ /**
+ * Convert an untyped List of Release objects that comes from changes.xml
+ * into a typed List of Release objects.
+ *
+ * @param changesReleases An untyped List of Release objects
+ * @return A type List of Release objects
+ * @todo When Modello can generate typed collections this method is no longer needed
+ */
+ public List<Release> convertReleaseList( List changesReleases ) {
+ List<Release> releases = new ArrayList<Release>();
+
+ // Loop through the List of releases from changes.xml and casting each
+ // release to a Release
+ for ( Iterator iterator = changesReleases.iterator(); iterator.hasNext(); )
+ {
+ Release release = (Release) iterator.next();
+ releases.add( release );
+ }
+ return releases;
+ }
}