Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Chen2012-06-06 07:15:02 +0000
committerWilliam Chen2012-06-06 07:15:02 +0000
commitc091fd5ef8f82bcb7e7f6ef2350114e5e68458a4 (patch)
tree72bd4cd67d57ed49982cae1e6492abf0088ab52a /target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.core
parent372b28a32823182fe97e00fbe89c50064edeab34 (diff)
downloadorg.eclipse.tcf-c091fd5ef8f82bcb7e7f6ef2350114e5e68458a4.tar.gz
org.eclipse.tcf-c091fd5ef8f82bcb7e7f6ef2350114e5e68458a4.tar.xz
org.eclipse.tcf-c091fd5ef8f82bcb7e7f6ef2350114e5e68458a4.zip
Target Explorer: When attr of FSTreeNode is not available, use its type
to check if it is a file or a directory.
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.core')
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.core/src/org/eclipse/tcf/te/tcf/filesystem/core/model/FSTreeNode.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.core/src/org/eclipse/tcf/te/tcf/filesystem/core/model/FSTreeNode.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.core/src/org/eclipse/tcf/te/tcf/filesystem/core/model/FSTreeNode.java
index cebc1b7a6..1ddaf7d05 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.core/src/org/eclipse/tcf/te/tcf/filesystem/core/model/FSTreeNode.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.core/src/org/eclipse/tcf/te/tcf/filesystem/core/model/FSTreeNode.java
@@ -236,7 +236,9 @@ public final class FSTreeNode extends AbstractTreeNode implements Cloneable {
* @return true if it is a file, or else false.
*/
public boolean isFile() {
- return attr != null && attr.isFile();
+ if (attr != null) return attr.isFile();
+ if (type != null) return type.equals("FSFileNode"); //$NON-NLS-1$
+ return false;
}
/**
@@ -245,7 +247,9 @@ public final class FSTreeNode extends AbstractTreeNode implements Cloneable {
* @return true if it is a directory, or else false.
*/
public boolean isDirectory() {
- return attr != null && attr.isDirectory();
+ if (attr != null) return attr.isDirectory();
+ if (type != null) return type.endsWith("DirNode"); //$NON-NLS-1$
+ return false;
}
/**
@@ -658,12 +662,12 @@ public final class FSTreeNode extends AbstractTreeNode implements Cloneable {
};
final CallbackMonitor monitor = new CallbackMonitor(callback);
for(FSTreeNode child : children) {
- if(child.isDirectory() && !child.childrenQueried && !child.childrenQueryRunning) {
+ if((child.isRoot() || child.isDirectory()) && !child.childrenQueried && !child.childrenQueryRunning) {
monitor.lock(child.uniqueId);
}
}
for(FSTreeNode child : children) {
- if(child.isDirectory() && !child.childrenQueried && !child.childrenQueryRunning) {
+ if((child.isRoot() || child.isDirectory()) && !child.childrenQueried && !child.childrenQueryRunning) {
final UUID uuid = child.uniqueId;
child.queryChildren(new Callback(){
@Override

Back to the top