Author: dazarov
Date: 2011-12-05 18:56:04 -0500 (Mon, 05 Dec 2011)
New Revision: 36976
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/RefactorSearcher.java
Log:
CDI EL Refactoring and Searchers don't look for ELs in dependent project
https://issues.jboss.org/browse/JBIDE-10331
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/RefactorSearcher.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/RefactorSearcher.java 2011-12-05
23:45:29 UTC (rev 36975)
+++
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/RefactorSearcher.java 2011-12-05
23:56:04 UTC (rev 36976)
@@ -79,6 +79,52 @@
public void setSearchScope(IJavaSearchScope searchScope){
this.searchScope = searchScope;
}
+
+ private void scanProject(IProject project){
+ if(project == null || !project.exists()) return;
+
+ IProject[] referencingProject = project.getReferencingProjects();
+ for(IProject rProject: referencingProject){
+ scanProject(rProject);
+ }
+
+ if(!containsInSearchScope(project))
+ return;
+
+ updateEnvironment(project);
+
+ IJavaProject javaProject = EclipseResourceUtil.getJavaProject(project);
+
+ // searching java, xml and property files in source folders
+ if(javaProject != null){
+ for(IResource resource : EclipseResourceUtil.getJavaSourceRoots(project)){
+ if(resource instanceof IFolder)
+ if(!scanForJava((IFolder) resource)){
+ outOfSynch(((IFolder) resource).getProject());
+ return;
+ }
+ else if(resource instanceof IFile)
+ if(!scanForJava((IFile) resource)){
+ outOfSynch(((IFile) resource).getProject());
+ return;
+ }
+ }
+ }
+
+ // searching jsp, xhtml and xml files in WebContent folders
+
+ if(getViewFolder(project) != null){
+ if(!scan(getViewFolder(project))){
+ outOfSynch(project);
+ return;
+ }
+ }else{
+ if(!scan(project)){
+ outOfSynch(project);
+ return;
+ }
+ }
+ }
public void findELReferences(){
if(baseFile == null)
@@ -88,44 +134,7 @@
IProject[] projects = getProjects();
for (IProject project : projects) {
- if(project == null) continue;
-
- if(!containsInSearchScope(project))
- continue;
-
- updateEnvironment(project);
-
- IJavaProject javaProject = EclipseResourceUtil.getJavaProject(project);
-
- // searching java, xml and property files in source folders
- if(javaProject != null){
- for(IResource resource : EclipseResourceUtil.getJavaSourceRoots(project)){
- if(resource instanceof IFolder)
- if(!scanForJava((IFolder) resource)){
- outOfSynch(((IFolder) resource).getProject());
- return;
- }
- else if(resource instanceof IFile)
- if(!scanForJava((IFile) resource)){
- outOfSynch(((IFile) resource).getProject());
- return;
- }
- }
- }
-
- // searching jsp, xhtml and xml files in WebContent folders
-
- if(getViewFolder(project) != null){
- if(!scan(getViewFolder(project))){
- outOfSynch(project);
- return;
- }
- }else{
- if(!scan(project)){
- outOfSynch(project);
- return;
- }
- }
+ scanProject(project);
}
//stopStatistic();
}