diff --git a/src/main/java/org/kohsuke/github/GHPerson.java b/src/main/java/org/kohsuke/github/GHPerson.java index 69db48772..719fb978f 100644 --- a/src/main/java/org/kohsuke/github/GHPerson.java +++ b/src/main/java/org/kohsuke/github/GHPerson.java @@ -31,10 +31,7 @@ public abstract class GHPerson { public synchronized Map getRepositories() throws IOException { if (repositories==null) { repositories = Collections.synchronizedMap(new TreeMap()); - for (GHRepository r : root.retrieve("/repos/show/" + login, JsonRepositories.class).repositories) { - r.root = root; - repositories.put(r.getName(),r); - } + repositories.putAll(root.retrieve("/repos/show/" + login, JsonRepositories.class).wrap(root)); } return Collections.unmodifiableMap(repositories); diff --git a/src/main/java/org/kohsuke/github/GHTeam.java b/src/main/java/org/kohsuke/github/GHTeam.java index 51f8b4a99..dee87bc4e 100644 --- a/src/main/java/org/kohsuke/github/GHTeam.java +++ b/src/main/java/org/kohsuke/github/GHTeam.java @@ -1,6 +1,7 @@ package org.kohsuke.github; import java.io.IOException; +import java.util.Map; import java.util.Set; /** @@ -33,6 +34,10 @@ public class GHTeam { return org.root.retrieveWithAuth(api("/members"),JsonUsersWithDetails.class).toSet(org.root); } + public Map getRepositories() throws IOException { + return org.root.retrieveWithAuth(api("/repositories"),JsonRepositories.class).wrap(org.root); + } + /** * Adds a member to the team. */ diff --git a/src/main/java/org/kohsuke/github/JsonRepositories.java b/src/main/java/org/kohsuke/github/JsonRepositories.java index b3a08853a..69e0b138c 100644 --- a/src/main/java/org/kohsuke/github/JsonRepositories.java +++ b/src/main/java/org/kohsuke/github/JsonRepositories.java @@ -24,10 +24,21 @@ package org.kohsuke.github; import java.util.List; +import java.util.Map; +import java.util.TreeMap; /** * @author Kohsuke Kawaguchi */ class JsonRepositories { public List repositories; + + public Map wrap(GitHub root) { + Map map = new TreeMap(); + for (GHRepository r : repositories) { + r.root = root; + map.put(r.getName(),r); + } + return map; + } }