|
Lines 11-16
Link Here
|
| 11 |
package org.eclipse.target.internal.ftp; |
11 |
package org.eclipse.target.internal.ftp; |
| 12 |
|
12 |
|
| 13 |
import java.io.InputStream; |
13 |
import java.io.InputStream; |
|
|
14 |
import java.util.Date; |
| 14 |
|
15 |
|
| 15 |
import org.eclipse.core.runtime.*; |
16 |
import org.eclipse.core.runtime.*; |
| 16 |
import org.eclipse.ftp.*; |
17 |
import org.eclipse.ftp.*; |
|
Lines 79-90
Link Here
|
| 79 |
*/ |
80 |
*/ |
| 80 |
public ITargetResource[] members(IProgressMonitor monitor) throws CoreException { |
81 |
public ITargetResource[] members(IProgressMonitor monitor) throws CoreException { |
| 81 |
if (isDirectory()) { |
82 |
if (isDirectory()) { |
|
|
83 |
FtpSite ftpSite = (FtpSite)this.getSite(); |
| 84 |
int numSkipSubdirs = ftpSite.getNumSkipSubdirs(); |
| 85 |
if (this.siteRelativePath.equals("")) { |
| 86 |
numSkipSubdirs = 0; |
| 87 |
} |
| 88 |
// Skip FTP subdirs listing |
| 89 |
if (numSkipSubdirs > 0) { |
| 90 |
// Add a dummy entry as a child to make the TreeView show the "+" |
| 91 |
final IDirectoryEntry entry = new FTPDirectoryEntry("",true,false,0,new Date()); |
| 92 |
ITargetResource[] members = new ITargetResource[1]; |
| 93 |
members[0] = new FtpTargetResource(getSite(), Utils.appendPath(getRelativePath(), entry.getName()), entry); |
| 94 |
ftpSite.setNumSkipSubdirs(numSkipSubdirs-1); |
| 95 |
return members; |
| 96 |
} |
| 82 |
final IDirectoryEntry[] entries = listFiles(getRelativePath(), false, monitor); |
97 |
final IDirectoryEntry[] entries = listFiles(getRelativePath(), false, monitor); |
| 83 |
ITargetResource[] members = new ITargetResource[entries.length]; |
98 |
ITargetResource[] members = new ITargetResource[entries.length]; |
| 84 |
for (int i = 0; i < entries.length; i++) { |
99 |
for (int i = 0; i < entries.length; i++) { |
| 85 |
IDirectoryEntry entry = entries[i]; |
100 |
IDirectoryEntry entry = entries[i]; |
| 86 |
members[i] = new FtpTargetResource(getSite(), Utils.appendPath(getRelativePath(), entry.getName()), entry); |
101 |
members[i] = new FtpTargetResource(getSite(), Utils.appendPath(getRelativePath(), entry.getName()), entry); |
|
|
102 |
if (members[i].isDirectory()) { |
| 103 |
numSkipSubdirs++; |
| 104 |
} |
| 87 |
} |
105 |
} |
|
|
106 |
ftpSite.setNumSkipSubdirs(numSkipSubdirs); |
| 88 |
return members; |
107 |
return members; |
| 89 |
} else { |
108 |
} else { |
| 90 |
return new ITargetResource[0]; |
109 |
return new ITargetResource[0]; |