package hudson.plugins.parameterizedtrigger; import com.google.common.collect.ImmutableList; import hudson.model.AbstractProject; import hudson.model.Action; import java.util.List; /** * Action added Projects to track what projects are * were triggered from the trigger builds on other projects buildstep. * * Provides a section on the project page indicating the triggered projects. * see jobMain.groovy * * @author wolfs */ public class SubProjectsAction implements Action { private AbstractProject<?,?> project; private List<BlockableBuildTriggerConfig> configs; public SubProjectsAction(AbstractProject<?,?> project, List<BlockableBuildTriggerConfig> configs) { this.project = project; this.configs = configs; } @Override public String getIconFileName() { return null; } @Override public String getDisplayName() { return null; } @Override public String getUrlName() { return null; } public List<BlockableBuildTriggerConfig> getConfigs() { return configs; } public List<SubProjectsAction> getSubProjectActions() { if (isFirst()) { return project.getActions(SubProjectsAction.class); } return ImmutableList.of(); } public AbstractProject<?,?> getProject() { return project; } private boolean isFirst() { return project.getAction(SubProjectsAction.class) == this; } }