diff --git a/core/src/main/java/hudson/model/AbstractBuild.java b/core/src/main/java/hudson/model/AbstractBuild.java index 956867fa6f..23e36bb91f 100644 --- a/core/src/main/java/hudson/model/AbstractBuild.java +++ b/core/src/main/java/hudson/model/AbstractBuild.java @@ -884,26 +884,7 @@ public abstract class AbstractBuild

,R extends Abs public Calendar due() { return getTimestamp(); } - - /** - * Add all transient action for this build - * - */ - protected List createTransientActions() { - Vector ta = new Vector(); - for (TransientBuildActionFactory tpaf : TransientBuildActionFactory.all()) - ta.addAll(Util.fixNull(tpaf.createFor(this))); - return ta; - } - - // commented out until fixed problem with adding actions, see discussion under https://github.com/jenkinsci/jenkins/pull/421 -/* @Override - public List getActions() { - List actions = new CopyOnWriteArrayList(super.getActions()); - actions.addAll(createTransientActions()); - return actions; - } -*/ + public List getPersistentActions(){ return super.getActions(); } diff --git a/core/src/main/java/hudson/model/Run.java b/core/src/main/java/hudson/model/Run.java index 031333881d..cf93219af8 100644 --- a/core/src/main/java/hudson/model/Run.java +++ b/core/src/main/java/hudson/model/Run.java @@ -242,6 +242,8 @@ public abstract class Run ,RunT extends Run transientActions; protected static final ThreadLocal ID_FORMATTER = new ThreadLocal() { @@ -272,6 +274,7 @@ public abstract class Run ,RunT extends Run,RunT extends Run getTransientActions(){ + return transientActions; + } + + /** + * Create transient actions for this build + * + * @return transient actions + */ + public List updateTransientActions(){ + List actions = new ArrayList(); + for(TransientBuildActionFactory factory: TransientBuildActionFactory.all()){ + actions.addAll(factory.createFor(this)); + } + return actions; + } @Override public void addAction(Action a) { @@ -2059,11 +2085,17 @@ public abstract class Run ,RunT extends Run createFor(AbstractBuild target); + public abstract Collection createFor(Run target); /** * Returns all the registered {@link TransientBuildActionFactory}s. diff --git a/core/src/main/resources/hudson/model/AbstractBuild/sidepanel.jelly b/core/src/main/resources/hudson/model/AbstractBuild/sidepanel.jelly index e1a7d2c86b..b7be15fc1e 100644 --- a/core/src/main/resources/hudson/model/AbstractBuild/sidepanel.jelly +++ b/core/src/main/resources/hudson/model/AbstractBuild/sidepanel.jelly @@ -33,6 +33,15 @@ THE SOFTWARE. + + + + + + + +