package com.nirima.jenkins.plugins.docker;
import hudson.Extension;
import jenkins.model.GlobalConfiguration;
import net.sf.json.JSONObject;
import org.kohsuke.stapler.DataBoundSetter;
import org.kohsuke.stapler.StaplerRequest;
import java.util.Collections;
import java.util.List;
@Extension
public class DockerPluginConfiguration extends GlobalConfiguration {
/**
* Work around option.
*/
private Boolean pullFix;
/**
* List of registries
*/
private List<DockerRegistry> registryList = Collections.emptyList();
/**
* Returns this singleton instance.
*
* @return the singleton.
*/
public static DockerPluginConfiguration get() {
return GlobalConfiguration.all().get(DockerPluginConfiguration.class);
}
public DockerPluginConfiguration() {
load();
}
@Override
public boolean configure(StaplerRequest req, JSONObject json) throws FormException {
req.bindJSON(this,json);
return true;
}
public final boolean getPullFix() {
if( pullFix == null )
pullFix = true;
return pullFix;
}
public DockerRegistry getRegistryByName(String registryName) {
for(DockerRegistry registry : registryList) {
if( registry.registry.equalsIgnoreCase(registryName))
return registry;
}
// Not found
return null;
}
public final void setPullFix(boolean pullFix) {
this.pullFix = pullFix;
save();
}
public void setRegistryList(List<DockerRegistry> registryList) {
this.registryList = registryList;
save();
}
public List<DockerRegistry> getRegistryList() {
return registryList;
}
}