View | Details | Raw Unified | Return to bug 197758 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/rse/internal/services/files/ftp/FTPHostFile.java (+12 lines)
Lines 34-39 Link Here
34
	private String _name;
34
	private String _name;
35
	private String _parentPath;
35
	private String _parentPath;
36
	private boolean _isDirectory;
36
	private boolean _isDirectory;
37
	private boolean _isLink;
37
	private boolean _isArchive;
38
	private boolean _isArchive;
38
	private long _lastModified;
39
	private long _lastModified;
39
	private long _size;
40
	private long _size;
Lines 65-70 Link Here
65
		_name = ftpFile.getName();
66
		_name = ftpFile.getName();
66
		
67
		
67
		_isDirectory = ftpFile.isDirectory();
68
		_isDirectory = ftpFile.isDirectory();
69
		_isLink = ftpFile.isSymbolicLink();
68
		_lastModified = ftpFile.getTimestamp().getTimeInMillis();
70
		_lastModified = ftpFile.getTimestamp().getTimeInMillis();
69
		_size = ftpFile.getSize();
71
		_size = ftpFile.getSize();
70
		_isArchive = internalIsArchive();
72
		_isArchive = internalIsArchive();
Lines 92-97 Link Here
92
		return !(_isDirectory || _isRoot);
94
		return !(_isDirectory || _isRoot);
93
	}
95
	}
94
	
96
	
97
	public boolean isSymbolicLink()
98
	{
99
		return _isLink;
100
	}
101
	
95
	public String getName()
102
	public String getName()
96
	{
103
	{
97
		return _name;
104
		return _name;
Lines 234-237 Link Here
234
		&& !ArchiveHandlerManager.isVirtual(getAbsolutePath());
241
		&& !ArchiveHandlerManager.isVirtual(getAbsolutePath());
235
	}
242
	}
236
	
243
	
244
	public void setIsDirectory(boolean isDirectory)
245
	{
246
		_isDirectory = isDirectory;
247
	}
248
	
237
}
249
}
(-)src/org/eclipse/rse/internal/services/files/ftp/FTPService.java (+16 lines)
Lines 509-514 Link Here
509
					_ftpLoggingOutputStream.write(rawListLine.getBytes());
509
					_ftpLoggingOutputStream.write(rawListLine.getBytes());
510
					
510
					
511
					FTPHostFile f = new FTPHostFile(parentPath, _ftpFiles[i]);
511
					FTPHostFile f = new FTPHostFile(parentPath, _ftpFiles[i]);
512
					
513
					if(f.isSymbolicLink())
514
					{
515
						//attempt to access the destination folder, if success then it's a folder
516
						//otherwise leave it as a file (default), the operation is not shown in the console
517
						_ftpClient.registerSpyStream(null);
518
						if(_ftpClient.changeWorkingDirectory(f.getAbsolutePath()))
519
						{
520
							//success, revert working directory  
521
							_ftpClient.changeWorkingDirectory(parentPath);
522
							//modify FTPHostFile to be shown as a folder
523
							f.setIsDirectory(true);
524
						}
525
						_ftpClient.registerSpyStream(_ftpLoggingOutputStream);
526
					}
527
					
512
					if (isRightType(fileType,f)) {
528
					if (isRightType(fileType,f)) {
513
						String name = f.getName();
529
						String name = f.getName();
514
						if (name.equals(".") || name.equals("..")) { //$NON-NLS-1$ //$NON-NLS-2$
530
						if (name.equals(".") || name.equals("..")) { //$NON-NLS-1$ //$NON-NLS-2$

Return to bug 197758