diff options
author | William Chen | 2012-06-06 07:15:02 +0000 |
---|---|---|
committer | William Chen | 2012-06-06 07:15:02 +0000 |
commit | c091fd5ef8f82bcb7e7f6ef2350114e5e68458a4 (patch) | |
tree | 72bd4cd67d57ed49982cae1e6492abf0088ab52a /target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.core | |
parent | 372b28a32823182fe97e00fbe89c50064edeab34 (diff) | |
download | org.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.java | 12 |
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 |