Author: akazakov
Date: 2010-11-10 07:43:43 -0500 (Wed, 10 Nov 2010)
New Revision: 26407
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/PageProcessor.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/RefactorSearcher.java
Log:
https://jira.jboss.org/browse/JBIDE-7547 Fixed NPE in CA
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/PageProcessor.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/PageProcessor.java 2010-11-10
11:46:09 UTC (rev 26406)
+++
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/PageProcessor.java 2010-11-10
12:43:43 UTC (rev 26407)
@@ -161,7 +161,10 @@
String elString = value;
ELResolver[] resolvers = context.getElResolvers();
for (int i = 0; resolvers != null && i < resolvers.length; i++) {
- proposals.addAll(resolvers[i].getProposals(context, elString, query.getOffset()));
+ List<TextProposal> pls = resolvers[i].getProposals(context, elString,
query.getOffset());
+ if(pls!=null) {
+ proposals.addAll(pls);
+ }
}
}
return proposals.toArray(new TextProposal[proposals.size()]);
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 2010-11-10
11:46:09 UTC (rev 26406)
+++
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/RefactorSearcher.java 2010-11-10
12:43:43 UTC (rev 26407)
@@ -11,6 +11,7 @@
package org.jboss.tools.jst.web.kb.refactoring;
import java.io.InputStream;
+import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
@@ -270,38 +271,39 @@
}
}
}
-
}
protected IRelevanceCheck[] getRelevanceChecks(ELResolver[] resolvers) {
if(resolvers == null) return new IRelevanceCheck[0];
- IRelevanceCheck[] checks = new IRelevanceCheck[resolvers.length];
- for (int i = 0; i < checks.length; i++) {
- checks[i] = resolvers[i].createRelevanceCheck(javaElement);
+ List<IRelevanceCheck> checks = new ArrayList<IRelevanceCheck>();
+ for (ELResolver resolver : resolvers) {
+ IRelevanceCheck check = resolver.createRelevanceCheck(javaElement);
+ if(check!=null) {
+ checks.add(check);
+ }
}
- return checks;
+ return checks.toArray(new IRelevanceCheck[0]);
}
-
// looking for component references in EL
- private void scanString(IFile file, String string, int offset) {
- int startEl = string.indexOf("#{"); //$NON-NLS-1$
- if(startEl<0)
- startEl = string.indexOf("${"); //$NON-NLS-1$
- if(startEl>-1) {
- ELParser parser = ELParserUtil.getJbossFactory().createParser();
- ELModel model = parser.parse(string);
- for (ELInstance instance : model.getInstances()) {
- for(ELInvocationExpression ie : instance.getExpression().getInvocations()){
- ELInvocationExpression expression = findComponentReference(ie);
- if(expression != null){
- checkMatch(file, expression, offset+getOffset(expression), getLength(expression));
- }
- }
- }
- }
- }
-
+// private void scanString(IFile file, String string, int offset) {
+// int startEl = string.indexOf("#{"); //$NON-NLS-1$
+// if(startEl<0)
+// startEl = string.indexOf("${"); //$NON-NLS-1$
+// if(startEl>-1) {
+// ELParser parser = ELParserUtil.getJbossFactory().createParser();
+// ELModel model = parser.parse(string);
+// for (ELInstance instance : model.getInstances()) {
+// for(ELInvocationExpression ie : instance.getExpression().getInvocations()){
+// ELInvocationExpression expression = findComponentReference(ie);
+// if(expression != null){
+// checkMatch(file, expression, offset+getOffset(expression),
getLength(expression));
+// }
+// }
+// }
+// }
+// }
+
protected int getOffset(ELInvocationExpression expression){
if(expression instanceof ELPropertyInvocation){
ELPropertyInvocation pi = (ELPropertyInvocation)expression;