Author: vrubezhny
Date: 2008-04-08 14:38:38 -0400 (Tue, 08 Apr 2008)
New Revision: 7433
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/SeamPathIndexer.java
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/SeamSearchVisitor.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1999 Seam find references shows error dialog if
some resources are out of sync
Non-synchronized files are excluded from the search scope.
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/SeamPathIndexer.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/SeamPathIndexer.java 2008-04-08
18:19:04 UTC (rev 7432)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/SeamPathIndexer.java 2008-04-08
18:38:38 UTC (rev 7433)
@@ -51,6 +51,11 @@
if (proxy.getType() == IResource.FILE) {
IFile file = (IFile)proxy.requestResource();
+ if(!file.isSynchronized(IResource.DEPTH_ZERO)) {
+ // The resource is out of sync with the file system
+ // Just ignore this resource.
+ return false;
+ }
IContentDescription contentDescription = file.getContentDescription();
String ctId = null;
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/SeamSearchVisitor.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/SeamSearchVisitor.java 2008-04-08
18:19:04 UTC (rev 7432)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/SeamSearchVisitor.java 2008-04-08
18:38:38 UTC (rev 7433)
@@ -1283,12 +1283,22 @@
public boolean visit(IResourceProxy proxy) {
if (fScope == null)
return false;
+
boolean inScope= fScope.contains(proxy);
- if (inScope && proxy.getType() == IResource.FILE &&
- fProject == proxy.requestResource().getProject()) {
- fFiles.add(proxy.requestResource());
+ if (inScope && proxy.getType() == IResource.FILE) {
+ IFile file = (IFile)proxy.requestResource();
+ if(!file.isSynchronized(IResource.DEPTH_ZERO)) {
+ // The resource is out of sync with the file system
+ // Just ignore this resource.
+ return false;
+ }
+
+ if (fProject == file.getProject()) {
+ fFiles.add(proxy.requestResource());
+ }
}
+
return inScope;
}