Author: adrianc
Date: Sat May 5 20:52:35 2012 New Revision: 1334501 URL: http://svn.apache.org/viewvc?rev=1334501&view=rev Log: Mini-language validation bug fix - allow nested expressions. Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/MiniLangValidate.java ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/SetServiceFields.java ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/MiniLangValidate.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/MiniLangValidate.java?rev=1334501&r1=1334500&r2=1334501&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/MiniLangValidate.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/MiniLangValidate.java Sat May 5 20:52:35 2012 @@ -148,7 +148,7 @@ public final class MiniLangValidate { String attributeValue = element.getAttribute(name); if (attributeValue.length() > 0) { if (attributeValue.startsWith("${") && attributeValue.endsWith("}")) { - handleError("Expression attribute \"" + name + "\" enclosed in \"${}\" (remove enclosing ${}).", method, element); + attributeValue = attributeValue.substring(2, attributeValue.length() - 1); } if (MiniLangUtil.containsScript(attributeValue)) { handleError("Expression attribute \"" + name + "\" cannot contain a script (remove script).", method, element); Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/SetServiceFields.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/SetServiceFields.java?rev=1334501&r1=1334500&r2=1334501&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/SetServiceFields.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/SetServiceFields.java Sat May 5 20:52:35 2012 @@ -65,6 +65,7 @@ public final class SetServiceFields exte MiniLangValidate.attributeNames(simpleMethod, element, "service-name", "map", "to-map"); MiniLangValidate.requiredAttributes(simpleMethod, element, "service-name", "map", "to-map"); MiniLangValidate.constantPlusExpressionAttributes(simpleMethod, element, "service-name"); + MiniLangValidate.expressionAttributes(simpleMethod, element, "map", "to-map"); MiniLangValidate.noChildElements(simpleMethod, element); } boolean elementModified = autoCorrect(element); Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java?rev=1334501&r1=1334500&r2=1334501&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java Sat May 5 20:52:35 2012 @@ -60,15 +60,6 @@ public final class SetOperation extends element.removeAttribute("from-field"); elementModified = true; } - fromAttr = element.getAttribute("from").trim(); - // Correct from attribute wrapped in ${} - if (fromAttr.startsWith("${") && fromAttr.endsWith("}")) { - fromAttr = fromAttr.substring(2, fromAttr.length() - 1); - if (!fromAttr.contains("${")) { - element.setAttribute("from", fromAttr); - elementModified = true; - } - } // Correct value attribute expression that belongs in from attribute String valueAttr = element.getAttribute("value").trim(); if (valueAttr.startsWith("${") && valueAttr.endsWith("}")) { @@ -103,6 +94,7 @@ public final class SetOperation extends MiniLangValidate.requireAnyAttribute(simpleMethod, element, "from-field", "from", "value"); MiniLangValidate.constantPlusExpressionAttributes(simpleMethod, element, "value"); MiniLangValidate.constantAttributes(simpleMethod, element, "type", "set-if-null", "set-if-empty"); + MiniLangValidate.expressionAttributes(simpleMethod, element, "field", "from-field", "from"); MiniLangValidate.noChildElements(simpleMethod, element); } boolean elementModified = autoCorrect(element); |
Free forum by Nabble | Edit this page |