Author: vrubezhny
Date: 2008-04-10 09:56:37 -0400 (Thu, 10 Apr 2008)
New Revision: 7485
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/actions/FindSeamAction.java
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/actions/SeamFindQuickAssistProcessor.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1814 Seam EL Hyper Links don't not recognize
"var" attributes in JSF tags.
fixed
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/actions/FindSeamAction.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/actions/FindSeamAction.java 2008-04-10
13:55:21 UTC (rev 7484)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/actions/FindSeamAction.java 2008-04-10
13:56:37 UTC (rev 7485)
@@ -193,7 +193,7 @@
if (seamProject == null)
return;
- List<ELOperandToken> tokens = findTokensAtOffset(document, selectionOffset);
+ List<ELOperandToken> tokens = SeamELCompletionEngine.findTokensAtOffset(document,
selectionOffset);
if (tokens == null)
return; // No EL Operand found
@@ -208,48 +208,6 @@
return;
}
- /**
- * Returns list of Seam ELOperandToken which are placed under the cursor position
- *
- * @param document
- * @param offset
- * @return
- */
- public static List<ELOperandToken> findTokensAtOffset(IDocument document, int
offset) {
- List<ELOperandToken> result = new ArrayList<ELOperandToken>();
-
- int elStart = getELStart(document, offset);
-
- if (elStart == -1)
- elStart = offset;
-
- SeamELOperandTokenizerForward tokenizer = new SeamELOperandTokenizerForward(document,
elStart);
- List<ELOperandToken> tokens = tokenizer.getTokens();
-
- ELOperandToken lastSeparator = null;
- for (int i = 0; tokens != null && i < tokens.size(); i++) {
- ELOperandToken token = tokens.get(i);
- if (token.getType() == ELOperandToken.EL_SEPARATOR_TOKEN) {
- lastSeparator = token;
- continue;
- }
- if (token.getType() == ELOperandToken.EL_VARIABLE_NAME_TOKEN ||
- token.getType() == ELOperandToken.EL_METHOD_TOKEN ||
- token.getType() == ELOperandToken.EL_PROPERTY_NAME_TOKEN) {
- if (token.getStart() <= offset) {
- if (lastSeparator != null)
- result.add(lastSeparator);
- result.add(token);
- } else {
- // Stop processing. We're not interrested of the rest of tokens
- break;
- }
- }
- }
-
- return result;
- }
-
/**
* Finds the variable names for the selected ELOperandToken tokens
*
@@ -339,36 +297,6 @@
fDelegatorAction = action;
}
- /*
- * Scans the document from the offset to the beginning to find start of Seam EL operand
- * Returns the start position of first Seam EL operand token
- */
- private static int getELStart(IDocument document, int offset) {
- SeamELOperandTokenizer tokenizer = new SeamELOperandTokenizer(document, offset);
- List<ELOperandToken> tokens = tokenizer.getTokens();
-
- if (tokens == null || tokens.size() == 0)
- return -1;
-
- ELOperandToken firstToken = tokens.get(0);
- return firstToken.getStart();
- }
-
- /*
- * Scans the document from the offset to the beginning to find start of Seam EL operand
- * Returns the end position of last Seam EL operand token
- */
- private static int getELEnd(IDocument document, int offset) {
- SeamELOperandTokenizer tokenizer = new SeamELOperandTokenizerForward(document,
offset);
- List<ELOperandToken> tokens = tokenizer.getTokens();
-
- if (tokens == null || tokens.size() == 0)
- return -1;
-
- ELOperandToken lastToken = tokens.get(tokens.size() - 1);
- return lastToken.getStart() + lastToken.getLength();
- }
-
private SeamSearchQuery createQuery(List<ELOperandToken> tokens, IFile sourceFile)
throws JavaModelException, InterruptedException {
SeamSearchScope scope = new SeamSearchScope(new IProject[] {sourceFile.getProject()},
getLimitTo());
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/actions/SeamFindQuickAssistProcessor.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/actions/SeamFindQuickAssistProcessor.java 2008-04-10
13:55:21 UTC (rev 7484)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/actions/SeamFindQuickAssistProcessor.java 2008-04-10
13:56:37 UTC (rev 7485)
@@ -36,6 +36,7 @@
import org.jboss.tools.seam.core.ISeamProject;
import org.jboss.tools.seam.core.SeamCorePlugin;
import org.jboss.tools.seam.internal.core.el.ELOperandToken;
+import org.jboss.tools.seam.internal.core.el.SeamELCompletionEngine;
import org.jboss.tools.seam.ui.SeamGuiPlugin;
import org.jboss.tools.seam.ui.SeamUIMessages;
import org.jboss.tools.seam.ui.SeamUiImages;
@@ -80,7 +81,7 @@
}
private String[] getVariableNames(ISeamProject seamProject, IDocument document, int
offset) {
- List<ELOperandToken> tokens = FindSeamAction.findTokensAtOffset(
+ List<ELOperandToken> tokens = SeamELCompletionEngine.findTokensAtOffset(
document,
offset);
@@ -109,7 +110,7 @@
if (seamProject == null)
return result;
- List<ELOperandToken> tokens = FindSeamAction.findTokensAtOffset(
+ List<ELOperandToken> tokens = SeamELCompletionEngine.findTokensAtOffset(
document,
context.getSelectionOffset());
if (tokens == null || tokens.size() == 0)