mirror of
https://github.com/hierynomus/sshj.git
synced 2025-12-06 15:20:54 +03:00
Buggy cache
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user