use of hudson.PermalinkList in project hudson-2.x by hudson.
the class Job method getPermalinks.
/**
* Gets all the {@link Permalink}s defined for this job.
*
* @return never null
*/
public PermalinkList getPermalinks() {
// TODO: shall we cache this?
PermalinkList permalinks = new PermalinkList(Permalink.BUILTIN);
for (Action a : getActions()) {
if (a instanceof PermalinkProjectAction) {
PermalinkProjectAction ppa = (PermalinkProjectAction) a;
permalinks.addAll(ppa.getPermalinks());
}
}
return permalinks;
}
use of hudson.PermalinkList in project hudson-2.x by hudson.
the class WorkspaceSnapshotSCM method resolve.
/**
* Obtains the {@link WorkspaceSnapshot} object that this {@link SCM} points to,
* or throws {@link ResolvedFailedException} upon failing.
*
* @return never null.
*/
public Snapshot resolve() throws ResolvedFailedException {
Hudson h = Hudson.getInstance();
AbstractProject<?, ?> job = h.getItemByFullName(jobName, AbstractProject.class);
if (job == null) {
if (h.getItemByFullName(jobName) == null) {
AbstractProject nearest = AbstractProject.findNearest(jobName);
throw new ResolvedFailedException(Messages.WorkspaceSnapshotSCM_NoSuchJob(jobName, nearest.getFullName()));
} else
throw new ResolvedFailedException(Messages.WorkspaceSnapshotSCM_IncorrectJobType(jobName));
}
PermalinkList permalinks = job.getPermalinks();
Permalink p = permalinks.get(permalink);
if (p == null)
throw new ResolvedFailedException(Messages.WorkspaceSnapshotSCM_NoSuchPermalink(permalink, jobName));
AbstractBuild<?, ?> b = (AbstractBuild<?, ?>) p.resolve(job);
if (b == null)
throw new ResolvedFailedException(Messages.WorkspaceSnapshotSCM_NoBuild(permalink, jobName));
WorkspaceSnapshot snapshot = b.getAction(WorkspaceSnapshot.class);
if (snapshot == null)
throw new ResolvedFailedException(Messages.WorkspaceSnapshotSCM_NoWorkspace(jobName, permalink));
return new Snapshot(snapshot, b);
}
Aggregations