Author: akazakov
Date: 2008-02-22 05:15:10 -0500 (Fri, 22 Feb 2008)
New Revision: 6522
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/META-INF/MANIFEST.MF
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/ElVarSearcher.java
Log:
JBIDE-1803
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/META-INF/MANIFEST.MF 2008-02-22 09:49:46
UTC (rev 6521)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/META-INF/MANIFEST.MF 2008-02-22 10:15:10
UTC (rev 6522)
@@ -42,7 +42,8 @@
org.eclipse.jst.j2ee.ejb,
org.eclipse.jst.jsf.ui,
org.jboss.tools.jst.web,
- org.eclipse.ui.editors
+ org.eclipse.ui.editors,
+ org.eclipse.wst.sse.ui
Provide-Package: org.jboss.tools.seam.core,
org.jboss.tools.seam.internal.core,
org.jboss.tools.seam.internal.core.scanner,
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/ElVarSearcher.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/ElVarSearcher.java 2008-02-22
09:49:46 UTC (rev 6521)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/ElVarSearcher.java 2008-02-22
10:15:10 UTC (rev 6522)
@@ -15,6 +15,9 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
+import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
import org.jboss.tools.seam.core.ISeamProject;
import org.jboss.tools.seam.core.SeamCorePlugin;
import org.w3c.dom.Element;
@@ -62,7 +65,32 @@
}
/**
+ * @param viewer
+ * @param offset
+ * @return
+ */
+ public static Node getNode(ITextViewer viewer, int offset) {
+ IndexedRegion treeNode = ContentAssistUtils.getNodeAt(viewer, offset);
+ if(treeNode instanceof Node) {
+ return (Node)treeNode;
+ }
+ return null;
+ }
+
+ /**
* @param node
+ * @return All var/value that can be used in this position and null if can't find
anyone.
+ */
+ public static List<Var> findAllVars(ITextViewer viewer, int offset) {
+ Node node = getNode(viewer, offset);
+ if(node!=null) {
+ return findAllVars(node);
+ }
+ return null;
+ }
+
+ /**
+ * @param node
* @return All var/value that can be used in node and null if can't find anyone.
*/
public static List<Var> findAllVars(Node node) {
@@ -74,7 +102,7 @@
if(vars == null) {
vars = new ArrayList<Var>();
}
- vars.add(var);
+ vars.add(0, var);
}
parentNode = parentNode.getParentNode();
}
@@ -131,7 +159,7 @@
if(resolvedToken==null && parentVar.getElToken()!=null) {
try {
// Initialize parent vars.
- engine.resolveSeamELOperand(project, file, parentVar.getElToken().getText(),
parentVar.getElToken().getText(), 0, true, parentVars, this);
+ engine.resolveSeamELOperand(project, file, var.getElToken().getText(),
var.getElToken().getText(), 0, true, parentVars, this);
resolvedToken = parentVar.getResolvedElToken();
} catch (StringIndexOutOfBoundsException e) {
SeamCorePlugin.getPluginLog().logError(e);
Show replies by date