@Override
public void fileRenamed(FileRenameEvent fe) {
if (TraceFlags.TRACE_EXTERNAL_CHANGES) {
LOG.log(Level.INFO, "External updates: try to register fileRenamed {0}", fe);
}
final ModelImpl model = modelSupport.getModel();
if (model != null) {
final FileObject fo = fe.getFile();
if (isCOrCpp(fo)) {
FSPath newPath = FSPath.toFSPath(fo);
String strPrevExt = (fe.getExt() == null || fe.getExt().isEmpty()) ? "" : "." + fe.getExt();
String strPrevPath = CndPathUtilities.getDirName(newPath.getPath()) + '/' + fe.getName() + strPrevExt;
FSPath prevPath = new FSPath(newPath.getFileSystem(), strPrevPath);
FileObject removedFO = InvalidFileObjectSupport.getInvalidFileObject(prevPath.getFileSystem(), prevPath.getPath());
FileEvent deleteFE = new FileEvent((FileObject) fe.getSource(), removedFO, fe.isExpected(), fe.getTime());
synchronized (eventsLock) {
if (TraceFlags.TRACE_EXTERNAL_CHANGES) {
LOG.log(Level.INFO, "External updates: registered fileRenamed {0}", fe);
}
events.addLast(new Pair(EventKind.DELETED, deleteFE));
events.addLast(new Pair(EventKind.CREATED, fe));
}
}
}
}