From 05b03bbc60d0e69d9c3abc0d384e0bf41767e6d6 Mon Sep 17 00:00:00 2001 From: kohsuke Date: Mon, 10 Mar 2008 19:08:15 +0000 Subject: [PATCH] adding another convenience method for membership check. git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@7510 71c3de6d-444a-0410-be80-ed276b4c234a --- core/src/main/java/hudson/model/User.java | 37 ++++++++++++++--------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/core/src/main/java/hudson/model/User.java b/core/src/main/java/hudson/model/User.java index 45ea3afd71..6cfd9dc372 100644 --- a/core/src/main/java/hudson/model/User.java +++ b/core/src/main/java/hudson/model/User.java @@ -3,19 +3,18 @@ package hudson.model; import com.thoughtworks.xstream.XStream; import hudson.CopyOnWrite; import hudson.FeedAdapter; -import hudson.XmlFile; import hudson.Util; +import hudson.XmlFile; import hudson.model.Descriptor.FormException; -import hudson.scm.ChangeLogSet; import hudson.util.RunList; import hudson.util.XStream2; +import org.acegisecurity.Authentication; +import org.acegisecurity.providers.anonymous.AnonymousAuthenticationToken; import org.kohsuke.stapler.Stapler; import org.kohsuke.stapler.StaplerRequest; import org.kohsuke.stapler.StaplerResponse; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; -import org.acegisecurity.Authentication; -import org.acegisecurity.providers.anonymous.AnonymousAuthenticationToken; import javax.servlet.ServletException; import java.io.File; @@ -25,9 +24,11 @@ import java.util.Calendar; import java.util.Collection; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Iterator; +import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; @@ -275,20 +276,26 @@ public class User extends AbstractModelObject { */ public List getBuilds() { List r = new ArrayList(); - for (AbstractProject p : Hudson.getInstance().getAllItems(AbstractProject.class)) { - for (AbstractBuild b : p.getBuilds()) { - for (ChangeLogSet.Entry e : b.getChangeSet()) { - if(e.getAuthor()==this) { - r.add(b); - break; - } - } - } - } + for (AbstractProject p : Hudson.getInstance().getAllItems(AbstractProject.class)) + for (AbstractBuild b : p.getBuilds()) + if(b.hasParticipant(this)) + r.add(b); Collections.sort(r,Run.ORDER_BY_DATE); return r; } + /** + * Gets all the {@link AbstractProject}s that this user has committed to. + * @since 1.191 + */ + public Set> getProjects() { + Set> r = new HashSet>(); + for (AbstractProject p : Hudson.getInstance().getAllItems(AbstractProject.class)) + if(p.hasParticipant(this)) + r.add(p); + return r; + } + public String toString() { return fullName; } -- GitLab