private File clearCachesAboutFile(File f, boolean withParent) { cleanCachesImpl(f.getAbsolutePath()); if (withParent) { File parent = f.getParentFile(); if (parent != null) { cleanCachesImpl(parent.getAbsolutePath()); } return parent; } return null; }
@Override public void fileRenamed(FileRenameEvent fe) { final File parent = clearCachesAboutFile(fe); // update info about old file as well if (parent != null) { final String ext = fe.getExt(); final String oldName = (ext.length() == 0) ? fe.getName() : (fe.getName() + "." + ext); // NOI18N clearCachesAboutFile(new File(parent, oldName), false); } }
private void cleanCachesImpl(String file) { String absPath = preparePath(file); Flags removed = getFilesMap(getLocalFileSystem()).remove(absPath); if (TRACE_EXTERNAL_CHANGES) { System.err.printf("clean cache for %s->%s\n", absPath, removed); } invalidateFile(file, absPath); } }
private File clearCachesAboutFile(FileEvent fe) { return clearCachesAboutFile(CndFileUtils.toFile(fe.getFile()), false); }
@Override public void fileDeleted(FileEvent fe) { clearCachesAboutFile(fe); }
@Override public void fileFolderCreated(FileEvent fe) { File file = CndFileUtils.toFile(fe.getFile()); String path = file.getAbsolutePath(); String absPath = preparePath(path); if (getFilesMap(getLocalFileSystem()).put(absPath, Flags.DIRECTORY) != null) { // If there was something in the map already - invalidate it invalidateFile(path, absPath); } }
@Override public void fileDataCreated(FileEvent fe) { File file = CndFileUtils.toFile(fe.getFile()); String path = file.getAbsolutePath(); String absPath = preparePath(path); if (getFilesMap(getLocalFileSystem()).put(absPath, Flags.FILE) != null) { // If there was something in the map already - invalidate it invalidateFile(path, absPath); } }