From 6c31bc9699d29bb65336e2ed5ecbc353d2369aad Mon Sep 17 00:00:00 2001 From: kohsuke Date: Mon, 10 Mar 2008 19:07:49 +0000 Subject: [PATCH] added a convenience method to check the user membership of a project/build. git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@7509 71c3de6d-444a-0410-be80-ed276b4c234a --- .../main/java/hudson/model/AbstractBuild.java | 19 ++++++++++++++----- .../java/hudson/model/AbstractProject.java | 12 ++++++++++++ 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/hudson/model/AbstractBuild.java b/core/src/main/java/hudson/model/AbstractBuild.java index debd48cdc9..425750b8d4 100644 --- a/core/src/main/java/hudson/model/AbstractBuild.java +++ b/core/src/main/java/hudson/model/AbstractBuild.java @@ -1,11 +1,10 @@ package hudson.model; +import hudson.Functions; import hudson.Launcher; import hudson.Proc.LocalProc; import hudson.Util; -import hudson.Functions; import hudson.matrix.MatrixConfiguration; -import hudson.matrix.MatrixRun; import hudson.maven.MavenBuild; import hudson.model.Fingerprint.BuildPtr; import hudson.model.Fingerprint.RangeSet; @@ -23,9 +22,9 @@ import hudson.tasks.Publisher; import hudson.tasks.test.AbstractTestResultAction; import hudson.util.AdaptedIterator; import hudson.util.Iterators; +import org.kohsuke.stapler.Stapler; import org.kohsuke.stapler.StaplerRequest; import org.kohsuke.stapler.StaplerResponse; -import org.kohsuke.stapler.Stapler; import org.kohsuke.stapler.export.Exported; import org.xml.sax.SAXException; @@ -45,8 +44,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import sun.misc.Request; - /** * Base implementation of {@link Run}s that build software. * @@ -185,6 +182,18 @@ public abstract class AbstractBuild

,R extends Abs }; } + /** + * Returns true if this user has made a commit to this build. + * + * @since 1.191 + */ + public boolean hasParticipant(User user) { + for (ChangeLogSet.Entry e : getChangeSet()) + if(e.getAuthor()==user) + return true; + return false; + } + protected abstract class AbstractRunner implements Runner { /** * Since configuration can be changed while a build is in progress, diff --git a/core/src/main/java/hudson/model/AbstractProject.java b/core/src/main/java/hudson/model/AbstractProject.java index f3da860d2c..17f12aafc8 100644 --- a/core/src/main/java/hudson/model/AbstractProject.java +++ b/core/src/main/java/hudson/model/AbstractProject.java @@ -613,6 +613,18 @@ public abstract class AbstractProject

,R extends A } } + /** + * Returns true if this user has made a commit to this project. + * + * @since 1.191 + */ + public boolean hasParticipant(User user) { + for( R build = getLastBuild(); build!=null; build=build.getPreviousBuild()) + if(build.hasParticipant(user)) + return true; + return false; + } + public SCM getScm() { return scm; } -- GitLab