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/01/16 19:55:16 UTC

svn commit: r1059633 - in /maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin: announcement/AnnouncementMojo.java jira/AbstractJiraDownloader.java jira/JiraMojo.java jira/JiraXML.java

Author: dennisl
Date: Sun Jan 16 18:55:15 2011
New Revision: 1059633

URL: http://svn.apache.org/viewvc?rev=1059633&view=rev
Log:
o Refactoring: Embed the handling of JiraXML into JiraDownloader.

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/jira/AbstractJiraDownloader.java
    maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraMojo.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/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=1059633&r1=1059632&r2=1059633&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 Jan 16 18:55:15 2011
@@ -622,6 +622,8 @@ public class AnnouncementMojo
 
         jiraDownloader.setJiraPassword( jiraPassword );
 
+        jiraDownloader.setJiraXmlEncoding( jiraXmlEncoding );
+
         jiraDownloader.setWebUser( webUser );
 
         jiraDownloader.setWebPassword( webPassword );
@@ -630,19 +632,16 @@ public class AnnouncementMojo
         {
             jiraDownloader.doExecute();
 
-            if ( jiraXMLFile.exists() )
-            {
-                JiraXML jiraParser = new JiraXML( jiraXMLFile, jiraXmlEncoding, getLog(), null );
-
-                List issues = jiraParser.getIssueList();
+            List issues = jiraDownloader.getIssueList();
 
-                return IssueAdapter.getReleases( issues );
+            if ( issues.isEmpty() )
+            {
+                return Collections.EMPTY_LIST;
             }
             else
             {
-                getLog().warn( "jira file " + jiraXMLFile.getPath() + " doesn't exists " );
+                return IssueAdapter.getReleases( issues );
             }
-            return Collections.EMPTY_LIST;
         }
         catch ( Exception e )
         {

Modified: maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/AbstractJiraDownloader.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/AbstractJiraDownloader.java?rev=1059633&r1=1059632&r2=1059633&view=diff
==============================================================================
--- maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/AbstractJiraDownloader.java (original)
+++ maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/AbstractJiraDownloader.java Sun Jan 16 18:55:15 2011
@@ -45,7 +45,9 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.URLEncoder;
+import java.util.Collections;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 
@@ -104,6 +106,10 @@ public abstract class AbstractJiraDownlo
     protected Map priorityMap = new HashMap();
     /** Mapping containing all allowed JIRA type values. */
     protected Map typeMap = new HashMap();
+    /** The pattern used to parse dates from the JIRA xml file. */
+    private String jiraDatePattern;
+    /** The encoding used to read the JIRA XML file. */
+    private String jiraXmlEncoding;
 
     /**
      * Creates a filter given the parameters and some defaults.
@@ -741,6 +747,28 @@ public abstract class AbstractJiraDownlo
         }
     }
 
+    public List getIssueList() {
+        if ( output.isFile() )
+        {
+            JiraXML jira = new JiraXML( output, jiraXmlEncoding, log, jiraDatePattern );
+            return jira.getIssueList();
+        }
+        else {
+            getLog().warn( "JIRA file " + output.getPath() + " doesn't exist." );
+            return Collections.EMPTY_LIST;
+        }
+    }
+
+    public void setJiraDatePattern( String jiraDatePattern )
+    {
+        this.jiraDatePattern = jiraDatePattern;
+    }
+
+    public void setJiraXmlEncoding( String jiraXmlEncoding )
+    {
+        this.jiraXmlEncoding = jiraXmlEncoding;
+    }
+
     /**
      * Set the output file for the log.
      *

Modified: maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraMojo.java?rev=1059633&r1=1059632&r2=1059633&view=diff
==============================================================================
--- maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraMojo.java (original)
+++ maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraMojo.java Sun Jan 16 18:55:15 2011
@@ -289,34 +289,31 @@ public class JiraMojo
                 "maven-changes-plugin: None of the configured columnNames '" + columnNames + "' are valid." );
         }
 
-        // Download issues
-        JiraDownloader issueDownloader = new JiraDownloader();
-        configureIssueDownloader( issueDownloader );
-
-        // Generate the report
-        IssuesReportGenerator report;
-        report = new IssuesReportGenerator( IssuesReportHelper.toIntArray( columnIds ) );
-
         try
         {
+            // Download issues
+            JiraDownloader issueDownloader = new JiraDownloader();
+            configureIssueDownloader( issueDownloader );
             issueDownloader.doExecute();
 
-            if ( jiraXmlPath.isFile() )
+            List issueList = issueDownloader.getIssueList();
+
+            if ( onlyCurrentVersion )
             {
-                JiraXML jira = new JiraXML( jiraXmlPath, jiraXmlEncoding, getLog(), jiraDatePattern );
-                List issueList = jira.getIssueList();
+                issueList = JiraHelper.getIssuesForVersion( issueList, project.getVersion() );
+                getLog().info( "The JIRA Report will contain issues only for the current version." );
+            }
 
-                if ( onlyCurrentVersion )
-                {
-                    issueList = JiraHelper.getIssuesForVersion( issueList, project.getVersion() );
-                    getLog().info( "The JIRA Report will contain issues only for the current version." );
-                }
+            // Generate the report
+            IssuesReportGenerator report = new IssuesReportGenerator( IssuesReportHelper.toIntArray( columnIds ) );
 
-                report.doGenerateReport( getBundle( locale ), getSink(), issueList );
+            if ( issueList.isEmpty() )
+            {
+                report.doGenerateEmptyReport( getBundle( locale ), getSink() );
             }
             else
             {
-                report.doGenerateEmptyReport( getBundle( locale ), getSink() );
+                report.doGenerateReport( getBundle( locale ), getSink(), issueList );
             }
         }
         catch ( Exception e )
@@ -369,10 +366,14 @@ public class JiraMojo
 
         issueDownloader.setFilter( filter );
 
+        issueDownloader.setJiraDatePattern( jiraDatePattern );
+
         issueDownloader.setJiraUser( jiraUser );
 
         issueDownloader.setJiraPassword( jiraPassword );
 
+        issueDownloader.setJiraXmlEncoding( jiraXmlEncoding );
+
         issueDownloader.setTypeIds( typeIds );
 
         issueDownloader.setWebUser( webUser );

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=1059633&r1=1059632&r2=1059633&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 Sun Jan 16 18:55:15 2011
@@ -88,7 +88,10 @@ public class JiraXML
 
             fis = new FileInputStream( xmlPath );
             InputSource inputSource = new InputSource( fis );
-            inputSource.setEncoding( encoding );
+            if ( encoding != null )
+            {
+                inputSource.setEncoding( encoding );
+            }
 
             saxParser.parse( inputSource, this );
         }