@Restricted(value=org.kohsuke.accmod.restrictions.NoExternalUse.class) public abstract class RunListProgressiveRendering extends ProgressiveRendering
RunList
.Constructor and Description |
---|
RunListProgressiveRendering() |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
calculate(Run<?,?> build,
net.sf.json.JSONObject element) |
protected void |
compute()
Actually do the work.
|
protected net.sf.json.JSON |
data()
Provide current data to the web page for display.
|
void |
setBuilds(Iterable<? extends Run<?,?>> builds)
Jelly cannot call a constructor with arguments.
|
canceled, executorService, news, progress, start, timeout
public void setBuilds(Iterable<? extends Run<?,?>> builds)
protected void compute() throws Exception
ProgressiveRendering
The security context will be that in effect when the web request was made.
Stapler.getCurrentRequest()
will also be similar to that in effect when the web request was made;
at least, Ancestor
s and basic request properties (URI, locale, and so on) will be available.
compute
in class ProgressiveRendering
Exception
- whenever you like; the progress bar will indicate that an error occurred but details go to the log onlyprotected net.sf.json.JSON data()
ProgressiveRendering
While this could be an aggregate of everything that has been computed so far,
more likely you want to supply only that data that is new since the last call
(maybe just {}
or []
),
so that the page can incrementally update bits of HTML rather than refreshing everything.
You may want to make your implementation synchronized
, so that it
can track what was sent on a previous call, in which case any code running in
ProgressiveRendering.compute()
which modifies these fields should also temporarily be synchronized
on the same monitor such as this
.
data
in class ProgressiveRendering
protected abstract void calculate(Run<?,?> build, net.sf.json.JSONObject element)
Copyright © 2016. All rights reserved.