Author: dennisl
Date: Thu Dec 30 18:35:35 2010
New Revision: 1053970

URL: http://svn.apache.org/viewvc?rev=1053970&view=rev
Log:
o Refactoring: move adapter methods from the XML parser class to its own class.

Added:
    
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraAdapter.java
   (with props)
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/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=1053970&r1=1053969&r2=1053970&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
 Thu Dec 30 18:35:35 2010
@@ -30,6 +30,7 @@ import java.util.Map;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.changes.ChangesXML;
 import org.apache.maven.plugin.changes.ReleaseUtils;
+import org.apache.maven.plugin.jira.JiraAdapter;
 import org.apache.maven.plugin.jira.JiraXML;
 import org.apache.maven.plugins.changes.model.Release;
 import org.apache.maven.project.MavenProject;
@@ -573,7 +574,7 @@ public class AnnouncementMojo
 
                 List issues = jiraParser.getIssueList();
 
-                return JiraXML.getReleases( issues );
+                return JiraAdapter.getReleases( issues );
             }
             else
             {

Added: 
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraAdapter.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraAdapter.java?rev=1053970&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraAdapter.java
 (added)
+++ 
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraAdapter.java
 Thu Dec 30 18:35:35 2010
@@ -0,0 +1,125 @@
+package org.apache.maven.plugin.jira;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.plugins.changes.model.Action;
+import org.apache.maven.plugins.changes.model.Release;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * An adapter that can adapt JIRA specific data models to the data model used
+ * by a changes.xml file.
+ *
+ * @version $Id: JiraAdapter.java 1050925 2010-12-19 18:09:36Z dennisl $
+ */
+public class JiraAdapter
+{
+    /**
+     * Adapt a <code>List</code> of <code>JiraIssue</code>s to a
+     * <code>List</code> of <code>Release</code>s.
+     *
+     * @param issues The JIRA issues
+     * @return A list of releases
+     */
+    public static List getReleases( List issues )
+    {
+        // A Map of releases keyed by fixVersion
+        Map releasesMap = new HashMap();
+
+        // Loop through all issues looking for fixVersions
+        for ( int i = 0; i < issues.size(); i++ )
+        {
+            JiraIssue issue = (JiraIssue) issues.get( i );
+            // Do NOT create a release for issues that lack a fixVersion
+            if ( issue.getFixVersions() != null )
+            {
+                for ( Iterator iterator = issue.getFixVersions().iterator(); 
iterator.hasNext(); )
+                {
+                    String fixVersion = (String) iterator.next();
+
+                    // 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 );
+                }
+            }
+        }
+
+        // Extract the releases from the Map to a List
+        List releasesList = new ArrayList();
+        for ( Iterator iterator = releasesMap.entrySet().iterator(); 
iterator.hasNext(); )
+        {
+            Release o = (Release) ( (Map.Entry) iterator.next() ).getValue();
+            releasesList.add( o );
+        }
+        return releasesList;
+    }
+
+    /**
+     * Create an <code>Action</code> from a JIRA issue.
+     *
+     * @param issue The issue to extract the information from
+     * @return An <code>Action</code>
+     */
+    public static Action createAction( JiraIssue issue )
+    {
+        Action action = new Action();
+
+        action.setIssue( issue.getKey() );
+
+        String type = "";
+        if ( issue.getType().equals( "Bug" ) )
+        {
+            type = "fix";
+        }
+        else if ( issue.getType().equals( "New Feature" ) )
+        {
+            type = "add";
+        }
+        else if ( issue.getType().equals( "Improvement" ) )
+        {
+            type = "update";
+        }
+        action.setType( type );
+
+        action.setDev( issue.getAssignee() );
+
+        // Set dueTo to the empty String instead of null to make Velocity happy
+        action.setDueTo( "" );
+        //action.setDueTo( issue.getReporter() );
+
+        action.setAction( issue.getSummary() );
+        return action;
+    }
+}

Propchange: 
maven/plugins/trunk/maven-changes-plugin/src/main/java/org/apache/maven/plugin/jira/JiraAdapter.java
------------------------------------------------------------------------------
    svn:eol-style = native

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=1053970&r1=1053969&r2=1053970&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
 Thu Dec 30 18:35:35 2010
@@ -161,84 +161,4 @@ public class JiraXML
     {
         return this.issueList;
     }
-
-    public static List getReleases( List issues )
-    {
-        // A Map of releases keyed by fixVersion
-        Map releasesMap = new HashMap();
-
-        // Loop through all issues looking for fixVersions
-        for ( int i = 0; i < issues.size(); i++ )
-        {
-            JiraIssue issue = (JiraIssue) issues.get( i );
-            // Do NOT create a release for issues that lack a fixVersion
-            if ( issue.getFixVersions() != null )
-            {
-                for ( Iterator iterator = issue.getFixVersions().iterator(); 
iterator.hasNext(); )
-                {
-                    String fixVersion = (String) iterator.next();
-
-                    // 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 );
-                }
-            }
-        }
-
-        // Extract the releases from the Map to a List
-        List releasesList = new ArrayList();
-        for ( Iterator iterator = releasesMap.entrySet().iterator(); 
iterator.hasNext(); )
-        {
-            Release o = (Release) ( (Map.Entry) iterator.next() ).getValue();
-            releasesList.add( o );
-        }
-        return releasesList;
-    }
-
-    /**
-     * Create an <code>Action</code> from a JIRA issue.
-     *
-     * @param issue The issue to extract the information from
-     * @return An <code>Action</code>
-     */
-    private static Action createAction( JiraIssue issue )
-    {
-        Action action = new Action();
-
-        action.setIssue( issue.getKey() );
-
-        String type = "";
-        if ( issue.getType().equals( "Bug" ) )
-        {
-            type = "fix";
-        }
-        else if ( issue.getType().equals( "New Feature" ) )
-        {
-            type = "add";
-        }
-        else if ( issue.getType().equals( "Improvement" ) )
-        {
-            type = "update";
-        }
-        action.setType( type );
-
-        action.setDev( issue.getAssignee() );
-
-        // Set dueTo to the empty String instead of null to make Velocity happy
-        action.setDueTo( "" );
-        //action.setDueTo( issue.getReporter() );
-
-        action.setAction( issue.getSummary() );
-        return action;
-    }
 }


Reply via email to