mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-08 09:35:23 +02:00
efs stuff
This commit is contained in:
parent
d3c8213b63
commit
fdae0fb85b
1 changed files with 33 additions and 5 deletions
|
@ -19,6 +19,7 @@ package org.eclipse.rse.eclipse.filesystem;
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -170,7 +171,7 @@ public class RSEFileStoreRemoteFileWrapper extends FileStore implements IFileSto
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public InputStream openInputStream(int options, IProgressMonitor monitor) throws CoreException
|
public synchronized InputStream openInputStream(int options, IProgressMonitor monitor) throws CoreException
|
||||||
{
|
{
|
||||||
if (_remoteFile.exists())
|
if (_remoteFile.exists())
|
||||||
{
|
{
|
||||||
|
@ -216,7 +217,16 @@ public class RSEFileStoreRemoteFileWrapper extends FileStore implements IFileSto
|
||||||
file = (IFile)UniversalFileTransferUtility.copyRemoteResourceToWorkspace(_remoteFile, monitor);
|
file = (IFile)UniversalFileTransferUtility.copyRemoteResourceToWorkspace(_remoteFile, monitor);
|
||||||
if (file != null && !file.isSynchronized(IResource.DEPTH_ZERO))
|
if (file != null && !file.isSynchronized(IResource.DEPTH_ZERO))
|
||||||
{
|
{
|
||||||
//file.getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
|
/*
|
||||||
|
try
|
||||||
|
{
|
||||||
|
file.refreshLocal(IFile.DEPTH_ZERO, monitor);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -224,12 +234,30 @@ public class RSEFileStoreRemoteFileWrapper extends FileStore implements IFileSto
|
||||||
{
|
{
|
||||||
file = (IFile)UniversalFileTransferUtility.getTempFileFor(_remoteFile);
|
file = (IFile)UniversalFileTransferUtility.getTempFileFor(_remoteFile);
|
||||||
}
|
}
|
||||||
// if (!file.isSynchronized(IFile.DEPTH_ZERO))
|
if (!file.isSynchronized(IFile.DEPTH_ZERO) && !_remoteFile.getName().equals(".project"))
|
||||||
// file.refreshLocal(IFile.DEPTH_ZERO, monitor);
|
{
|
||||||
|
file.refreshLocal(IFile.DEPTH_ONE, monitor);
|
||||||
|
}
|
||||||
if (file != null)
|
if (file != null)
|
||||||
|
{
|
||||||
|
if (file.isSynchronized(IFile.DEPTH_ZERO))
|
||||||
{
|
{
|
||||||
return file.getContents();
|
return file.getContents();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
File osFile = file.getLocation().toFile();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
FileInputStream instream = new FileInputStream(osFile);
|
||||||
|
return instream;
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue