1 package org.apache.maven.plugin.changes;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.plugin.issues.Issue;
23 import org.apache.maven.plugins.changes.model.Action;
24 import org.apache.maven.plugins.changes.model.Release;
25
26 import java.util.ArrayList;
27 import java.util.HashMap;
28 import java.util.Iterator;
29 import java.util.List;
30 import java.util.Map;
31
32
33
34
35
36
37
38
39
40 public class IssueAdapter
41 {
42
43
44
45
46
47
48
49 public static List getReleases( List issues )
50 {
51
52 Map releasesMap = new HashMap();
53
54
55 for ( int i = 0; i < issues.size(); i++ )
56 {
57 Issue issue = (Issue) issues.get( i );
58
59 if ( issue.getFixVersions() != null )
60 {
61 for ( Iterator iterator = issue.getFixVersions().iterator(); iterator.hasNext(); )
62 {
63 String fixVersion = (String) iterator.next();
64
65
66 Release release = (Release) releasesMap.get( fixVersion );
67 if ( release == null )
68 {
69
70 release = new Release();
71 release.setVersion( fixVersion );
72 releasesMap.put( fixVersion, release );
73 }
74
75
76 Action action = createAction( issue );
77 release.addAction( action );
78 }
79 }
80 }
81
82
83 List releasesList = new ArrayList();
84 for ( Iterator iterator = releasesMap.entrySet().iterator(); iterator.hasNext(); )
85 {
86 Release o = (Release) ( (Map.Entry) iterator.next() ).getValue();
87 releasesList.add( o );
88 }
89 return releasesList;
90 }
91
92
93
94
95
96
97
98 public static Action createAction( Issue issue )
99 {
100 Action action = new Action();
101
102
103 action.setIssue( issue.getKey() );
104
105
106 String type = "";
107 if ( issue.getType().equals( "Bug" ) )
108 {
109 type = "fix";
110 }
111 else if ( issue.getType().equals( "New Feature" ) )
112 {
113 type = "add";
114 }
115 else if ( issue.getType().equals( "Improvement" ) )
116 {
117 type = "update";
118 }
119 action.setType( type );
120
121 action.setDev( issue.getAssignee() );
122
123
124 action.setDueTo( "" );
125
126
127 action.setAction( issue.getSummary() );
128 return action;
129 }
130 }