[jbosstools-commits] JBoss Tools SVN: r42642 - trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/include.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Wed Jul 18 19:33:04 EDT 2012
Author: scabanovich
Date: 2012-07-18 19:33:02 -0400 (Wed, 18 Jul 2012)
New Revision: 42642
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/include/IncludeModel.java
Log:
JBIDE-12295
https://issues.jboss.org/browse/JBIDE-12295
Open-on of multiple declarations of ui:param with the same name are supported.
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/include/IncludeModel.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/include/IncludeModel.java 2012-07-18 23:32:13 UTC (rev 42641)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/include/IncludeModel.java 2012-07-18 23:33:02 UTC (rev 42642)
@@ -23,6 +23,7 @@
import org.jboss.tools.common.el.core.parser.ELParserUtil;
import org.jboss.tools.common.el.core.resolver.Var;
import org.jboss.tools.common.xml.XMLUtilities;
+import org.jboss.tools.jst.web.kb.WebKbPlugin;
import org.w3c.dom.Element;
/**
@@ -95,6 +96,9 @@
Map<String, String> pathAliases = loadAliases(root);
Element includes = XMLUtilities.createElement(root, STORE_ELEMENT_INCLUDES);
for (IPath path : directReferences.keySet()) {
+ if(!ResourcesPlugin.getWorkspace().getRoot().getFile(path).exists()) {
+ continue;
+ }
Element page = XMLUtilities.createElement(includes, STORE_ELEMENT_PAGE);
String pathAlias = ELReference.getAlias(pathAliases, path.toString());
page.setAttribute(STORE_ATTR_PATH, pathAlias);
@@ -108,6 +112,8 @@
Element varElement = XMLUtilities.createElement(includeElement, STORE_ELEMENT_VAR);
varElement.setAttribute(STORE_ATTR_NAME, var.getName());
varElement.setAttribute(STORE_ATTR_VALUE, var.getValue());
+ varElement.setAttribute("off", "" + var.getDeclarationOffset());
+ varElement.setAttribute("len", "" + var.getDeclarationLength());
}
}
}
@@ -149,7 +155,23 @@
for (Element v: vs) {
String name = v.getAttribute(STORE_ATTR_NAME);
String value = v.getAttribute(STORE_ATTR_VALUE);
- Var var = new Var(ELParserUtil.getJbossFactory(), name, value, 0, 0); //TODO
+ int offset = 0;
+ int length = 0;
+ if(v.hasAttribute("off")) {
+ try {
+ offset = Integer.parseInt(v.getAttribute("off"));
+ } catch (NumberFormatException e) {
+ WebKbPlugin.getDefault().logError(e);
+ }
+ }
+ if(v.hasAttribute("len")) {
+ try {
+ length = Integer.parseInt(v.getAttribute("len"));
+ } catch (NumberFormatException e) {
+ WebKbPlugin.getDefault().logError(e);
+ }
+ }
+ Var var = new Var(ELParserUtil.getJbossFactory(), name, value, offset, length);
if(path.segmentCount() > 1) {
var.setFile(ResourcesPlugin.getWorkspace().getRoot().getFile(path));
}
More information about the jbosstools-commits
mailing list