package hudson.scm; import hudson.model.InvisibleAction; import hudson.scm.SubversionSCM.SvnInfo; import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.tmatesoft.svn.core.wc.SVNRevision; /** * Action containing a list of SVN revisions that should be checked out. Used for parameterized builds. * * @author Tom Huybrechts */ public class RevisionParameterAction extends InvisibleAction implements Serializable { private final List<SvnInfo> revisions; public RevisionParameterAction(List<SvnInfo> revisions) { super(); this.revisions = revisions; } public RevisionParameterAction(SvnInfo... revisions) { this.revisions = new ArrayList<SvnInfo>(Arrays.asList(revisions)); } public List<SvnInfo> getRevisions() { return revisions; } public SVNRevision getRevision(String url) { for (SvnInfo revision: revisions) { if (revision.url.equals(url)) { return SVNRevision.create(revision.revision); } } return null; } }