Commit bef6b6de authored by Philippe Vienne's avatar Philippe Vienne Committed by Greg Messner
Browse files

Improve support for EventChange objects (#362)

* Set visible the event name on web hooks
* Add state to possible event changes
* Add support for arbitrary elements inside EventChange JSON object
parent b25df344
package org.gitlab4j.api.webhook; package org.gitlab4j.api.webhook;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.LinkedHashMap;
import java.util.List;
import org.gitlab4j.api.models.Assignee; import java.util.Map;
import org.gitlab4j.api.utils.JacksonJson;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
public class EventChanges { import com.fasterxml.jackson.annotation.JsonAnySetter;
import org.gitlab4j.api.models.Assignee;
private ChangeContainer<Date> updatedAt; import org.gitlab4j.api.utils.JacksonJson;
private ChangeContainer<Integer> updatedById;
private ChangeContainer<Date> dueDate; public class EventChanges {
private ChangeContainer<Integer> milestoneId;
private ChangeContainer<List<EventLabel>> labels; private ChangeContainer<String> state;
private ChangeContainer<List<Assignee>> assignees; private ChangeContainer<Date> updatedAt;
private ChangeContainer<Integer> totalTimeSpent; private ChangeContainer<Integer> updatedById;
private ChangeContainer<Boolean> confidential; private ChangeContainer<Date> dueDate;
private ChangeContainer<Integer> milestoneId;
public ChangeContainer<Date> getUpdatedAt() { private ChangeContainer<List<EventLabel>> labels;
return updatedAt; private ChangeContainer<List<Assignee>> assignees;
} private ChangeContainer<Integer> totalTimeSpent;
private ChangeContainer<Boolean> confidential;
public void setUpdatedAt(ChangeContainer<Date> updatedAt) { private LinkedHashMap<String, ChangeContainer<Object>> otherProperties = new LinkedHashMap<>();
this.updatedAt = updatedAt;
} public ChangeContainer<Date> getUpdatedAt() {
return updatedAt;
public ChangeContainer<Integer> getUpdatedById() { }
return updatedById;
} public void setUpdatedAt(ChangeContainer<Date> updatedAt) {
this.updatedAt = updatedAt;
public void setUpdatedById(ChangeContainer<Integer> updatedById) { }
this.updatedById = updatedById;
} public ChangeContainer<Integer> getUpdatedById() {
return updatedById;
public ChangeContainer<Date> getDueDate() { }
return dueDate;
} public void setUpdatedById(ChangeContainer<Integer> updatedById) {
this.updatedById = updatedById;
public void setDueDate(ChangeContainer<Date> dueDate) { }
this.dueDate = dueDate;
} public ChangeContainer<Date> getDueDate() {
return dueDate;
public ChangeContainer<Integer> getMilestoneId() { }
return milestoneId;
} public void setDueDate(ChangeContainer<Date> dueDate) {
this.dueDate = dueDate;
public void setMilestoneId(ChangeContainer<Integer> milestoneId) { }
this.milestoneId = milestoneId;
} public ChangeContainer<Integer> getMilestoneId() {
return milestoneId;
public ChangeContainer<List<EventLabel>> getLabels() { }
return labels;
} public void setMilestoneId(ChangeContainer<Integer> milestoneId) {
this.milestoneId = milestoneId;
public void setLabels(ChangeContainer<List<EventLabel>> labels) { }
this.labels = labels;
} public ChangeContainer<List<EventLabel>> getLabels() {
return labels;
public ChangeContainer<List<Assignee>> getAssignees() { }
return assignees;
} public void setLabels(ChangeContainer<List<EventLabel>> labels) {
this.labels = labels;
public void setAssignees(ChangeContainer<List<Assignee>> assignees) { }
this.assignees = assignees;
} public ChangeContainer<List<Assignee>> getAssignees() {
return assignees;
public ChangeContainer<Integer> getTotalTimeSpent() { }
return totalTimeSpent;
} public void setAssignees(ChangeContainer<List<Assignee>> assignees) {
this.assignees = assignees;
public void setTotalTimeSpent(ChangeContainer<Integer> totalTimeSpent) { }
this.totalTimeSpent = totalTimeSpent;
} public ChangeContainer<Integer> getTotalTimeSpent() {
return totalTimeSpent;
public ChangeContainer<Boolean> getConfidential() { }
return confidential;
} public void setTotalTimeSpent(ChangeContainer<Integer> totalTimeSpent) {
this.totalTimeSpent = totalTimeSpent;
public void setConfidential(ChangeContainer<Boolean> confidential) { }
this.confidential = confidential;
} public ChangeContainer<Boolean> getConfidential() {
return confidential;
@Override }
public String toString() {
return (JacksonJson.toJsonString(this)); public void setConfidential(ChangeContainer<Boolean> confidential) {
} this.confidential = confidential;
} }
public ChangeContainer<String> getState() {
return state;
}
public void setState(ChangeContainer<String> state) {
this.state = state;
}
public <T> ChangeContainer<T> get(String property){
if(otherProperties.containsKey(property)){
try {
final ChangeContainer<Object> container = otherProperties.get(property);
//noinspection unchecked It's duty from caller to be sure to do that
return container != null ? (ChangeContainer<T>) container : null;
} catch (ClassCastException e) {
return null;
}
} else {
return null;
}
}
@JsonAnyGetter
public Map<String, ChangeContainer<Object>> any() {
return this.otherProperties;
}
@JsonAnySetter
public void set(String name, ChangeContainer<Object> value) {
otherProperties.put(name, value);
}
@Override
public String toString() {
return (JacksonJson.toJsonString(this));
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment