Index: src/main/java/hudson/plugins/deploy/CargoContainerAdapter.java =================================================================== --- src/main/java/hudson/plugins/deploy/CargoContainerAdapter.java (revision 22346) +++ src/main/java/hudson/plugins/deploy/CargoContainerAdapter.java (working copy) @@ -15,6 +15,7 @@ import org.codehaus.cargo.container.ContainerType; import org.codehaus.cargo.container.configuration.Configuration; import org.codehaus.cargo.container.configuration.ConfigurationType; +import org.codehaus.cargo.container.deployable.Deployable; import org.codehaus.cargo.container.deployable.WAR; import org.codehaus.cargo.container.deployer.Deployer; import org.codehaus.cargo.generic.ContainerFactory; @@ -54,7 +55,17 @@ listener.getLogger().println("Deploying "+f); deployer.setLogger(new LoggerImpl(listener.getLogger())); - deployer.redeploy(new WAR(f.getAbsolutePath())); + deployer.redeploy(createDeployable(f)); + + } + + /** + * Creates a Deployable object from the given file object. + * @param deployableFile The deployable file to create the Deployable from. + * @return A Deployable object. + */ + protected Deployable createDeployable(File deployableFile) { + return new WAR(deployableFile.getAbsolutePath()); } public boolean redeploy(FilePath war, AbstractBuild build, Launcher launcher, final BuildListener listener) throws IOException, InterruptedException { Index: src/main/java/hudson/plugins/deploy/tomcat/TomcatAdapter.java =================================================================== --- src/main/java/hudson/plugins/deploy/tomcat/TomcatAdapter.java (revision 22346) +++ src/main/java/hudson/plugins/deploy/tomcat/TomcatAdapter.java (working copy) @@ -1,12 +1,21 @@ package hudson.plugins.deploy.tomcat; +import hudson.model.BuildListener; +import hudson.plugins.deploy.LoggerImpl; import hudson.plugins.deploy.PasswordProtectedAdapterCargo; +import java.io.File; import java.net.MalformedURLException; import java.net.URL; +import org.codehaus.cargo.container.Container; import org.codehaus.cargo.container.configuration.Configuration; +import org.codehaus.cargo.container.deployable.Deployable; +import org.codehaus.cargo.container.deployable.WAR; +import org.codehaus.cargo.container.deployer.Deployer; import org.codehaus.cargo.container.tomcat.TomcatPropertySet; +import org.codehaus.cargo.container.tomcat.TomcatWAR; +import org.codehaus.cargo.generic.deployer.DeployerFactory; /** * Base class for Tomcat adapters. @@ -33,4 +42,15 @@ throw new AssertionError(e); } } + + /** + * Create a Tomcat-specific Deployable object from the given file object. + * @param deployableFile The file to deploy. + * @return A Tomcat-specific Deployable object. + * @see hudson.plugins.deploy.CargoContainerAdapter#createDeployable(java.io.File) + */ + @Override + protected Deployable createDeployable(File deployableFile) { + return new TomcatWAR(deployableFile.getAbsolutePath()); + } }