package hudson.plugins.jobConfigHistory;
import hudson.Extension;
import hudson.XmlFile;
import hudson.model.Hudson;
import hudson.model.Saveable;
import hudson.model.listeners.SaveableListener;
import java.util.logging.Logger;
/**
* Saves the job configuration at {@link SaveableListener#onChange(Saveable, XmlFile)}.
*
* @author Stefan Brausch
*/
@Extension
public final class JobConfigHistorySaveableListener extends SaveableListener {
/** Our logger. */
private static final Logger LOG = Logger.getLogger(JobConfigHistorySaveableListener.class.getName());
/** {@inheritDoc} */
@Override
public void onChange(final Saveable o, final XmlFile file) {
final JobConfigHistory plugin = Hudson.getInstance().getPlugin(JobConfigHistory.class);
LOG.finest("In onChange for " + o);
if (plugin.isSaveable(o, file)) {
ConfigHistoryListenerHelper.CHANGED.createNewHistoryEntry(file);
}
LOG.finest("onChange for " + o + " done.");
// new Exception("STACKTRACE for double invocation").printStackTrace();
}
}