diff --git a/src/main/java/org/kohsuke/github/GHRepository.java b/src/main/java/org/kohsuke/github/GHRepository.java index 505ab14711..f9337a5ef7 100644 --- a/src/main/java/org/kohsuke/github/GHRepository.java +++ b/src/main/java/org/kohsuke/github/GHRepository.java @@ -37,6 +37,7 @@ import java.util.*; import static java.util.Arrays.asList; +import static org.apache.commons.lang.ObjectUtils.defaultIfNull; /** * A repository on GitHub. @@ -512,10 +513,11 @@ public void delete() throws IOException { /** * Sort orders for listing forks */ - public static enum Sort { NEWEST, OLDEST, STARGAZERS } + public static enum ForkSort { NEWEST, OLDEST, STARGAZERS } /** - * Lists all the direct forks of this repository, sorted by {@link Sort#NEWEST Sort.NEWEST} + * Lists all the direct forks of this repository, sorted by + * github api default, currently {@link ForkSort#NEWEST ForkSort.NEWEST}. */ public PagedIterable listForks() { return listForks(null); @@ -523,16 +525,22 @@ public PagedIterable listForks() { /** * Lists all the direct forks of this repository, sorted by the given sort order. - * @param sort the sort order. If null, defaults to {@link Sort#NEWEST Sort.NEWEST}. + * @param sort the sort order. If null, defaults to github api default, + * currently {@link ForkSort#NEWEST ForkSort.NEWEST}. */ - public PagedIterable listForks(final Sort sort) { + public PagedIterable listForks(final ForkSort sort) { return new PagedIterable() { public PagedIterator iterator() { - return new PagedIterator(root.retrieve().asIterator(getApiTailUrl("forks" + ((sort == null)?"":("?sort="+sort.toString().toLowerCase(Locale.ENGLISH)))), GHRepository[].class)) { + String sortParam = ""; + if (sort != null) { + sortParam = "?sort=" + sort.toString().toLowerCase(Locale.ENGLISH); + } + return new PagedIterator(root.retrieve().asIterator(getApiTailUrl("forks" + sortParam), GHRepository[].class)) { @Override protected void wrapUp(GHRepository[] page) { - for (GHRepository c : page) + for (GHRepository c : page) { c.wrap(root); + } } }; }