String projectID = entry.getKey();
IProject project = entry.getValue();
if (namePage.overwriteResources(projectID)
&& !preferenceUtils.isAutoReuseExisting()) {
FileListDiff diff;
if (!project.isOpen()) {
try {
project.open(null);
} catch (CoreException e) {
log.debug(
"An error occur while opening the source file", e); //$NON-NLS-1$
}
}
try {
FileList remoteFileList = this.process
.getRemoteFileList(projectID);
if (sessionManager.getSarosSession().isShared(project)) {
FileList sharedFileList = FileListFactory
.createFileList(project, sessionManager
.getSarosSession().getSharedResources(project),
true, null);
remoteFileList.getPaths().addAll(
sharedFileList.getPaths());
}
diff = FileListDiff.diff(FileListFactory.createFileList(
project, null, true, null), remoteFileList);
} catch (CoreException e) {
MessageDialog.openError(getShell(),
"Error computing FileList",
"Could not compute local FileList: " + e.getMessage());
return false;
}
if (this.process.isPartialRemoteProject(projectID))
diff.clearRemovedPaths();
if (!diff.getRemovedPaths().isEmpty()
|| !diff.getAlteredPaths().isEmpty()) {
projectsToOverrideWithDiff.put(project.getName(), diff);
}
}
}