Lines 3530-3535
Link Here
|
3530 |
|
3530 |
|
3531 |
// initialize all containers and variables |
3531 |
// initialize all containers and variables |
3532 |
JavaModelManager manager = JavaModelManager.getJavaModelManager(); |
3532 |
JavaModelManager manager = JavaModelManager.getJavaModelManager(); |
|
|
3533 |
ExternalFoldersManager externalFoldersManager = JavaModelManager.getExternalManager(); |
3534 |
externalFoldersManager.createExternalFoldersProject(monitor); |
3533 |
SubProgressMonitor subMonitor = null; |
3535 |
SubProgressMonitor subMonitor = null; |
3534 |
try { |
3536 |
try { |
3535 |
if (monitor != null) { |
3537 |
if (monitor != null) { |
Lines 3565-3571
Link Here
|
3565 |
// and recreate links for external folders if needed |
3567 |
// and recreate links for external folders if needed |
3566 |
if (monitor != null) |
3568 |
if (monitor != null) |
3567 |
monitor.subTask(Messages.javamodel_resetting_source_attachment_properties); |
3569 |
monitor.subTask(Messages.javamodel_resetting_source_attachment_properties); |
3568 |
ExternalFoldersManager externalFoldersManager = JavaModelManager.getExternalManager(); |
|
|
3569 |
final IJavaProject[] projects = manager.getJavaModel().getJavaProjects(); |
3570 |
final IJavaProject[] projects = manager.getJavaModel().getJavaProjects(); |
3570 |
HashSet visitedPaths = new HashSet(); |
3571 |
HashSet visitedPaths = new HashSet(); |
3571 |
for (int i = 0, length = projects.length; i < length; i++) { |
3572 |
for (int i = 0, length = projects.length; i < length; i++) { |
Lines 3578-3584
Link Here
|
3578 |
continue; |
3579 |
continue; |
3579 |
} |
3580 |
} |
3580 |
if (classpath != null) { |
3581 |
if (classpath != null) { |
3581 |
boolean needExternalFolderCreation = false; |
|
|
3582 |
for (int j = 0, length2 = classpath.length; j < length2; j++) { |
3582 |
for (int j = 0, length2 = classpath.length; j < length2; j++) { |
3583 |
IClasspathEntry entry = classpath[j]; |
3583 |
IClasspathEntry entry = classpath[j]; |
3584 |
if (entry.getSourceAttachmentPath() != null) { |
3584 |
if (entry.getSourceAttachmentPath() != null) { |
Lines 3588-3605
Link Here
|
3588 |
} |
3588 |
} |
3589 |
} |
3589 |
} |
3590 |
// else source might have been attached by IPackageFragmentRoot#attachSource(...), we keep it |
3590 |
// else source might have been attached by IPackageFragmentRoot#attachSource(...), we keep it |
3591 |
if (!needExternalFolderCreation && entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) { |
3591 |
if (entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) { |
3592 |
IPath entryPath = entry.getPath(); |
3592 |
IPath entryPath = entry.getPath(); |
3593 |
if (ExternalFoldersManager.isExternalFolderPath(entryPath) && externalFoldersManager.getFolder(entryPath) == null) { |
3593 |
if (ExternalFoldersManager.isExternalFolderPath(entryPath) && externalFoldersManager.getFolder(entryPath) == null) { |
3594 |
needExternalFolderCreation = true; |
3594 |
externalFoldersManager.addFolder(entryPath, true); |
3595 |
} |
3595 |
} |
3596 |
} |
3596 |
} |
3597 |
} |
3597 |
} |
3598 |
if (needExternalFolderCreation) |
|
|
3599 |
manager.deltaState.addExternalFolderChange(javaProject, null/*act as if all external folders were new*/); |
3600 |
} |
3598 |
} |
3601 |
} |
3599 |
} |
3602 |
|
3600 |
externalFoldersManager.createPendingFolders(monitor); |
3603 |
// initialize delta state |
3601 |
// initialize delta state |
3604 |
if (monitor != null) |
3602 |
if (monitor != null) |
3605 |
monitor.subTask(Messages.javamodel_initializing_delta_state); |
3603 |
monitor.subTask(Messages.javamodel_initializing_delta_state); |