package hudson.ivy;
import hudson.Extension;
import org.jenkinsci.lib.configprovider.model.Config;
import org.jenkinsci.plugins.configfiles.custom.CustomConfig;
import org.jenkinsci.plugins.configfiles.xml.XmlConfig;
import org.kohsuke.stapler.DataBoundConstructor;
/**
* @author <a href="mailto:nicolas.deloof@gmail.com">Nicolas De Loof</a>
*/
public class IvyConfig extends XmlConfig {
public IvyConfig(String id, String name, String comment, String content) {
super(id, name, comment, content);
}
@DataBoundConstructor
public IvyConfig(String id, String name, String comment, String content, String providerId) {
super(id, name, comment, content, providerId);
}
public IvyConfig(Config config) {
super(config.id, config.name, config.comment, config.content, config.getProviderId() == null ? provider.getProviderId() : config.getProviderId());
}
@Extension
public static final XmlConfigProvider provider = new XmlConfigProvider() {
@Override
public String getDisplayName() {
return "Ivy configuration";
}
@Override
public IvyConfig newConfig() {
String id = getProviderId() + System.currentTimeMillis();
return new IvyConfig(id, "IvyConfig", "", "<ivysettings>\n</ivysettings>");
}
@Override
public Config newConfig(String id) {
return new IvyConfig(id, "IvyConfig", "", "<ivysettings>\n</ivysettings>", getProviderId());
}
@Override
public <T extends Config> T convert(Config config) {
return (T) new IvyConfig(config);
}
};
}