Skip to content

Commit 3ca45e5

Browse files
committed
refactor: Add overloads for long params for PRClient
1 parent 2d35bc2 commit 3ca45e5

File tree

2 files changed

+214
-41
lines changed

2 files changed

+214
-41
lines changed

src/main/java/com/spotify/github/v3/clients/PullRequestClient.java

Lines changed: 208 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,23 @@ public CompletableFuture<List<PullRequestItem>> list(final PullRequestParameters
9797
/**
9898
* Get a specific pull request.
9999
*
100-
* @param number pull request number
100+
* @deprecated Use {@link #get(long)} instead
101+
* @param prNumber pull request number
101102
* @return pull request
102103
*/
103-
public CompletableFuture<PullRequest> get(final int number) {
104-
final String path = String.format(PR_NUMBER_TEMPLATE, owner, repo, number);
104+
@Deprecated
105+
public CompletableFuture<PullRequest> get(final int prNumber) {
106+
return get((long) prNumber);
107+
}
108+
109+
/**
110+
* Get a specific pull request.
111+
*
112+
* @param prNumber pull request number
113+
* @return pull request
114+
*/
115+
public CompletableFuture<PullRequest> get(final long prNumber) {
116+
final String path = String.format(PR_NUMBER_TEMPLATE, owner, repo, prNumber);
105117
log.debug("Fetching pull request from " + path);
106118
return github.request(path, PullRequest.class);
107119
}
@@ -120,63 +132,129 @@ public CompletableFuture<PullRequest> create(final PullRequestCreate request) {
120132
/**
121133
* Update given pull request.
122134
*
123-
* @param number pull request number
135+
* @deprecated Use {@link #update(long, PullRequestUpdate)} instead
136+
* @param prNumber pull request number
124137
* @param request update request
125138
* @return pull request
126139
*/
127-
public CompletableFuture<PullRequest> update(final int number, final PullRequestUpdate request) {
128-
final String path = String.format(PR_NUMBER_TEMPLATE, owner, repo, number);
140+
@Deprecated
141+
public CompletableFuture<PullRequest> update(
142+
final int prNumber, final PullRequestUpdate request) {
143+
return update((long) prNumber, request);
144+
}
145+
146+
/**
147+
* Update given pull request.
148+
*
149+
* @param prNumber pull request number
150+
* @param request update request
151+
* @return pull request
152+
*/
153+
public CompletableFuture<PullRequest> update(
154+
final long prNumber, final PullRequestUpdate request) {
155+
final String path = String.format(PR_NUMBER_TEMPLATE, owner, repo, prNumber);
129156
return github.patch(path, github.json().toJsonUnchecked(request), PullRequest.class);
130157
}
131158

132159
/**
133160
* List pull request commits.
134161
*
135-
* @param number pull request number
162+
* @deprecated Use {@link #listCommits(long)} instead
163+
* @param prNumber pull request number
164+
* @return commits
165+
*/
166+
@Deprecated
167+
public CompletableFuture<List<CommitItem>> listCommits(final int prNumber) {
168+
return listCommits((long) prNumber);
169+
}
170+
171+
/**
172+
* List pull request commits.
173+
*
174+
* @param prNumber pull request number
136175
* @return commits
137176
*/
138-
public CompletableFuture<List<CommitItem>> listCommits(final int number) {
139-
final String path = String.format(PR_COMMITS_TEMPLATE, owner, repo, number);
177+
public CompletableFuture<List<CommitItem>> listCommits(final long prNumber) {
178+
final String path = String.format(PR_COMMITS_TEMPLATE, owner, repo, prNumber);
140179
log.debug("Fetching pull request commits from " + path);
141180
return github.request(path, LIST_COMMIT_TYPE_REFERENCE);
142181
}
143182

144183
/**
145184
* List pull request reviews. Reviews are returned in chronological order.
146185
*
147-
* @param number pull request number
186+
* @deprecated Use {@link #listReviews(long)} instead
187+
* @param prNumber pull request number
148188
* @return list of reviews
149189
*/
150-
public CompletableFuture<List<Review>> listReviews(final int number) {
151-
final String path = String.format(PR_REVIEWS_TEMPLATE, owner, repo, number);
190+
@Deprecated
191+
public CompletableFuture<List<Review>> listReviews(final int prNumber) {
192+
return listReviews((long) prNumber);
193+
}
194+
195+
/**
196+
* List pull request reviews. Reviews are returned in chronological order.
197+
*
198+
* @param prNumber pull request number
199+
* @return list of reviews
200+
*/
201+
public CompletableFuture<List<Review>> listReviews(final long prNumber) {
202+
final String path = String.format(PR_REVIEWS_TEMPLATE, owner, repo, prNumber);
152203
log.debug("Fetching pull request reviews from " + path);
153204
return github.request(path, LIST_REVIEW_TYPE_REFERENCE);
154205
}
155206

156207
/**
157208
* List pull request reviews paginated. Reviews are returned in chronological order.
158209
*
159-
* @param number pull request number
160-
* @param itemsPerPage number of items per page
210+
* @deprecated Use {@link #listReviews(long,long)} instead
211+
* @param prNumber pull request number
212+
* @param itemsPerPage prNumber of items per page
213+
* @return iterator of reviews
214+
*/
215+
@Deprecated
216+
public Iterator<AsyncPage<Review>> listReviews(final int prNumber, final int itemsPerPage) {
217+
return listReviews((long) prNumber, itemsPerPage);
218+
}
219+
220+
/**
221+
* List pull request reviews paginated. Reviews are returned in chronological order.
222+
*
223+
* @param prNumber pull request number
224+
* @param itemsPerPage prNumber of items per page
161225
* @return iterator of reviews
162226
*/
163-
public Iterator<AsyncPage<Review>> listReviews(final int number, final int itemsPerPage) {
227+
public Iterator<AsyncPage<Review>> listReviews(final long prNumber, final long itemsPerPage) {
164228
// FIXME Use itemsPerPage property
165-
final String path = String.format(PR_REVIEWS_TEMPLATE, owner, repo, number);
229+
final String path = String.format(PR_REVIEWS_TEMPLATE, owner, repo, prNumber);
166230
log.debug("Fetching pull request reviews from " + path);
167231
return new GithubPageIterator<>(new GithubPage<>(github, path, LIST_REVIEW_TYPE_REFERENCE));
168232
}
169233

170234
/**
171235
* Creates a review for a pull request.
172236
*
173-
* @param number pull request number
237+
* @deprecated Use {@link #createReview(long,ReviewParameters)} instead
238+
* @param prNumber pull request number
239+
* @param properties properties for reviewing the PR, such as sha, body and event
240+
* @see "https://developer.github.com/v3/pulls/reviews/#create-a-review-for-a-pull-request"
241+
*/
242+
@Deprecated
243+
public CompletableFuture<Review> createReview(
244+
final int prNumber, final ReviewParameters properties) {
245+
return createReview((long) prNumber, properties);
246+
}
247+
248+
/**
249+
* Creates a review for a pull request.
250+
*
251+
* @param prNumber pull request number
174252
* @param properties properties for reviewing the PR, such as sha, body and event
175253
* @see "https://developer.github.com/v3/pulls/reviews/#create-a-review-for-a-pull-request"
176254
*/
177255
public CompletableFuture<Review> createReview(
178-
final int number, final ReviewParameters properties) {
179-
final String path = String.format(PR_REVIEWS_TEMPLATE, owner, repo, number);
256+
final long prNumber, final ReviewParameters properties) {
257+
final String path = String.format(PR_REVIEWS_TEMPLATE, owner, repo, prNumber);
180258
final String jsonPayload = github.json().toJsonUnchecked(properties);
181259
log.debug("Creating review for PR: " + path);
182260
return github.post(path, jsonPayload, Review.class);
@@ -185,25 +263,51 @@ public CompletableFuture<Review> createReview(
185263
/**
186264
* List pull request requested reviews.
187265
*
188-
* @param number pull request number
266+
* @deprecated Use {@link #listReviewRequests(long)} instead
267+
* @param prNumber pull request number
268+
* @return list of reviews
269+
*/
270+
@Deprecated
271+
public CompletableFuture<ReviewRequests> listReviewRequests(final int prNumber) {
272+
return listReviewRequests((long) prNumber);
273+
}
274+
275+
/**
276+
* List pull request requested reviews.
277+
*
278+
* @param prNumber pull request number
189279
* @return list of reviews
190280
*/
191-
public CompletableFuture<ReviewRequests> listReviewRequests(final int number) {
192-
final String path = String.format(PR_REVIEW_REQUESTS_TEMPLATE, owner, repo, number);
281+
public CompletableFuture<ReviewRequests> listReviewRequests(final long prNumber) {
282+
final String path = String.format(PR_REVIEW_REQUESTS_TEMPLATE, owner, repo, prNumber);
193283
log.debug("Fetching pull request requested reviews from " + path);
194284
return github.request(path, LIST_REVIEW_REQUEST_TYPE_REFERENCE);
195285
}
196286

197287
/**
198288
* Requests a review for a pull request.
199289
*
200-
* @param number pull request number
290+
* @deprecated Use {@link #requestReview(long,RequestReviewParameters)} instead
291+
* @param prNumber pull request number
201292
* @param properties properties for reviewing the PR, such as reviewers and team_reviewers.
202293
* @see "https://docs.github.com/en/rest/reference/pulls#request-reviewers-for-a-pull-request"
203294
*/
295+
@Deprecated
204296
public CompletableFuture<PullRequest> requestReview(
205-
final int number, final RequestReviewParameters properties) {
206-
final String path = String.format(PR_REVIEW_REQUESTS_TEMPLATE, owner, repo, number);
297+
final int prNumber, final RequestReviewParameters properties) {
298+
return requestReview((long) prNumber, properties);
299+
}
300+
301+
/**
302+
* Requests a review for a pull request.
303+
*
304+
* @param prNumber pull request number
305+
* @param properties properties for reviewing the PR, such as reviewers and team_reviewers.
306+
* @see "https://docs.github.com/en/rest/reference/pulls#request-reviewers-for-a-pull-request"
307+
*/
308+
public CompletableFuture<PullRequest> requestReview(
309+
final long prNumber, final RequestReviewParameters properties) {
310+
final String path = String.format(PR_REVIEW_REQUESTS_TEMPLATE, owner, repo, prNumber);
207311
final String jsonPayload = github.json().toJsonUnchecked(properties);
208312
log.debug("Requesting reviews for PR: " + path);
209313
return github.post(path, jsonPayload, PullRequest.class);
@@ -212,13 +316,27 @@ public CompletableFuture<PullRequest> requestReview(
212316
/**
213317
* Remove a request for review for a pull request.
214318
*
215-
* @param number pull request number
319+
* @deprecated Use {@link #removeRequestedReview(long,RequestReviewParameters)} instead
320+
* @param prNumber pull request number
216321
* @param properties properties for reviewing the PR, such as reviewers and team_reviewers.
217322
* @see "https://docs.github.com/en/rest/reference/pulls#request-reviewers-for-a-pull-request"
218323
*/
324+
@Deprecated
219325
public CompletableFuture<Void> removeRequestedReview(
220-
final int number, final RequestReviewParameters properties) {
221-
final String path = String.format(PR_REVIEW_REQUESTS_TEMPLATE, owner, repo, number);
326+
final int prNumber, final RequestReviewParameters properties) {
327+
return removeRequestedReview((long) prNumber, properties);
328+
}
329+
330+
/**
331+
* Remove a request for review for a pull request.
332+
*
333+
* @param prNumber pull request number
334+
* @param properties properties for reviewing the PR, such as reviewers and team_reviewers.
335+
* @see "https://docs.github.com/en/rest/reference/pulls#request-reviewers-for-a-pull-request"
336+
*/
337+
public CompletableFuture<Void> removeRequestedReview(
338+
final long prNumber, final RequestReviewParameters properties) {
339+
final String path = String.format(PR_REVIEW_REQUESTS_TEMPLATE, owner, repo, prNumber);
222340
final String jsonPayload = github.json().toJsonUnchecked(properties);
223341
log.debug("Removing requested reviews for PR: " + path);
224342
return github.delete(path, jsonPayload).thenAccept(IGNORE_RESPONSE_CONSUMER);
@@ -227,19 +345,50 @@ public CompletableFuture<Void> removeRequestedReview(
227345
/**
228346
* Merges a pull request.
229347
*
230-
* @param number pull request number
348+
* @deprecated Use {@link #merge(long,MergeParameters)} instead
349+
* @param prNumber pull request number
231350
* @param properties the properties on merging the PR, such as title, message and sha
232351
* @see "https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button"
233352
*/
234-
public CompletableFuture<Void> merge(final int number, final MergeParameters properties) {
235-
final String path = String.format(PR_NUMBER_TEMPLATE + "/merge", owner, repo, number);
353+
@Deprecated
354+
public CompletableFuture<Void> merge(final int prNumber, final MergeParameters properties) {
355+
return merge((long) prNumber, properties);
356+
}
357+
358+
/**
359+
* Merges a pull request.
360+
*
361+
* @param prNumber pull request number
362+
* @param properties the properties on merging the PR, such as title, message and sha
363+
* @see "https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button"
364+
*/
365+
public CompletableFuture<Void> merge(final long prNumber, final MergeParameters properties) {
366+
final String path = String.format(PR_NUMBER_TEMPLATE + "/merge", owner, repo, prNumber);
236367
final String jsonPayload = github.json().toJsonUnchecked(properties);
237368
log.debug("Merging pr, running: {}", path);
238369
return github.put(path, jsonPayload).thenAccept(IGNORE_RESPONSE_CONSUMER);
239370
}
240371

241-
public CompletableFuture<Reader> patch(final int number) {
242-
final String path = String.format(PR_NUMBER_TEMPLATE, owner, repo, number);
372+
/**
373+
* Fetches a pull request patch.
374+
*
375+
* @deprecated Use {@link #patch(long)} instead
376+
* @param prNumber pull request number
377+
* @return reader for the patch
378+
*/
379+
@Deprecated
380+
public CompletableFuture<Reader> patch(final int prNumber) {
381+
return patch((long) prNumber);
382+
}
383+
384+
/**
385+
* Fetches a pull request patch.
386+
*
387+
* @param prNumber pull request number
388+
* @return reader for the patch
389+
*/
390+
public CompletableFuture<Reader> patch(final long prNumber) {
391+
final String path = String.format(PR_NUMBER_TEMPLATE, owner, repo, prNumber);
243392
final Map<String, String> extraHeaders =
244393
ImmutableMap.of(HttpHeaders.ACCEPT, "application/vnd.github.patch");
245394
log.debug("Fetching pull request patch from " + path);
@@ -255,8 +404,26 @@ public CompletableFuture<Reader> patch(final int number) {
255404
});
256405
}
257406

258-
public CompletableFuture<Reader> diff(final int number) {
259-
final String path = String.format(PR_NUMBER_TEMPLATE, owner, repo, number);
407+
/**
408+
* Fetches a pull request diff.
409+
*
410+
* @deprecated Use {@link #diff(long)} instead
411+
* @param prNumber pull request number
412+
* @return reader for the diff
413+
*/
414+
@Deprecated
415+
public CompletableFuture<Reader> diff(final int prNumber) {
416+
return diff((long) prNumber);
417+
}
418+
419+
/**
420+
* Fetches a pull request diff.
421+
*
422+
* @param prNumber pull request number
423+
* @return reader for the diff
424+
*/
425+
public CompletableFuture<Reader> diff(final long prNumber) {
426+
final String path = String.format(PR_NUMBER_TEMPLATE, owner, repo, prNumber);
260427
final Map<String, String> extraHeaders =
261428
ImmutableMap.of(HttpHeaders.ACCEPT, "application/vnd.github.diff");
262429
log.debug("Fetching pull diff from " + path);
@@ -272,6 +439,12 @@ public CompletableFuture<Reader> diff(final int number) {
272439
});
273440
}
274441

442+
/**
443+
* List pull requests using given parameters.
444+
*
445+
* @param parameterPath request parameters
446+
* @return pull requests
447+
*/
275448
private CompletableFuture<List<PullRequestItem>> list(final String parameterPath) {
276449
final String path = String.format(PR_TEMPLATE + parameterPath, owner, repo);
277450
log.debug("Fetching pull requests from " + path);

0 commit comments

Comments
 (0)