package org.jenkinsci.plugins.openshift;
import static org.jenkinsci.plugins.openshift.util.Utils.findServer;
import org.jenkinsci.plugins.openshift.util.Utils;
import org.kohsuke.stapler.QueryParameter;
import hudson.model.AbstractProject;
import hudson.tasks.BuildStepDescriptor;
import hudson.tasks.Builder;
import hudson.util.ListBoxModel;
/**
* @author Siamak Sadeghianfar <ssadeghi@redhat.com>
*/
public abstract class AbstractDescriptor extends BuildStepDescriptor<Builder> {
public AbstractDescriptor() {
super();
}
public AbstractDescriptor(Class<? extends Builder> clazz) {
super(clazz);
}
@Override
public boolean isApplicable(Class<? extends AbstractProject> jobType) {
return true;
}
public ListBoxModel doFillDomainItems(@QueryParameter("serverName") final String serverName) {
ListBoxModel items = new ListBoxModel();
Server server = findServer(serverName);
if (server == null) {
return items;
}
OpenShiftV2Client client = new OpenShiftV2Client(server.getBrokerAddress(), server.getUsername(), server.getPassword());
for (String domain : client.getDomains()) {
items.add(domain, domain);
}
return items;
}
public ListBoxModel doFillServerNameItems() {
ListBoxModel items = new ListBoxModel();
for (Server server : Utils.getServers()) {
items.add(server.getName(), server.getName());
}
return items;
}
}