Skip to content

Commit afb31a5

Browse files
committed
Create LinkedIssue for endpoint "/projects/:id/issues/:issue_iid/links"
1 parent 30e10c6 commit afb31a5

File tree

7 files changed

+59
-81
lines changed

7 files changed

+59
-81
lines changed

src/main/java/org/gitlab4j/api/IssuesApi.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import org.gitlab4j.api.models.IssuesStatistics;
1818
import org.gitlab4j.api.models.IssuesStatisticsFilter;
1919
import org.gitlab4j.api.models.LinkType;
20+
import org.gitlab4j.api.models.LinkedIssue;
2021
import org.gitlab4j.api.models.MergeRequest;
2122
import org.gitlab4j.api.models.Participant;
2223
import org.gitlab4j.api.models.TimeStats;
@@ -834,7 +835,7 @@ public Stream<MergeRequest> getClosedByMergeRequestsStream(Object projectIdOrPat
834835
* @return a list of related issues of a given issue, sorted by the relationship creation datetime (ascending)
835836
* @throws GitLabApiException if any exception occurs
836837
*/
837-
public List<Issue> getIssueLinks(Object projectIdOrPath, Long issueIid) throws GitLabApiException {
838+
public List<LinkedIssue> getIssueLinks(Object projectIdOrPath, Long issueIid) throws GitLabApiException {
838839
return (getIssueLinks(projectIdOrPath, issueIid, getDefaultPerPage()).all());
839840
}
840841

@@ -852,8 +853,8 @@ public List<Issue> getIssueLinks(Object projectIdOrPath, Long issueIid) throws G
852853
* @return a Pager of related issues of a given issue, sorted by the relationship creation datetime (ascending)
853854
* @throws GitLabApiException if any exception occurs
854855
*/
855-
public Pager<Issue> getIssueLinks(Object projectIdOrPath, Long issueIid, int itemsPerPage) throws GitLabApiException {
856-
return (new Pager<Issue>(this, Issue.class, itemsPerPage, null,
856+
public Pager<LinkedIssue> getIssueLinks(Object projectIdOrPath, Long issueIid, int itemsPerPage) throws GitLabApiException {
857+
return (new Pager<LinkedIssue>(this, LinkedIssue.class, itemsPerPage, null,
857858
"projects", getProjectIdOrPath(projectIdOrPath), "issues", issueIid, "links"));
858859
}
859860

@@ -870,7 +871,7 @@ public Pager<Issue> getIssueLinks(Object projectIdOrPath, Long issueIid, int ite
870871
* @return a Stream of related issues of a given issue, sorted by the relationship creation datetime (ascending)
871872
* @throws GitLabApiException if any exception occurs
872873
*/
873-
public Stream<Issue> getIssueLinksStream(Object projectIdOrPath, Long issueIid) throws GitLabApiException {
874+
public Stream<LinkedIssue> getIssueLinksStream(Object projectIdOrPath, Long issueIid) throws GitLabApiException {
874875
return (getIssueLinks(projectIdOrPath, issueIid, getDefaultPerPage()).stream());
875876
}
876877

src/main/java/org/gitlab4j/api/models/EpicIssue.java

Lines changed: 1 addition & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -8,38 +8,14 @@
88
import com.fasterxml.jackson.annotation.JsonIgnore;
99
import com.fasterxml.jackson.annotation.JsonProperty;
1010

11-
public class EpicIssue extends Issue {
12-
13-
private Integer downvotes;
14-
private Integer upvotes;
11+
public class EpicIssue extends AbstractIssue {
1512

1613
@JsonProperty("_links")
1714
private Map<String, String> links;
1815

19-
private Boolean subscribed;
2016
private Long epicIssueId;
2117
private Integer relativePosition;
2218

23-
@Override
24-
public Integer getDownvotes() {
25-
return downvotes;
26-
}
27-
28-
@Override
29-
public void setDownvotes(Integer downvotes) {
30-
this.downvotes = downvotes;
31-
}
32-
33-
@Override
34-
public Integer getUpvotes() {
35-
return upvotes;
36-
}
37-
38-
@Override
39-
public void setUpvotes(Integer upvotes) {
40-
this.upvotes = upvotes;
41-
}
42-
4319
public Map<String, String> getLinks() {
4420
return links;
4521
}
@@ -57,16 +33,6 @@ public String getLinkByName(String name) {
5733
return (links.get(name));
5834
}
5935

60-
@Override
61-
public Boolean getSubscribed() {
62-
return subscribed;
63-
}
64-
65-
@Override
66-
public void setSubscribed(Boolean subscribed) {
67-
this.subscribed = subscribed;
68-
}
69-
7036
public Long getEpicIssueId() {
7137
return epicIssueId;
7238
}

src/main/java/org/gitlab4j/api/models/Issue.java

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,12 @@
11

22
package org.gitlab4j.api.models;
33

4-
import java.util.Date;
5-
64
import org.gitlab4j.api.utils.JacksonJson;
75

86
public class Issue extends AbstractIssue {
97

108
private Boolean subscribed;
119

12-
private Long issueLinkId;
13-
private LinkType linkType;
14-
private Date linkCreatedAt;
15-
private Date linkUpdatedAt;
16-
1710
public Boolean getSubscribed() {
1811
return subscribed;
1912
}
@@ -22,38 +15,6 @@ public void setSubscribed(Boolean subscribed) {
2215
this.subscribed = subscribed;
2316
}
2417

25-
public Long getIssueLinkId() {
26-
return issueLinkId;
27-
}
28-
29-
public void setIssueLinkId(Long issueLinkId) {
30-
this.issueLinkId = issueLinkId;
31-
}
32-
33-
public LinkType getLinkType() {
34-
return linkType;
35-
}
36-
37-
public void setLinkType(LinkType linkType) {
38-
this.linkType = linkType;
39-
}
40-
41-
public Date getLinkCreatedAt() {
42-
return linkCreatedAt;
43-
}
44-
45-
public void setLinkCreatedAt(Date linkCreatedAt) {
46-
this.linkCreatedAt = linkCreatedAt;
47-
}
48-
49-
public Date getLinkUpdatedAt() {
50-
return linkUpdatedAt;
51-
}
52-
53-
public void setLinkUpdatedAt(Date linkUpdatedAt) {
54-
this.linkUpdatedAt = linkUpdatedAt;
55-
}
56-
5718
@Override
5819
public String toString() {
5920
return (JacksonJson.toJsonString(this));
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
2+
package org.gitlab4j.api.models;
3+
4+
import java.util.Date;
5+
6+
import org.gitlab4j.api.utils.JacksonJson;
7+
8+
public class LinkedIssue extends AbstractIssue {
9+
10+
private Long issueLinkId;
11+
private LinkType linkType;
12+
private Date linkCreatedAt;
13+
private Date linkUpdatedAt;
14+
15+
public Long getIssueLinkId() {
16+
return issueLinkId;
17+
}
18+
19+
public void setIssueLinkId(Long issueLinkId) {
20+
this.issueLinkId = issueLinkId;
21+
}
22+
23+
public LinkType getLinkType() {
24+
return linkType;
25+
}
26+
27+
public void setLinkType(LinkType linkType) {
28+
this.linkType = linkType;
29+
}
30+
31+
public Date getLinkCreatedAt() {
32+
return linkCreatedAt;
33+
}
34+
35+
public void setLinkCreatedAt(Date linkCreatedAt) {
36+
this.linkCreatedAt = linkCreatedAt;
37+
}
38+
39+
public Date getLinkUpdatedAt() {
40+
return linkUpdatedAt;
41+
}
42+
43+
public void setLinkUpdatedAt(Date linkUpdatedAt) {
44+
this.linkUpdatedAt = linkUpdatedAt;
45+
}
46+
47+
@Override
48+
public String toString() {
49+
return (JacksonJson.toJsonString(this));
50+
}
51+
}

src/test/java/org/gitlab4j/api/TestGitLabApiBeans.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@
7979
import org.gitlab4j.api.models.Label;
8080
import org.gitlab4j.api.models.LabelEvent;
8181
import org.gitlab4j.api.models.Link;
82+
import org.gitlab4j.api.models.LinkedIssue;
8283
import org.gitlab4j.api.models.Member;
8384
import org.gitlab4j.api.models.MergeRequest;
8485
import org.gitlab4j.api.models.MergeRequestDiff;
@@ -370,7 +371,7 @@ public void testLabelEvents() throws Exception {
370371

371372
@Test
372373
public void testLinkedIssues() throws Exception {
373-
List<Issue> linkedIssues = unmarshalResourceList(Issue.class, "linked-issues.json");
374+
List<LinkedIssue> linkedIssues = unmarshalResourceList(LinkedIssue.class, "linked-issues.json");
374375
assertTrue(compareJson(linkedIssues, "linked-issues.json"));
375376
}
376377

src/test/resources/org/gitlab4j/api/epic-issue.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@
5959
"award_emoji": "http://localhost:3001/api/v4/projects/8/issues/6/award_emoji",
6060
"project": "http://localhost:3001/api/v4/projects/8"
6161
},
62-
"subscribed": true,
6362
"epic_issue_id": 2,
6463
"relative_position": 55
6564
}

src/test/resources/org/gitlab4j/api/linked-issues.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
"username" : "eileen.lowe"
2020
},
2121
"updated_at" : "2016-01-07T12:44:33.959Z",
22-
"subscribed" : true,
2322
"user_notes_count": 0,
2423
"web_url": "http://example.com/example/example/issues/14",
2524
"confidential": false,

0 commit comments

Comments
 (0)