remm 2003/07/25 06:57:30 Modified: catalina/src/share/org/apache/catalina/startup HostConfig.java Log: - Fix problems when updating a WAR which had an associated context file. Revision Changes Path 1.18 +33 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/HostConfig.java Index: HostConfig.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/HostConfig.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- HostConfig.java 24 Jun 2003 23:42:34 -0000 1.17 +++ HostConfig.java 25 Jul 2003 13:57:30 -0000 1.18 @@ -775,10 +775,13 @@ contextPath = ""; if (dirLastModified > expanded.lastModified()) { try { + // Undeploy current application deployed.remove(files[i]); + deployed.remove(expandedDir + ".xml"); if (host.findChild(contextPath) != null) { ((Deployer) host).remove(contextPath, - true); + false); + deleteDir(expanded); } } catch (Throwable t) { log.error(sm.getString @@ -832,6 +835,31 @@ } return result; + } + + + /** + * Delete the specified directory, including all of its contents and + * subdirectories recursively. + * + * @param dir File object representing the directory to be deleted + */ + protected void deleteDir(File dir) { + + String files[] = dir.list(); + if (files == null) { + files = new String[0]; + } + for (int i = 0; i < files.length; i++) { + File file = new File(dir, files[i]); + if (file.isDirectory()) { + deleteDir(file); + } else { + file.delete(); + } + } + dir.delete(); + }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]