From 3b1f02eb67f044324ad2a96e72138ac97a30e29b Mon Sep 17 00:00:00 2001 From: Greg Messner Date: Tue, 24 Apr 2018 21:39:36 -0700 Subject: [PATCH] Mods to support new fields in v4 project events (#177). --- src/main/java/org/gitlab4j/api/Constants.java | 2 +- .../java/org/gitlab4j/api/models/Event.java | 39 +++++++++++++++++++ .../java/org/gitlab4j/api/models/Note.java | 2 +- .../org/gitlab4j/api/TestGitLabApiBeans.java | 15 +++++++ 4 files changed, 56 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gitlab4j/api/Constants.java b/src/main/java/org/gitlab4j/api/Constants.java index f677edcd..3ebc1560 100644 --- a/src/main/java/org/gitlab4j/api/Constants.java +++ b/src/main/java/org/gitlab4j/api/Constants.java @@ -282,7 +282,7 @@ public interface Constants { /** Enum to use for specifying the event action_type. */ public enum ActionType { - CREATED, UPDATED, CLOSED, REOPENED, PUSHED, COMMENTED, MERGED, JOINED, LEFT, DESTROYED, EXPIRED; + CREATED, UPDATED, CLOSED, REOPENED, PUSHED, COMMENTED, MERGED, JOINED, LEFT, DESTROYED, EXPIRED, REMOVED; private static JacksonJsonEnumHelper enumHelper = new JacksonJsonEnumHelper<>(ActionType.class); diff --git a/src/main/java/org/gitlab4j/api/models/Event.java b/src/main/java/org/gitlab4j/api/models/Event.java index 971c3515..c88a9126 100644 --- a/src/main/java/org/gitlab4j/api/models/Event.java +++ b/src/main/java/org/gitlab4j/api/models/Event.java @@ -1,6 +1,8 @@ package org.gitlab4j.api.models; +import java.util.Date; + import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; @@ -18,9 +20,14 @@ public class Event { private EventData data; private Integer projectId; private Integer targetId; + private Integer targetIid; private String targetTitle; private TargetType targetType; private String title; + private Date createdAt; + + private Note note; + private PushData pushData; public String getActionName() { return actionName; @@ -78,6 +85,14 @@ public class Event { this.targetId = targetId; } + public Integer getTargetIid() { + return targetIid; + } + + public void setTargetIid(Integer targetIid) { + this.targetIid = targetIid; + } + public String getTargetTitle() { return targetTitle; } @@ -101,4 +116,28 @@ public class Event { public void setTitle(String title) { this.title = title; } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Note getNote() { + return note; + } + + public void setNote(Note note) { + this.note = note; + } + + public PushData getPushData() { + return pushData; + } + + public void setPushData(PushData pushData) { + this.pushData = pushData; + } } diff --git a/src/main/java/org/gitlab4j/api/models/Note.java b/src/main/java/org/gitlab4j/api/models/Note.java index ce027eb2..20269779 100644 --- a/src/main/java/org/gitlab4j/api/models/Note.java +++ b/src/main/java/org/gitlab4j/api/models/Note.java @@ -39,7 +39,7 @@ public class Note { public static enum NoteableType { - ISSUE, MERGE_REQUEST, SNIPPET; + COMMIT, ISSUE, MERGE_REQUEST, SNIPPET; private static JacksonJsonEnumHelper enumHelper = new JacksonJsonEnumHelper<>(NoteableType.class, true, true); @JsonCreator diff --git a/src/test/java/org/gitlab4j/api/TestGitLabApiBeans.java b/src/test/java/org/gitlab4j/api/TestGitLabApiBeans.java index d4ee5594..d4f87abc 100644 --- a/src/test/java/org/gitlab4j/api/TestGitLabApiBeans.java +++ b/src/test/java/org/gitlab4j/api/TestGitLabApiBeans.java @@ -296,6 +296,21 @@ public class TestGitLabApiBeans { } } + @Test + public void testProjectEvents() { + + try { + + InputStreamReader reader = new InputStreamReader(GitLabApi.class.getResourceAsStream("project-events.json")); + ObjectMapper objectMapper = jacksonJson.getContext(null); + List events = objectMapper.readValue(reader, new TypeReference>() {}); + assertTrue(compareJson(events, "project-events")); + + } catch (Exception e) { + e.printStackTrace(); + } + } + @Test public void testProtectedBranch() { -- GitLab