1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.scm.command.changelog;
20
21 import java.text.SimpleDateFormat;
22 import java.util.Date;
23 import java.util.List;
24
25 import org.apache.maven.scm.ChangeSet;
26 import org.apache.maven.scm.ScmVersion;
27
28
29
30
31 public class ChangeLogSet {
32 public static final String DEFAULT_ENCODING = "ISO-8859-1";
33
34 private List<ChangeSet> entries;
35
36 private Date startDate;
37
38 private Date endDate;
39
40 private ScmVersion startVersion;
41
42 private ScmVersion endVersion;
43
44
45
46
47
48
49
50 public ChangeLogSet(Date startDate, Date endDate) {
51 this.startDate = startDate;
52 this.endDate = endDate;
53 }
54
55
56
57
58
59
60
61
62 public ChangeLogSet(List<ChangeSet> entries, Date startDate, Date endDate) {
63 this(startDate, endDate);
64 setChangeSets(entries);
65 }
66
67
68
69
70
71
72 public Date getStartDate() {
73 return startDate;
74 }
75
76
77
78
79
80
81 public Date getEndDate() {
82 return endDate;
83 }
84
85
86
87
88
89
90 public ScmVersion getStartVersion() {
91 return startVersion;
92 }
93
94 public void setStartVersion(ScmVersion startVersion) {
95 this.startVersion = startVersion;
96 }
97
98
99
100
101
102
103 public ScmVersion getEndVersion() {
104 return endVersion;
105 }
106
107 public void setEndVersion(ScmVersion endVersion) {
108 this.endVersion = endVersion;
109 }
110
111
112
113
114
115
116 public List<ChangeSet> getChangeSets() {
117 return entries;
118 }
119
120 public void setChangeSets(List<ChangeSet> changeSets) {
121 this.entries = changeSets;
122 }
123
124
125
126
127
128
129 public String toXML() {
130 return toXML(DEFAULT_ENCODING);
131 }
132
133
134
135
136
137
138
139 public String toXML(String encoding) {
140 String encodingString = encoding;
141
142 if (encodingString == null) {
143 encodingString = DEFAULT_ENCODING;
144 }
145
146 StringBuilder buffer = new StringBuilder();
147 String pattern = "yyyyMMdd HH:mm:ss z";
148 SimpleDateFormat formatter = new SimpleDateFormat(pattern);
149
150 buffer.append("<?xml version=\"1.0\" encoding=\"" + encodingString + "\"?>\n");
151 buffer.append("<changeset datePattern=\"").append(pattern).append("\"");
152
153 if (startDate != null) {
154 buffer.append(" start=\"").append(formatter.format(getStartDate())).append("\"");
155 }
156 if (endDate != null) {
157 buffer.append(" end=\"").append(formatter.format(getEndDate())).append("\"");
158 }
159
160 if (startVersion != null) {
161 buffer.append(" startVersion=\"").append(getStartVersion()).append("\"");
162 }
163 if (endVersion != null) {
164 buffer.append(" endVersion=\"").append(getEndVersion()).append("\"");
165 }
166
167 buffer.append(">\n");
168
169
170 for (ChangeSet changeSet : getChangeSets()) {
171 buffer.append(changeSet.toXML());
172 }
173
174 buffer.append("</changeset>\n");
175
176 return buffer.toString();
177 }
178 }