package hudson.plugins.jobConfigHistory;
import hudson.Extension;
import hudson.model.AbstractProject;
import hudson.model.Action;
import hudson.model.TransientProjectActionFactory;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.logging.Logger;
/**
* Extends project actions for all jobs.
*
* @author Stefan Brausch
*/
@Extension
public class JobConfigHistoryActionFactory extends TransientProjectActionFactory {
/** Our logger. */
private static final Logger LOG = Logger.getLogger(JobConfigHistoryActionFactory.class.getName());
/**
* {@inheritDoc}
*/
@Override
public Collection<? extends Action> createFor(@SuppressWarnings("unchecked") AbstractProject target) {
final ArrayList<Action> actions = new ArrayList<Action>();
final List<JobConfigHistoryProjectAction> historyJobActions = target.getActions(JobConfigHistoryProjectAction.class);
LOG.fine(target + " already had " + historyJobActions);
final JobConfigHistoryProjectAction newAction = new JobConfigHistoryProjectAction(target);
actions.add(newAction);
LOG.fine(this + " adds " + newAction + " for " + target);
return actions;
}
}