Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java,v diff -u -r1.57 -r1.58 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java 31 Jan 2007 08:24:36 -0000 1.57 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java 14 May 2007 23:53:46 -0000 1.58 @@ -468,7 +468,7 @@ String secureDir = Configuration.get(ConfigurationKeys.LAMS_EAR_DIR) + File.separator + FileUtil.LAMS_WWW_DIR + File.separator + FileUtil.LAMS_WWW_SECURE_DIR; String ldContentDir = FileUtil.getFullPath(secureDir,ldDto.getContentFolderID()); - if(!FileUtil.isEmptyDirectory(ldContentDir)) { + if(!FileUtil.isEmptyDirectory(ldContentDir, true)) { log.debug("Create export Learning Design content target zip file. File name is " + targetContentZipFileName); ZipFileUtil.createZipFile(targetContentZipFileName, ldContentDir, contentDir); } else { Index: lams_common/src/java/org/lamsfoundation/lams/util/FileUtil.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/util/FileUtil.java,v diff -u -r1.23 -r1.24 --- lams_common/src/java/org/lamsfoundation/lams/util/FileUtil.java 30 Mar 2007 03:40:10 -0000 1.23 +++ lams_common/src/java/org/lamsfoundation/lams/util/FileUtil.java 14 May 2007 23:53:45 -0000 1.24 @@ -98,17 +98,38 @@ } - public static boolean isEmptyDirectory(String directoryName) throws FileUtilException { + /** Check if this directory is empty. If checkSubdirectories = true, then it also checks its subdirectories to make sure they aren't empty. + * If checkSubdirectories = true and the directory contains empty subdirectories it will return true. + * If checkSubdirectories = false and the directory contains empty subdirectories it will return false. */ + public static boolean isEmptyDirectory(String directoryName, boolean checkSubdirectories) throws FileUtilException { if(directoryName == null || directoryName.length() == 0) throw new FileUtilException("A directory name must be specified"); - File dir = new File(directoryName); - if(dir.exists()) { - if(dir.listFiles().length > 0) - return false; - else + return isEmptyDirectory(new File(directoryName), checkSubdirectories); + + } + + private static boolean isEmptyDirectory(File directory, boolean checkSubdirectories) throws FileUtilException { + + if(directory.exists()) { + File files[] = directory.listFiles(); + + if(files.length > 0) { + if ( ! checkSubdirectories ) { + return false; + } else { + boolean isEmpty = true; + for ( int i=0; i