23
23
*/
24
24
package com .sonyericsson .hudson .plugins .gerrit .trigger ;
25
25
26
+ import java .util .Objects ;
26
27
import hudson .Extension ;
27
28
import hudson .model .AbstractDescribableImpl ;
28
29
import hudson .model .Descriptor ;
29
30
import net .sf .json .JSONObject ;
31
+ import com .sonyericsson .hudson .plugins .gerrit .trigger .config .Config ;
30
32
31
33
/**
32
34
* A verdict category for setting comments in Gerrit, i.e. code-review, verify
@@ -36,15 +38,78 @@ public class VerdictCategory extends AbstractDescribableImpl<VerdictCategory> {
36
38
37
39
private String verdictValue ;
38
40
private String verdictDescription ;
41
+ private Integer defaultBuildStartedReportingValue ;
42
+ private Integer defaultBuildSuccessfulReportingValue ;
43
+ private Integer defaultBuildFailedReportingValue ;
44
+ private Integer defaultBuildUnstableReportingValue ;
45
+ private Integer defaultBuildNotBuiltReportingValue ;
39
46
40
47
/**
41
48
* Standard constructor.
49
+ *
42
50
* @param value the value in Gerrit for the verdict category.
43
51
* @param description the text describing the verdict category.
44
52
*/
45
53
public VerdictCategory (String value , String description ) {
46
54
verdictValue = value ;
47
55
verdictDescription = description ;
56
+ defaultBuildStartedReportingValue = 0 ;
57
+ defaultBuildSuccessfulReportingValue = 0 ;
58
+ defaultBuildFailedReportingValue = 0 ;
59
+ defaultBuildUnstableReportingValue = 0 ;
60
+ defaultBuildNotBuiltReportingValue = 0 ;
61
+ }
62
+
63
+ /**
64
+ * Standard constructor with custom reporting votes.
65
+ *
66
+ * @param verdictValue name of VerdictCategory.
67
+ * @param verdictDescription description of VerdictCategory.
68
+ * @param defaultBuildStartedReportingValue Default build started vote value of VerdictCategory
69
+ * @param defaultBuildSuccessfulReportingValue Default build successful vote value of VerdictCategory
70
+ * @param defaultBuildFailedReportingValue Default build failed vote value of VerdictCategory
71
+ * @param defaultBuildUnstableReportingValue Default build unstable vote value of VerdictCategory
72
+ * @param defaultBuildNotBuiltReportingValue Default build not built vote value of VerdictCategory
73
+ */
74
+ public VerdictCategory (String verdictValue , String verdictDescription ,
75
+ Integer defaultBuildStartedReportingValue ,
76
+ Integer defaultBuildSuccessfulReportingValue ,
77
+ Integer defaultBuildFailedReportingValue ,
78
+ Integer defaultBuildUnstableReportingValue ,
79
+ Integer defaultBuildNotBuiltReportingValue ) {
80
+ this .verdictValue = verdictValue ;
81
+ this .verdictDescription = verdictDescription ;
82
+ this .defaultBuildStartedReportingValue = defaultBuildStartedReportingValue ;
83
+ this .defaultBuildSuccessfulReportingValue = defaultBuildSuccessfulReportingValue ;
84
+ this .defaultBuildFailedReportingValue = defaultBuildFailedReportingValue ;
85
+ this .defaultBuildUnstableReportingValue = defaultBuildUnstableReportingValue ;
86
+ this .defaultBuildNotBuiltReportingValue = defaultBuildNotBuiltReportingValue ;
87
+ }
88
+
89
+ /**
90
+ * Creates a VerdictCategory from a JSONObject.
91
+ *
92
+ * @param obj the JSONObject.
93
+ * @param topLevelObj the outer JSONObject.
94
+ * @return a VerdictCategory.
95
+ */
96
+ public static VerdictCategory fromJSON (JSONObject obj , JSONObject topLevelObj ) {
97
+ String value = obj .getString ("verdictValue" );
98
+ String description = obj .getString ("verdictDescription" );
99
+ Integer defaultBuildStartedReportingValue = topLevelObj .containsKey (value + "Started" )
100
+ ? Config .getIntegerFromString (topLevelObj .getString (value + "Started" )) : null ;
101
+ Integer defaultBuildSuccessfulReportingValue = topLevelObj .containsKey (value + "Successful" )
102
+ ? Config .getIntegerFromString (topLevelObj .getString (value + "Successful" )) : null ;
103
+ Integer defaultBuildFailedReportingValue = topLevelObj .containsKey (value + "Failed" )
104
+ ? Config .getIntegerFromString (topLevelObj .getString (value + "Failed" )) : null ;
105
+ Integer defaultBuildUnstableReportingValue = topLevelObj .containsKey (value + "Unstable" )
106
+ ? Config .getIntegerFromString (topLevelObj .getString (value + "Unstable" )) : null ;
107
+ Integer defaultBuildNotBuiltReportingValue = topLevelObj .containsKey (value + "Not Built" )
108
+ ? Config .getIntegerFromString (topLevelObj .getString (value + "Not Built" )) : null ;
109
+
110
+ return new VerdictCategory (value , description , defaultBuildStartedReportingValue ,
111
+ defaultBuildSuccessfulReportingValue , defaultBuildFailedReportingValue ,
112
+ defaultBuildUnstableReportingValue , defaultBuildNotBuiltReportingValue );
48
113
}
49
114
50
115
/**
@@ -64,14 +129,118 @@ public String getVerdictDescription() {
64
129
}
65
130
66
131
/**
67
- * Creates a VerdictCategory from a JSONObject .
68
- * @param obj the JSONObject.
69
- * @return a VerdictCategory .
132
+ * Standard getter for the build started reporting value .
133
+ *
134
+ * @return the description .
70
135
*/
71
- public static VerdictCategory createVerdictCategoryFromJSON (JSONObject obj ) {
72
- String value = obj .getString ("verdictValue" );
73
- String description = obj .getString ("verdictDescription" );
74
- return new VerdictCategory (value , description );
136
+ public Integer getDefaultBuildStartedReportingValue () {
137
+ return defaultBuildStartedReportingValue ;
138
+ }
139
+
140
+ /**
141
+ * Standard setter for the build started reporting value.
142
+ *
143
+ * @param defaultBuildStartedReportingValue the default build started reporting value
144
+ */
145
+ public void setDefaultBuildStartedReportingValue (Integer defaultBuildStartedReportingValue ) {
146
+ this .defaultBuildStartedReportingValue = defaultBuildStartedReportingValue ;
147
+ }
148
+
149
+ /**
150
+ * Standard getter for the build successful reporting value.
151
+ *
152
+ * @return the description.
153
+ */
154
+ public Integer getDefaultBuildSuccessfulReportingValue () {
155
+ return defaultBuildSuccessfulReportingValue ;
156
+ }
157
+
158
+ /**
159
+ * Standard setter for the build successful reporting value.
160
+ *
161
+ * @param defaultBuildSuccessfulReportingValue the default build successful reporting value
162
+ */
163
+ public void setDefaultBuildSuccessfulReportingValue (Integer defaultBuildSuccessfulReportingValue ) {
164
+ this .defaultBuildSuccessfulReportingValue = defaultBuildSuccessfulReportingValue ;
165
+ }
166
+
167
+ /**
168
+ * Standard getter for the build failed reporting value.
169
+ *
170
+ * @return the description.
171
+ */
172
+ public Integer getDefaultBuildFailedReportingValue () {
173
+ return defaultBuildFailedReportingValue ;
174
+ }
175
+
176
+ /**
177
+ * Standard setter for the build failed reporting value.
178
+ *
179
+ * @param defaultBuildFailedReportingValue the default build failed reporting value
180
+ */
181
+ public void setDefaultBuildFailedReportingValue (Integer defaultBuildFailedReportingValue ) {
182
+ this .defaultBuildFailedReportingValue = defaultBuildFailedReportingValue ;
183
+ }
184
+
185
+ /**
186
+ * Standard getter for the build unstable reporting value.
187
+ *
188
+ * @return the description.
189
+ */
190
+ public Integer getDefaultBuildUnstableReportingValue () {
191
+ return defaultBuildUnstableReportingValue ;
192
+ }
193
+
194
+ /**
195
+ * Standard setter for the build unstable reporting value.
196
+ *
197
+ * @param defaultBuildUnstableReportingValue the default build unstable reporting value
198
+ */
199
+ public void setDefaultBuildUnstableReportingValue (Integer defaultBuildUnstableReportingValue ) {
200
+ this .defaultBuildUnstableReportingValue = defaultBuildUnstableReportingValue ;
201
+ }
202
+
203
+ /**
204
+ * Standard getter for the build not built reporting value.
205
+ *
206
+ * @return the description.
207
+ */
208
+ public Integer getDefaultBuildNotBuiltReportingValue () {
209
+ return defaultBuildNotBuiltReportingValue ;
210
+ }
211
+
212
+ /**
213
+ * Standard setter for the build not built reporting value.
214
+ *
215
+ * @param defaultBuildNotBuiltReportingValue the default build not built reporting value
216
+ */
217
+ public void setDefaultBuildNotBuiltReportingValue (Integer defaultBuildNotBuiltReportingValue ) {
218
+ this .defaultBuildNotBuiltReportingValue = defaultBuildNotBuiltReportingValue ;
219
+ }
220
+
221
+ @ Override
222
+ public boolean equals (Object o ) {
223
+ if (this == o ) {
224
+ return true ;
225
+ }
226
+ if (o == null || getClass () != o .getClass ()) {
227
+ return false ;
228
+ }
229
+
230
+ VerdictCategory category = (VerdictCategory )o ;
231
+
232
+ return verdictValue != null ? verdictValue .equals (category .verdictValue ) : category .verdictValue == null ;
233
+ }
234
+
235
+ @ Override public int hashCode () {
236
+ return Objects
237
+ .hash (verdictValue ,
238
+ verdictDescription ,
239
+ defaultBuildStartedReportingValue ,
240
+ defaultBuildSuccessfulReportingValue ,
241
+ defaultBuildFailedReportingValue ,
242
+ defaultBuildUnstableReportingValue ,
243
+ defaultBuildNotBuiltReportingValue );
75
244
}
76
245
77
246
/**
0 commit comments