Author: dmaliarevich
Date: 2011-08-12 11:42:45 -0400 (Fri, 12 Aug 2011)
New Revision: 33853
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/template/VpeTemplateSet.java
Log:
https://issues.jboss.org/browse/JBIDE-9444 , template's lookup mechanism was updated.
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/template/VpeTemplateSet.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/template/VpeTemplateSet.java 2011-08-12
15:42:32 UTC (rev 33852)
+++
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/template/VpeTemplateSet.java 2011-08-12
15:42:45 UTC (rev 33853)
@@ -39,17 +39,39 @@
}
VpeTemplate getTemplate(VpePageContext pageContext, Node sourceNode, Set
ifDependencySet) {
+ VpeTemplate result = defTemplate;
+ boolean initializeCustomTemplete = true;
for (int i = 0; i < templates.size(); i++) {
VpeTemplateSet set = (VpeTemplateSet)templates.get(i);
VpeTemplate template = set.getTemplate(pageContext, sourceNode, ifDependencySet);
if (template != null) {
- if ((defTemplate != null) && (defTemplate.getPriority() >
template.getPriority())) {
- return defTemplate;
- } else {
- return template;
+ if (result == null) {
+ /*
+ * When there is no default template
+ * in the result -- set it up
+ */
+ result = template;
+ initializeCustomTemplete = false;
+ } else if (initializeCustomTemplete) {
+ /*
+ * Default template presents, but custom template was found.
+ * Put this new template to the result variable
+ */
+ result = template;
+ initializeCustomTemplete = false;
+ } else if (result.getPriority() < template.getPriority()) {
+ /*
+ * In the cycle -- looking for the template
+ * with the highest priority
+ */
+ result = template;
}
}
}
- return defTemplate;
+ /*
+ * If no templates have been found --
+ * default template will be returned
+ */
+ return result;
}
}