package hudson.plugins.deploy.tomcat; import hudson.EnvVars; import hudson.Extension; import hudson.plugins.deploy.ContainerAdapterDescriptor; import hudson.util.VariableResolver; import java.net.MalformedURLException; import java.net.URL; import org.codehaus.cargo.container.configuration.Configuration; import org.codehaus.cargo.container.property.RemotePropertySet; import org.kohsuke.stapler.DataBoundConstructor; /** * Tomcat 8.x * * @author soudmaijer */ public class Tomcat8xAdapter extends TomcatAdapter { /** * Tomcat 8 support * * @param url Tomcat server location (for example: http://localhost:8080) * @param password tomcat manager password * @param userName tomcat manager username */ @DataBoundConstructor public Tomcat8xAdapter(String url, String password, String userName) { super(url, password, userName); } public void configure(Configuration config, EnvVars envVars, VariableResolver<String> resolver) { super.configure(config, envVars, resolver); try { URL _url = new URL(expandVariable(envVars, resolver, url) + "/manager/text"); config.setProperty(RemotePropertySet.URI, _url.toExternalForm()); } catch (MalformedURLException e) { throw new AssertionError(e); } } /** * Tomcat Cargo containerId * @return tomcat8x */ public String getContainerId() { return "tomcat8x"; } @Extension public static final class DescriptorImpl extends ContainerAdapterDescriptor { public String getDisplayName() { return "Tomcat 8.x"; } } }