Buggy cache

This commit is contained in:
Shikhar Bhushan
2011-04-10 14:23:19 +01:00
parent ce930c969b
commit d1043ea288

View File

@@ -84,14 +84,10 @@ public class FileSystemFile
@Override @Override
public Iterable<FileSystemFile> getChildren(final LocalFileFilter filter) public Iterable<FileSystemFile> getChildren(final LocalFileFilter filter)
throws IOException { throws IOException {
final Map<File, FileSystemFile> cache = new HashMap<File, FileSystemFile>();
File[] childFiles = filter == null ? file.listFiles() : file.listFiles(new FileFilter() { File[] childFiles = filter == null ? file.listFiles() : file.listFiles(new FileFilter() {
@Override @Override
public boolean accept(File file) { public boolean accept(File file) {
final FileSystemFile fsf = new FileSystemFile(file); return filter.accept(new FileSystemFile(file));
cache.put(file, fsf);
return filter.accept(fsf);
} }
}); });
@@ -100,7 +96,7 @@ public class FileSystemFile
final List<FileSystemFile> children = new ArrayList<FileSystemFile>(); final List<FileSystemFile> children = new ArrayList<FileSystemFile>();
for (File f : childFiles) { for (File f : childFiles) {
children.add(cache.get(f)); children.add(new FileSystemFile(f));
} }
return children; return children;
} }
@@ -207,7 +203,7 @@ public class FileSystemFile
@Override @Override
public int hashCode() { public int hashCode() {
return file != null ? file.hashCode() : 0; return file.hashCode();
} }
@Override @Override