Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 314494

Summary: [local] Broken symbolic links are not shown in the Local file system on Linux
Product: [Tools] Target Management Reporter: Martin Oberhuber <mober.at+eclipse>
Component: RSEAssignee: dsdp.tm.rse-inbox <tm.rse-inbox>
Status: NEW --- QA Contact: Martin Oberhuber <mober.at+eclipse>
Severity: normal    
Priority: P3    
Version: 3.2   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Martin Oberhuber CLA 2010-05-26 12:02:25 EDT
Build ID: RSE 3.2rc2

mkdir adir
cd adir
ln -s notExisting.txt broken.txt

--> The broken symbolic link "broken.txt" is not displayed in the RSE Local file system on Linux, whereas it is properly displayed with the SSH and DStore connections.

I briefly checked the code, and it looks like there are 2 culprits:
1.) org.eclipse.rse.internal.subsystems.files.local.model.LocalFile
    The  getClassification() method only performs a real classification if
    IHostFile#isFile() is true, which is not the case for broken symlinks.

2.) org.eclipse.rse.services.clientserver.SystemFileClassifier.classifyFile(String)
    performs no work if it thinks that the file in question does not exist.
    This is different to the classifier used for dstore,
    org.eclipse.rse.internal.dstore.universal.miners.filesystem.FileClassifier
Comment 1 Martin Oberhuber CLA 2010-05-26 12:11:39 EDT
I have added a Unittest for the problem, see attachment 170033 [details] on bug 314496.