Skip to content

Commit

Permalink
Add support for custom vote labels
Browse files Browse the repository at this point in the history
  • Loading branch information
andras-petres-ullink authored and gc-itiviti committed Sep 9, 2020
1 parent 40761a0 commit d76fa67
Show file tree
Hide file tree
Showing 26 changed files with 1,295 additions and 466 deletions.
6 changes: 2 additions & 4 deletions build-config/swe_checkstyle.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<property name="severity" value="error"/>
<module name="FileLength">
<!-- TODO: Need refactoring -->
<property name="max" value="2500"/>
<property name="max" value="2550"/>
</module>
<module name="FileTabCharacter">
<property name="fileExtensions" value="java,groovy,jelly,xml,html,js,css"/>
Expand Down Expand Up @@ -43,7 +43,7 @@
<module name="RedundantImport"/>
<module name="UnusedImports"/>
<module name="LineLength">
<property name="max" value="121"/>
<property name="max" value="144"/>
</module>
<module name="MethodLength"/>
<module name="EmptyForIteratorPad"/>
Expand Down Expand Up @@ -74,15 +74,13 @@
<module name="LeftCurly"/>
<module name="NeedBraces"/>
<module name="RightCurly"/>
<module name="AvoidInlineConditionals"/>
<module name="EmptyStatement"/>
<module name="EqualsHashCode"/>
<module name="HiddenField">
<property name="ignoreSetter" value="true"/>
<property name="ignoreConstructorParameter" value="true"/>
</module>
<module name="IllegalInstantiation"/>
<module name="InnerAssignment"/>
<module name="MagicNumber"/>
<module name="MissingSwitchDefault"/>
<module name="SimplifyBooleanExpression"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -432,8 +432,8 @@ public void start() {
categories = new LinkedList<VerdictCategory>();
}
if (categories.isEmpty()) {
categories.add(new VerdictCategory("Code-Review", "Code Review"));
categories.add(new VerdictCategory("Verified", "Verified"));
categories.add(new VerdictCategory(Config.CODE_REVIEW, Config.CODE_REVIEW));
categories.add(new VerdictCategory(Config.VERIFIED, Config.VERIFIED));
}
config.setCategories(categories);
gerritEventManager = PluginImpl.getHandler_();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,12 @@
*/
package com.sonyericsson.hudson.plugins.gerrit.trigger;

import java.util.Objects;
import hudson.Extension;
import hudson.model.AbstractDescribableImpl;
import hudson.model.Descriptor;
import net.sf.json.JSONObject;
import com.sonyericsson.hudson.plugins.gerrit.trigger.config.Config;

/**
* A verdict category for setting comments in Gerrit, i.e. code-review, verify
Expand All @@ -36,15 +38,78 @@ public class VerdictCategory extends AbstractDescribableImpl<VerdictCategory> {

private String verdictValue;
private String verdictDescription;
private Integer defaultBuildStartedReportingValue;
private Integer defaultBuildSuccessfulReportingValue;
private Integer defaultBuildFailedReportingValue;
private Integer defaultBuildUnstableReportingValue;
private Integer defaultBuildNotBuiltReportingValue;

/**
* Standard constructor.
*
* @param value the value in Gerrit for the verdict category.
* @param description the text describing the verdict category.
*/
public VerdictCategory(String value, String description) {
verdictValue = value;
verdictDescription = description;
defaultBuildStartedReportingValue = 0;
defaultBuildSuccessfulReportingValue = 0;
defaultBuildFailedReportingValue = 0;
defaultBuildUnstableReportingValue = 0;
defaultBuildNotBuiltReportingValue = 0;
}

/**
* Standard constructor with custom reporting votes.
*
* @param verdictValue name of VerdictCategory.
* @param verdictDescription description of VerdictCategory.
* @param defaultBuildStartedReportingValue Default build started vote value of VerdictCategory
* @param defaultBuildSuccessfulReportingValue Default build successful vote value of VerdictCategory
* @param defaultBuildFailedReportingValue Default build failed vote value of VerdictCategory
* @param defaultBuildUnstableReportingValue Default build unstable vote value of VerdictCategory
* @param defaultBuildNotBuiltReportingValue Default build not built vote value of VerdictCategory
*/
public VerdictCategory(String verdictValue, String verdictDescription,
Integer defaultBuildStartedReportingValue,
Integer defaultBuildSuccessfulReportingValue,
Integer defaultBuildFailedReportingValue,
Integer defaultBuildUnstableReportingValue,
Integer defaultBuildNotBuiltReportingValue) {
this.verdictValue = verdictValue;
this.verdictDescription = verdictDescription;
this.defaultBuildStartedReportingValue = defaultBuildStartedReportingValue;
this.defaultBuildSuccessfulReportingValue = defaultBuildSuccessfulReportingValue;
this.defaultBuildFailedReportingValue = defaultBuildFailedReportingValue;
this.defaultBuildUnstableReportingValue = defaultBuildUnstableReportingValue;
this.defaultBuildNotBuiltReportingValue = defaultBuildNotBuiltReportingValue;
}

/**
* Creates a VerdictCategory from a JSONObject.
*
* @param obj the JSONObject.
* @param topLevelObj the outer JSONObject.
* @return a VerdictCategory.
*/
public static VerdictCategory fromJSON(JSONObject obj, JSONObject topLevelObj) {
String value = obj.getString("verdictValue");
String description = obj.getString("verdictDescription");
Integer defaultBuildStartedReportingValue = topLevelObj.containsKey(value + "Started")
? Config.getIntegerFromString(topLevelObj.getString(value + "Started")) : null;
Integer defaultBuildSuccessfulReportingValue = topLevelObj.containsKey(value + "Successful")
? Config.getIntegerFromString(topLevelObj.getString(value + "Successful")) : null;
Integer defaultBuildFailedReportingValue = topLevelObj.containsKey(value + "Failed")
? Config.getIntegerFromString(topLevelObj.getString(value + "Failed")) : null;
Integer defaultBuildUnstableReportingValue = topLevelObj.containsKey(value + "Unstable")
? Config.getIntegerFromString(topLevelObj.getString(value + "Unstable")) : null;
Integer defaultBuildNotBuiltReportingValue = topLevelObj.containsKey(value + "Not Built")
? Config.getIntegerFromString(topLevelObj.getString(value + "Not Built")) : null;

return new VerdictCategory(value, description, defaultBuildStartedReportingValue,
defaultBuildSuccessfulReportingValue, defaultBuildFailedReportingValue,
defaultBuildUnstableReportingValue, defaultBuildNotBuiltReportingValue);
}

/**
Expand All @@ -64,14 +129,118 @@ public String getVerdictDescription() {
}

/**
* Creates a VerdictCategory from a JSONObject.
* @param obj the JSONObject.
* @return a VerdictCategory.
* Standard getter for the build started reporting value.
*
* @return the description.
*/
public static VerdictCategory createVerdictCategoryFromJSON(JSONObject obj) {
String value = obj.getString("verdictValue");
String description = obj.getString("verdictDescription");
return new VerdictCategory(value, description);
public Integer getDefaultBuildStartedReportingValue() {
return defaultBuildStartedReportingValue;
}

/**
* Standard setter for the build started reporting value.
*
* @param defaultBuildStartedReportingValue the default build started reporting value
*/
public void setDefaultBuildStartedReportingValue(Integer defaultBuildStartedReportingValue) {
this.defaultBuildStartedReportingValue = defaultBuildStartedReportingValue;
}

/**
* Standard getter for the build successful reporting value.
*
* @return the description.
*/
public Integer getDefaultBuildSuccessfulReportingValue() {
return defaultBuildSuccessfulReportingValue;
}

/**
* Standard setter for the build successful reporting value.
*
* @param defaultBuildSuccessfulReportingValue the default build successful reporting value
*/
public void setDefaultBuildSuccessfulReportingValue(Integer defaultBuildSuccessfulReportingValue) {
this.defaultBuildSuccessfulReportingValue = defaultBuildSuccessfulReportingValue;
}

/**
* Standard getter for the build failed reporting value.
*
* @return the description.
*/
public Integer getDefaultBuildFailedReportingValue() {
return defaultBuildFailedReportingValue;
}

/**
* Standard setter for the build failed reporting value.
*
* @param defaultBuildFailedReportingValue the default build failed reporting value
*/
public void setDefaultBuildFailedReportingValue(Integer defaultBuildFailedReportingValue) {
this.defaultBuildFailedReportingValue = defaultBuildFailedReportingValue;
}

/**
* Standard getter for the build unstable reporting value.
*
* @return the description.
*/
public Integer getDefaultBuildUnstableReportingValue() {
return defaultBuildUnstableReportingValue;
}

/**
* Standard setter for the build unstable reporting value.
*
* @param defaultBuildUnstableReportingValue the default build unstable reporting value
*/
public void setDefaultBuildUnstableReportingValue(Integer defaultBuildUnstableReportingValue) {
this.defaultBuildUnstableReportingValue = defaultBuildUnstableReportingValue;
}

/**
* Standard getter for the build not built reporting value.
*
* @return the description.
*/
public Integer getDefaultBuildNotBuiltReportingValue() {
return defaultBuildNotBuiltReportingValue;
}

/**
* Standard setter for the build not built reporting value.
*
* @param defaultBuildNotBuiltReportingValue the default build not built reporting value
*/
public void setDefaultBuildNotBuiltReportingValue(Integer defaultBuildNotBuiltReportingValue) {
this.defaultBuildNotBuiltReportingValue = defaultBuildNotBuiltReportingValue;
}

@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}

VerdictCategory category = (VerdictCategory)o;

return verdictValue != null ? verdictValue.equals(category.verdictValue) : category.verdictValue == null;
}

@Override public int hashCode() {
return Objects
.hash(verdictValue,
verdictDescription,
defaultBuildStartedReportingValue,
defaultBuildSuccessfulReportingValue,
defaultBuildFailedReportingValue,
defaultBuildUnstableReportingValue,
defaultBuildNotBuiltReportingValue);
}

/**
Expand Down
Loading

0 comments on commit d76fa67

Please sign in to comment.