Revision: 2527 http://archive-access.svn.sourceforge.net/archive-access/?rev=2527&view=rev Author: bradtofel Date: 2008-08-08 23:00:44 +0000 (Fri, 08 Aug 2008) Log Message: ----------- BUGFIX(unreported): NPE was occurring with missing directory. TWEAK: cleaned up logging of missing directory. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/resourcefile/DirectoryResourceFileSource.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/resourcefile/DirectoryResourceFileSource.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/resourcefile/DirectoryResourceFileSource.java 2008-08-08 22:59:14 UTC (rev 2526) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/resourcefile/DirectoryResourceFileSource.java 2008-08-08 23:00:44 UTC (rev 2527) @@ -29,6 +29,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.logging.Logger; /** * Local directory tree holding ARC and WARC files. @@ -37,6 +38,8 @@ * @version $Date$, $Revision$ */ public class DirectoryResourceFileSource implements ResourceFileSource { + private static final Logger LOGGER = + Logger.getLogger(DirectoryResourceFileSource.class.getName()); private static char SEPRTR = '_'; private String name = null; @@ -68,16 +71,22 @@ */ private void populateFileList(ResourceFileList list, File root, boolean recurse) throws IOException { - - File[] files = root.listFiles(); - for(File file : files) { - if(file.isFile() && filter.accept(root, file.getName())) { - ResourceFileLocation location = new ResourceFileLocation( - file.getName(),file.getAbsolutePath()); - list.add(location); - } else if(recurse && file.isDirectory()){ - populateFileList(list, file, recurse); + if(root.isDirectory()) { + File[] files = root.listFiles(); + if(files != null) { + for(File file : files) { + if(file.isFile() && filter.accept(root, file.getName())) { + ResourceFileLocation location = new ResourceFileLocation( + file.getName(),file.getAbsolutePath()); + list.add(location); + } else if(recurse && file.isDirectory()){ + populateFileList(list, file, recurse); + } + } } + } else { + LOGGER.warning(root.getAbsolutePath() + " is not a directory."); + return; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |