From 952cd9329b08aaab0967e8bb873d74e05148c530 Mon Sep 17 00:00:00 2001 From: Hannes Wellmann Date: Sun, 20 Sep 2026 13:14:35 +0200 Subject: [PATCH 1/2] Use new IFileStore.exists() and isDirectory() methods Use the new methods introduced in - https://github.com/eclipse-platform/eclipse.platform/pull/2951 --- .../filebuffers/FileStoreTextFileBuffer.java | 5 +-- .../filebuffers/TextFileBufferManager.java | 4 +- .../history/RefactoringHistoryManager.java | 41 +++++-------------- .../history/RefactoringHistoryService.java | 19 ++++++--- .../RefactoringPropertyPageTester.java | 2 +- .../text/TextFileDocumentProvider.java | 2 +- .../actions/CopyFilesAndFoldersOperation.java | 2 +- .../ui/dialogs/WizardNewFileCreationPage.java | 2 +- .../ui/dialogs/WizardNewFolderMainPage.java | 2 +- .../eclipse/ui/dialogs/WizardNewLinkPage.java | 12 +++--- .../eclipse/ui/ide/FileStoreEditorInput.java | 2 +- .../dialogs/CreateLinkedResourceGroup.java | 6 +-- .../dialogs/FileFolderSelectionDialog.java | 14 ++----- .../ide/dialogs/IDEResourceInfoUtils.java | 4 +- .../ide/dialogs/LinkedResourceEditor.java | 2 +- .../FileStoreStructureProvider.java | 2 +- .../views/log/OpenIDELogFileAction.java | 2 +- .../FileBuffersForFilesInLinkedFolders.java | 2 +- .../tests/FileBuffersForWorkspaceFiles.java | 2 +- ...FileStoreFileBuffersForWorkspaceFiles.java | 2 +- .../tests/internal/VirtualTestFileStore.java | 2 +- 21 files changed, 55 insertions(+), 76 deletions(-) diff --git a/bundles/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileStoreTextFileBuffer.java b/bundles/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileStoreTextFileBuffer.java index 28dde859f35..df3810e95e9 100644 --- a/bundles/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileStoreTextFileBuffer.java +++ b/bundles/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/FileStoreTextFileBuffer.java @@ -170,7 +170,7 @@ public IStatus getStatus() { } private InputStream getFileContents(IFileStore fileStore) throws CoreException { - if (!fFileStore.fetchInfo().exists()) { + if (!fFileStore.exists()) { return null; } @@ -418,8 +418,7 @@ protected void commitFileBufferContent(IProgressMonitor monitor, boolean overwri throw new CoreException(s); } - IFileInfo fileInfo= fFileStore.fetchInfo(); - if (fileInfo != null && fileInfo.exists()) { + if (fFileStore.exists()) { if (!overwrite) { checkSynchronizationState(); diff --git a/bundles/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/TextFileBufferManager.java b/bundles/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/TextFileBufferManager.java index 2b907968d89..5d46aa49f0c 100644 --- a/bundles/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/TextFileBufferManager.java +++ b/bundles/org.eclipse.core.filebuffers/src/org/eclipse/core/internal/filebuffers/TextFileBufferManager.java @@ -24,7 +24,6 @@ import java.util.Map; import org.eclipse.core.filesystem.EFS; -import org.eclipse.core.filesystem.IFileInfo; import org.eclipse.core.filesystem.IFileStore; import org.eclipse.core.filesystem.URIUtil; @@ -276,8 +275,7 @@ protected boolean isTextFileLocation(IFileStore fileStore, boolean strict) { } IContentTypeManager manager= Platform.getContentTypeManager(); - IFileInfo fileInfo= fileStore.fetchInfo(); - if (fileInfo.exists()) { + if (fileStore.exists()) { try(InputStream is= fileStore.openInputStream(EFS.NONE, null)) { IContentDescription description= manager.getDescriptionFor(is, fileStore.getName(), IContentDescription.ALL); diff --git a/bundles/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/history/RefactoringHistoryManager.java b/bundles/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/history/RefactoringHistoryManager.java index 3832104df53..9d9f336808b 100644 --- a/bundles/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/history/RefactoringHistoryManager.java +++ b/bundles/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/history/RefactoringHistoryManager.java @@ -13,6 +13,8 @@ *******************************************************************************/ package org.eclipse.ltk.internal.core.refactoring.history; +import static org.eclipse.ltk.internal.core.refactoring.history.RefactoringHistoryService.exists; + import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; @@ -785,7 +787,7 @@ void addRefactoringDescriptor(final RefactoringDescriptor descriptor, final bool final IFileStore history= folder.getChild(RefactoringHistoryService.NAME_HISTORY_FILE); final IFileStore index= folder.getChild(RefactoringHistoryService.NAME_INDEX_FILE); final RefactoringDescriptorProxy[] proxies= new RefactoringDescriptorProxy[] { new DefaultRefactoringDescriptorProxy(descriptor.getDescription(), descriptor.getProject(), descriptor.getTimeStamp())}; - if (history.fetchInfo(EFS.NONE, subMon.newChild(1, SubMonitor.SUPPRESS_SUBTASK)).exists()) { + if (exists(history, subMon.newChild(1, SubMonitor.SUPPRESS_SUBTASK))) { InputStream input= null; try { input= new BufferedInputStream(history.openInputStream(EFS.NONE, subMon.newChild(1, SubMonitor.SUPPRESS_SUBTASK))); @@ -933,11 +935,11 @@ RefactoringHistory readRefactoringHistory(final long start, final long end, fina SubMonitor subMon= SubMonitor.convert(monitor, RefactoringCoreMessages.RefactoringHistoryService_retrieving_history, 200); final Set set= new HashSet<>(); try { - if (fHistoryStore.fetchInfo(EFS.NONE, subMon.newChild(20, SubMonitor.SUPPRESS_SUBTASK)).exists()) { + if (exists(fHistoryStore, subMon.newChild(20, SubMonitor.SUPPRESS_SUBTASK))) { readRefactoringDescriptorProxies(fHistoryStore, fProjectName, set, start, end, subMon.newChild(80), RefactoringCoreMessages.RefactoringHistoryService_retrieving_history); } final IFileStore store= EFS.getLocalFileSystem().getStore(RefactoringCorePlugin.getDefault().getStateLocation()).getChild(RefactoringHistoryService.NAME_HISTORY_FOLDER).getChild(RefactoringHistoryService.NAME_WORKSPACE_PROJECT); - if (store.fetchInfo(EFS.NONE, subMon.newChild(20, SubMonitor.SUPPRESS_SUBTASK)).exists()) { + if (exists(store, subMon.newChild(20, SubMonitor.SUPPRESS_SUBTASK))) { readRefactoringDescriptorProxies(store, null, set, start, end, subMon.newChild(80), RefactoringCoreMessages.RefactoringHistoryService_retrieving_history); } } catch (CoreException exception) { @@ -974,29 +976,19 @@ private void removeRefactoringDescriptors(final RefactoringDescriptorProxy[] pro SubMonitor subMon= SubMonitor.convert(monitor, task, 5); final IFileStore folder= fHistoryStore.getFileStore(path); final IFileStore index= folder.getChild(RefactoringHistoryService.NAME_INDEX_FILE); - if (index.fetchInfo(EFS.NONE, subMon.newChild(1, SubMonitor.SUPPRESS_SUBTASK)).exists()) { + if (exists(index, subMon.newChild(1, SubMonitor.SUPPRESS_SUBTASK))) { final Set resultingProxies= new HashSet<>(64); readRefactoringDescriptorProxies(index, null, resultingProxies, 0, Long.MAX_VALUE, subMon.newChild(1), task); if (resultingProxies.size() == proxies.length) { removeIndexTree(folder, subMon.newChild(1), task); } else { final IFileStore history= folder.getChild(RefactoringHistoryService.NAME_HISTORY_FILE); - if (history.fetchInfo(EFS.NONE, subMon.newChild(1, SubMonitor.SUPPRESS_SUBTASK)).exists()) { - InputStream input= null; + if (exists(history, subMon.newChild(1, SubMonitor.SUPPRESS_SUBTASK))) { Document document= null; - try { - input= new BufferedInputStream(history.openInputStream(EFS.NONE, subMon.newChild(1, SubMonitor.SUPPRESS_SUBTASK))); + try (InputStream input= new BufferedInputStream(history.openInputStream(EFS.NONE, subMon.newChild(1, SubMonitor.SUPPRESS_SUBTASK)));) { document= getCachedDocument(path, input); } catch (ParserConfigurationException | IOException | SAXException exception) { throw createCoreException(exception); - } finally { - if (input != null) { - try { - input.close(); - } catch (IOException exception) { - // Do nothing - } - } } final Set removedNodes= new HashSet<>(proxies.length); final NodeList list= document.getElementsByTagName(IRefactoringSerializationConstants.ELEMENT_REFACTORING); @@ -1091,7 +1083,7 @@ RefactoringDescriptor requestDescriptor(final RefactoringDescriptorProxy proxy, try { final IFileStore folder= fHistoryStore.getFileStore(stampToPath(stamp)); final IFileStore file= folder.getChild(RefactoringHistoryService.NAME_HISTORY_FILE); - if (file.fetchInfo(EFS.NONE, subMon.newChild(1, SubMonitor.SUPPRESS_SUBTASK)).exists()) { + if (exists(file, subMon.newChild(1, SubMonitor.SUPPRESS_SUBTASK))) { input= new BufferedInputStream(file.openInputStream(EFS.NONE, subMon.newChild(1, SubMonitor.SUPPRESS_SUBTASK))); final RefactoringSessionDescriptor descriptor= getCachedSession(file, fProjectName, input); if (descriptor != null) { @@ -1141,14 +1133,11 @@ void setComment(final RefactoringDescriptorProxy proxy, final String comment, fi final IPath path= stampToPath(stamp); final IFileStore folder= fHistoryStore.getFileStore(path); final IFileStore history= folder.getChild(RefactoringHistoryService.NAME_HISTORY_FILE); - if (history.fetchInfo(EFS.NONE, subMonitor.newChild(20, SubMonitor.SUPPRESS_SUBTASK)).exists()) { - InputStream input= null; - try { - input= new BufferedInputStream(history.openInputStream(EFS.NONE, subMonitor.newChild(40, SubMonitor.SUPPRESS_SUBTASK))); + if (exists(history, subMonitor.newChild(20, SubMonitor.SUPPRESS_SUBTASK))) { + try (InputStream input= new BufferedInputStream(history.openInputStream(EFS.NONE, subMonitor.newChild(40, SubMonitor.SUPPRESS_SUBTASK)));) { final Document document= getCachedDocument(path, input); try { input.close(); - input= null; } catch (IOException exception) { // Do nothing } @@ -1165,14 +1154,6 @@ void setComment(final RefactoringDescriptorProxy proxy, final String comment, fi writeHistoryEntry(history, document, subMonitor.newChild(40, SubMonitor.SUPPRESS_SUBTASK), RefactoringCoreMessages.RefactoringHistoryService_updating_history); } catch (ParserConfigurationException | IOException | SAXException exception) { throw createCoreException(exception); - } finally { - if (input != null) { - try { - input.close(); - } catch (IOException exception) { - // Do nothing - } - } } } } diff --git a/bundles/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/history/RefactoringHistoryService.java b/bundles/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/history/RefactoringHistoryService.java index fbedf8fde0c..03256b22e2d 100644 --- a/bundles/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/history/RefactoringHistoryService.java +++ b/bundles/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/history/RefactoringHistoryService.java @@ -251,9 +251,9 @@ public static void setSharedRefactoringHistory(final IProject project, final boo final IFileStore history= EFS.getLocalFileSystem().getStore(RefactoringCorePlugin.getDefault().getStateLocation()).getChild(NAME_HISTORY_FOLDER); if (enable) { final IFileStore source= history.getChild(name); - if (source.fetchInfo(EFS.NONE, subMonitor.newChild(20)).exists()) { + if (exists(source, subMonitor.newChild(20))) { IFileStore destination= EFS.getStore(uri).getChild(NAME_HISTORY_FOLDER); - if (destination.fetchInfo(EFS.NONE, subMonitor.newChild(20)).exists()) { + if (exists(destination, subMonitor.newChild(20))) { destination.delete(EFS.NONE, subMonitor.newChild(20)); } destination.mkdir(EFS.NONE, subMonitor.newChild(20)); @@ -262,9 +262,9 @@ public static void setSharedRefactoringHistory(final IProject project, final boo } } else { final IFileStore source= EFS.getStore(uri).getChild(NAME_HISTORY_FOLDER); - if (source.fetchInfo(EFS.NONE, subMonitor.newChild(20)).exists()) { + if (exists(source, subMonitor.newChild(20))) { IFileStore destination= history.getChild(name); - if (destination.fetchInfo(EFS.NONE, subMonitor.newChild(20)).exists()) { + if (exists(destination, subMonitor.newChild(20))) { destination.delete(EFS.NONE, subMonitor.newChild(20)); } destination.mkdir(EFS.NONE, subMonitor.newChild(20)); @@ -848,9 +848,9 @@ private void moveHistory(final IProject oldProject, final IProject newProject, f final String oldName= oldProject.getName(); final String newName= newProject.getName(); final IFileStore oldStore= historyStore.getChild(oldName); - if (oldStore.fetchInfo(EFS.NONE, subMonitor.newChild(10, SubMonitor.SUPPRESS_SUBTASK)).exists()) { + if (exists(oldStore, subMonitor.newChild(10, SubMonitor.SUPPRESS_SUBTASK))) { final IFileStore newStore= historyStore.getChild(newName); - if (newStore.fetchInfo(EFS.NONE, subMonitor.newChild(10, SubMonitor.SUPPRESS_SUBTASK)).exists()) { + if (exists(newStore, subMonitor.newChild(10, SubMonitor.SUPPRESS_SUBTASK))) { newStore.delete(EFS.NONE, subMonitor.newChild(20, SubMonitor.SUPPRESS_SUBTASK)); } oldStore.move(newStore, EFS.OVERWRITE, subMonitor.newChild(20, SubMonitor.SUPPRESS_SUBTASK)); @@ -862,6 +862,13 @@ private void moveHistory(final IProject oldProject, final IProject newProject, f } } + /** + * @param monitor just accepted to allow callers to consume the monitors ticks + */ + static boolean exists(IFileStore store, IProgressMonitor monitor) { + return store.exists(); + } + private void peformResourceChanged(final IResourceChangeEvent event) { final int type= event.getType(); if ((type & IResourceChangeEvent.POST_CHANGE) != 0) { diff --git a/bundles/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/history/RefactoringPropertyPageTester.java b/bundles/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/history/RefactoringPropertyPageTester.java index 92eb8990cb4..9a622afabb1 100644 --- a/bundles/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/history/RefactoringPropertyPageTester.java +++ b/bundles/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/history/RefactoringPropertyPageTester.java @@ -67,7 +67,7 @@ public boolean test(final Object receiver, final String property, final Object[] if (resource instanceof final IProject project) { final IFileStore store= getHistoryStore(project); if (store != null) { - return store.fetchInfo().exists(); + return store.exists(); } } } diff --git a/bundles/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/TextFileDocumentProvider.java b/bundles/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/TextFileDocumentProvider.java index b7b0ba8cf9b..abb92492df2 100644 --- a/bundles/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/TextFileDocumentProvider.java +++ b/bundles/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/TextFileDocumentProvider.java @@ -993,7 +993,7 @@ public boolean isDeleted(Object element) { FileInfo info= fFileInfoMap.get(element); if (info != null) { IFileStore fileStore= getFileStore(info); - return fileStore == null ? true : !fileStore.fetchInfo().exists(); + return fileStore == null || !fileStore.exists(); } return getParentProvider().isDeleted(element); } diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java index 5e076ad3b72..6bae6ecd76f 100644 --- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java +++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java @@ -225,7 +225,7 @@ IStatus checkExist(IFileStore[] stores) { IStatus.OK, getProblemsMessage(), null); for (IFileStore store : stores) { - if (!store.fetchInfo().exists()) { + if (!store.exists()) { String message = NLS.bind(IDEWorkbenchMessages.CopyFilesAndFoldersOperation_resourceDeleted, store.getName()); IStatus status = new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, IStatus.OK, message, null); diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java index 8d97526689e..d57bf78d478 100644 --- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java +++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java @@ -365,7 +365,7 @@ public IFile createNewFile() { try { if (resolvedPath.getScheme() != null && resolvedPath.getSchemeSpecificPart() != null) { IFileStore store = EFS.getStore(resolvedPath); - if (!store.fetchInfo().exists()) { + if (!store.exists()) { MessageDialog dlg = new MessageDialog(getContainer().getShell(), IDEWorkbenchMessages.WizardNewFileCreationPage_createLinkLocationTitle, null, NLS.bind(IDEWorkbenchMessages.WizardNewFileCreationPage_createLinkLocationQuestion, diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFolderMainPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFolderMainPage.java index 8db9055aae4..ff31b2c303f 100644 --- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFolderMainPage.java +++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFolderMainPage.java @@ -413,7 +413,7 @@ public IFolder createNewFolder() { URI resolvedPath = newFolderHandle.getPathVariableManager().resolveURI(linkTargetPath); try { IFileStore store = EFS.getStore(resolvedPath); - if (!store.fetchInfo().exists()) { + if (!store.exists()) { MessageDialog dlg = new MessageDialog(getContainer().getShell(), IDEWorkbenchMessages.WizardNewFolderCreationPage_createLinkLocationTitle, null, NLS.bind(IDEWorkbenchMessages.WizardNewFolderCreationPage_createLinkLocationQuestion, diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewLinkPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewLinkPage.java index 807f556b71e..442e23f2ff9 100644 --- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewLinkPage.java +++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewLinkPage.java @@ -209,14 +209,14 @@ private void handleLinkTargetBrowseButtonPressed() { IFileStore store = null; if (linkTargetName.length() > 0) { store = IDEResourceInfoUtils.getFileStore(linkTargetName); - if (store == null || !store.fetchInfo().exists()) { + if (store == null || !store.exists()) { store = null; } } if (type == IResource.FILE) { FileDialog dialog = new FileDialog(getShell(), SWT.SHEET); if (store != null) { - if (store.fetchInfo().isDirectory()) { + if (store.isDirectory()) { dialog.setFilterPath(linkTargetName); } else { dialog.setFileName(linkTargetName); @@ -226,7 +226,7 @@ private void handleLinkTargetBrowseButtonPressed() { } else { DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.SHEET); if (store != null) { - if (!store.fetchInfo().isDirectory()) { + if (!store.isDirectory()) { linkTargetName = store.getParent().getName(); } if (linkTargetName != null) { @@ -294,10 +294,10 @@ public void setLinkTarget(String target) { private boolean validateFileType(IFileStore linkTargetStore) { boolean valid = true; - if (type == IResource.FILE && linkTargetStore.fetchInfo().isDirectory()) { + if (type == IResource.FILE && linkTargetStore.isDirectory()) { setErrorMessage(IDEWorkbenchMessages.WizardNewLinkPage_linkTargetNotFile); valid = false; - } else if (type == IResource.FOLDER && !linkTargetStore.fetchInfo().isDirectory()) { + } else if (type == IResource.FOLDER && !linkTargetStore.isDirectory()) { setErrorMessage(IDEWorkbenchMessages.WizardNewLinkPage_linkTargetNotFolder); valid = false; } @@ -343,7 +343,7 @@ private boolean validatePage() { valid = validateLinkTargetName(linkTargetName); if (valid) { IFileStore linkTargetFile = IDEResourceInfoUtils.getFileStore(linkTargetName); - if (linkTargetFile == null || !linkTargetFile.fetchInfo().exists()) { + if (linkTargetFile == null || !linkTargetFile.exists()) { setErrorMessage(IDEWorkbenchMessages.WizardNewLinkPage_linkTargetNonExistent); valid = false; } else { diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/FileStoreEditorInput.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/FileStoreEditorInput.java index e929d4f5078..880b9203308 100644 --- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/FileStoreEditorInput.java +++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/FileStoreEditorInput.java @@ -76,7 +76,7 @@ public FileStoreEditorInput(IFileStore fileStore) { @Override public boolean exists() { - return fileStore.fetchInfo().exists(); + return fileStore.exists(); } @Override diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateLinkedResourceGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateLinkedResourceGroup.java index 2f9f223069a..203899bcb61 100644 --- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateLinkedResourceGroup.java +++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateLinkedResourceGroup.java @@ -467,7 +467,7 @@ private void handleLinkTargetBrowseButtonPressed() { if (linkTarget.length() > 0) { store = IDEResourceInfoUtils.getFileStore(linkTarget); - if (!store.fetchInfo().exists()) { + if (!store.exists()) { store = null; } } @@ -476,7 +476,7 @@ private void handleLinkTargetBrowseButtonPressed() { FileDialog dialog = new FileDialog(linkTargetField.getShell(), SWT.SHEET); dialog.setText(IDEWorkbenchMessages.CreateLinkedResourceGroup_targetSelectionTitle); if (store != null) { - if (store.fetchInfo().isDirectory()) { + if (store.isDirectory()) { dialog.setFilterPath(linkTarget); } else { dialog.setFileName(linkTarget); @@ -494,7 +494,7 @@ private void handleLinkTargetBrowseButtonPressed() { String filterPath = null; if (store != null) { IFileStore path = store; - if (!store.fetchInfo().isDirectory()) { + if (!store.isDirectory()) { path = store.getParent(); } if (path != null) { diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileFolderSelectionDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileFolderSelectionDialog.java index 018bfd1b67d..aa9e950397c 100644 --- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileFolderSelectionDialog.java +++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileFolderSelectionDialog.java @@ -52,7 +52,7 @@ private static class FileLabelProvider extends LabelProvider { @Override public Image getImage(Object element) { if (element instanceof IFileStore curr) { - if (curr.fetchInfo().isDirectory()) { + if (curr.isDirectory()) { return IMG_FOLDER; } return IMG_FILE; @@ -85,12 +85,7 @@ private static class FileContentProvider implements ITreeContentProvider { * receiver. false only folders are returned. */ public FileContentProvider(final boolean showFiles) { - fileFilter = file -> { - if (!file.fetchInfo().isDirectory() && !showFiles) { - return false; - } - return true; - }; + fileFilter = file -> showFiles || file.isDirectory(); } @Override @@ -139,8 +134,7 @@ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { private static class FileViewerSorter extends ViewerComparator { @Override public int category(Object element) { - if (element instanceof IFileStore - && !((IFileStore) element).fetchInfo().isDirectory()) { + if (element instanceof IFileStore fileStore && !fileStore.isDirectory()) { return 1; } return 0; @@ -182,7 +176,7 @@ public IStatus validate(Object[] selection) { } for (Object currentSelection : selection) { if (currentSelection instanceof IFileStore file) { - if (!acceptFolders && file.fetchInfo().isDirectory()) { + if (!acceptFolders && file.isDirectory()) { return new Status(IStatus.ERROR, pluginId, IStatus.ERROR, IDEResourceInfoUtils.EMPTY_STRING, null); diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEResourceInfoUtils.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEResourceInfoUtils.java index f4ae439a064..a506acc97bb 100644 --- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEResourceInfoUtils.java +++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEResourceInfoUtils.java @@ -256,7 +256,7 @@ public static String getLocationText(IResource resource) { if (store == null) { return UNKNOWN_LABEL; } - if (!store.fetchInfo().exists()) { + if (!store.exists()) { return NLS.bind(FILE_NOT_EXIST_TEXT, store.toString()); } } @@ -300,7 +300,7 @@ public static String getResolvedLocationText(IResource resource) { } // don't access the file system for closed projects (bug 151089) - if (isProjectAccessible(resource) && !store.fetchInfo().exists()) { + if (isProjectAccessible(resource) && !store.exists()) { return NLS.bind(FILE_NOT_EXIST_TEXT, store.toString()); } diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/LinkedResourceEditor.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/LinkedResourceEditor.java index 4ffe1f145ed..8089b83a2d4 100644 --- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/LinkedResourceEditor.java +++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/LinkedResourceEditor.java @@ -493,7 +493,7 @@ boolean exists(IResource res) throws CoreException { URI uri = res.getLocationURI(); if (uri != null) { IFileStore fileStore = EFS.getStore(uri); - return (fileStore != null) && fileStore.fetchInfo().exists(); + return fileStore != null && fileStore.exists(); } return false; } diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileStoreStructureProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileStoreStructureProvider.java index d6c16d5d80e..96035909865 100644 --- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileStoreStructureProvider.java +++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileStoreStructureProvider.java @@ -79,7 +79,7 @@ public String getLabel(Object element) { @Override public boolean isFolder(Object element) { - return ((IFileStore) element).fetchInfo().isDirectory(); + return ((IFileStore) element).isDirectory(); } } diff --git a/bundles/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/OpenIDELogFileAction.java b/bundles/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/OpenIDELogFileAction.java index d368c784b80..318b8b02a4b 100644 --- a/bundles/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/OpenIDELogFileAction.java +++ b/bundles/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/OpenIDELogFileAction.java @@ -38,7 +38,7 @@ public OpenIDELogFileAction(LogView logView) { public void run() { IPath logPath = IPath.fromOSString(fView.getLogFile().getAbsolutePath()); IFileStore fileStore = EFS.getLocalFileSystem().getStore(logPath); - if (!fileStore.fetchInfo().isDirectory() && fileStore.fetchInfo().exists()) { + if (!fileStore.isDirectory() && fileStore.exists()) { IWorkbenchWindow ww = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); IWorkbenchPage page = ww.getActivePage(); try { diff --git a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForFilesInLinkedFolders.java b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForFilesInLinkedFolders.java index 614fa456be9..6667897aa29 100644 --- a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForFilesInLinkedFolders.java +++ b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForFilesInLinkedFolders.java @@ -106,7 +106,7 @@ protected IPath moveUnderlyingFile() throws Exception { @Override protected boolean modifyUnderlyingFile() throws Exception { IFileStore fileStore= FileBuffers.getFileStoreAtLocation(getPath()); - assertTrue(fileStore.fetchInfo().exists()); + assertTrue(fileStore.exists()); try (OutputStream out= fileStore.openOutputStream(EFS.NONE, null)) { out.write("Changed content of file in linked folder".getBytes()); out.flush(); diff --git a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForWorkspaceFiles.java b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForWorkspaceFiles.java index fc262154011..51b6c7361cd 100644 --- a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForWorkspaceFiles.java +++ b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForWorkspaceFiles.java @@ -86,7 +86,7 @@ protected IPath moveUnderlyingFile() throws Exception { @Override protected boolean modifyUnderlyingFile() throws Exception { IFileStore fileStore= FileBuffers.getFileStoreAtLocation(getPath()); - assertTrue(fileStore.fetchInfo().exists()); + assertTrue(fileStore.exists()); try (OutputStream out= fileStore.openOutputStream(EFS.NONE, null)) { out.write("Changed content of workspace file".getBytes()); out.flush(); diff --git a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileStoreFileBuffersForWorkspaceFiles.java b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileStoreFileBuffersForWorkspaceFiles.java index e4a6ede05d2..d48c8b8d99b 100644 --- a/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileStoreFileBuffersForWorkspaceFiles.java +++ b/tests/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileStoreFileBuffersForWorkspaceFiles.java @@ -86,7 +86,7 @@ protected IPath moveUnderlyingFile() throws Exception { @Override protected boolean modifyUnderlyingFile() throws Exception { IFileStore fileStore= FileBuffers.getFileStoreAtLocation(getPath()); - assertTrue(fileStore.fetchInfo().exists()); + assertTrue(fileStore.exists()); try (OutputStream out= fileStore.openOutputStream(EFS.NONE, null)) { out.write("Changed content of workspace file".getBytes()); out.flush(); diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/VirtualTestFileStore.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/VirtualTestFileStore.java index f6edc10a0a1..e83cffcfe78 100644 --- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/VirtualTestFileStore.java +++ b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/internal/VirtualTestFileStore.java @@ -135,7 +135,7 @@ public IFileStore mkdir(int options, IProgressMonitor monitor) throws CoreExcept } } else { IFileStore parent = getParent(); - if (parent.fetchInfo().exists()) { + if (parent.exists()) { VirtualTestFileSystem.getDefault().setContents(toURI(), VirtualTestFileSystem.DIRECTORY_BYTES); } else if ((options & EFS.SHALLOW) > 0) { throw new CoreException(Status.error("mkdir failed - parent does not exist: " + toURI())); //$NON-NLS-1$ From bd979123d1bbe9a6b680f6cb5cc27ed820a95c66 Mon Sep 17 00:00:00 2001 From: Eclipse Platform Bot Date: Wed, 23 Sep 2026 17:45:37 +0000 Subject: [PATCH 2/2] Version bump(s) for 4.42 stream --- bundles/org.eclipse.core.filebuffers/META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundles/org.eclipse.core.filebuffers/META-INF/MANIFEST.MF b/bundles/org.eclipse.core.filebuffers/META-INF/MANIFEST.MF index 28637f565f2..48a56f9c28e 100644 --- a/bundles/org.eclipse.core.filebuffers/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.core.filebuffers/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.core.filebuffers; singleton:=true -Bundle-Version: 3.8.600.qualifier +Bundle-Version: 3.8.700.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Export-Package: