@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, timeoutpublic void setBuilds(Iterable<? extends Run<?,?>> builds)
protected void compute()
throws Exception
ProgressiveRenderingThe 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, Ancestors and basic request properties (URI, locale, and so on) will be available.
compute in class ProgressiveRenderingException - whenever you like; the progress bar will indicate that an error occurred but details go to the log onlyprotected net.sf.json.JSON data()
ProgressiveRenderingWhile 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 ProgressiveRenderingprotected abstract void calculate(Run<?,?> build, net.sf.json.JSONObject element)
Copyright © 2019. All rights reserved.