Author: jleroux
Date: Fri May 18 08:11:55 2018
New Revision: 1831831
URL: http://svn.apache.org/viewvc?rev=1831831&view=rev
Log:
Fixed:: Dynamic values not rendering properly in property tag of fail-property
attribute
(OFBIZ-10406)
While calling checkProductRelatedPermission, if permission is failed ten
fail-property tag uses ${checkActionLabel} which is not handled properly in
MessageElement.java.
There are 2-3 other occurrences as well of such type but not in working
condition.
Thanks: Suraj
Modified:
ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/product/ProductServices.xml
ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/store/ProductStoreServices.xml
ofbiz/ofbiz-framework/trunk/framework/minilang/src/main/java/org/apache/ofbiz/minilang/method/MessageElement.java
Modified:
ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/product/ProductServices.xml
URL:
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/product/ProductServices.xml?rev=1831831&r1=1831830&r2=1831831&view=diff
==============================================================================
---
ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/product/ProductServices.xml
(original)
+++
ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/product/ProductServices.xml
Fri May 18 08:11:55 2018
@@ -686,6 +686,7 @@ under the License.
</condition>
<then>
<set field="checkActionLabel" value="${groovy:
'ProductCatalog' + checkAction.charAt(0) +
checkAction.substring(1).toLowerCase() + 'PermissionError'}"/>
+ <set field="resourceDescription"
from-field="callingMethodName"/>
<add-error>
<fail-property resource="ProductUiLabels"
property="${checkActionLabel}"/>
</add-error>
Modified:
ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/store/ProductStoreServices.xml
URL:
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/store/ProductStoreServices.xml?rev=1831831&r1=1831830&r2=1831831&view=diff
==============================================================================
---
ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/store/ProductStoreServices.xml
(original)
+++
ofbiz/ofbiz-framework/trunk/applications/product/minilang/product/store/ProductStoreServices.xml
Fri May 18 08:11:55 2018
@@ -478,6 +478,7 @@ under the License.
<then>
<log level="verbose" message="Permission check failed, user
does not have permission"/>
<set field="checkActionLabel" value="${groovy:
'ProductCatalog' + checkAction.charAt(0) +
checkAction.substring(1).toLowerCase() + 'PermissionError'}"/>
+ <set field="resourceDescription"
from-field="callingMethodName"/>
<add-error>
<fail-property resource="ProductUiLabels"
property="${checkActionLabel}"/>
</add-error>
Modified:
ofbiz/ofbiz-framework/trunk/framework/minilang/src/main/java/org/apache/ofbiz/minilang/method/MessageElement.java
URL:
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/minilang/src/main/java/org/apache/ofbiz/minilang/method/MessageElement.java?rev=1831831&r1=1831830&r2=1831831&view=diff
==============================================================================
---
ofbiz/ofbiz-framework/trunk/framework/minilang/src/main/java/org/apache/ofbiz/minilang/method/MessageElement.java
(original)
+++
ofbiz/ofbiz-framework/trunk/framework/minilang/src/main/java/org/apache/ofbiz/minilang/method/MessageElement.java
Fri May 18 08:11:55 2018
@@ -29,7 +29,6 @@ import org.w3c.dom.Element;
/**
* Implements the <fail-message> and <fail-property> elements.
- *
* @see <a
href="https://cwiki.apache.org/confluence/display/OFBIZ/Mini+Language+-+minilang+-+simple-method+-+Reference">Mini-language
Reference</a>
*/
public final class MessageElement extends MiniLangElement {
@@ -49,7 +48,7 @@ public final class MessageElement extend
}
private final FlexibleStringExpander messageFse;
- private final String propertykey;
+ private final FlexibleStringExpander propertyFse;
private final String propertyResource;
public MessageElement(Element element, SimpleMethod simpleMethod) throws
MiniLangException {
@@ -61,7 +60,7 @@ public final class MessageElement extend
MiniLangValidate.constantPlusExpressionAttributes(simpleMethod, element,
"message");
}
this.messageFse =
FlexibleStringExpander.getInstance(element.getAttribute("message"));
- this.propertykey = null;
+ this.propertyFse = null;
this.propertyResource = null;
} else {
if (MiniLangValidate.validationOn()) {
@@ -70,7 +69,7 @@ public final class MessageElement extend
MiniLangValidate.constantAttributes(simpleMethod, element,
"property", "resource");
}
this.messageFse = null;
- this.propertykey = element.getAttribute("property");
+ this.propertyFse =
FlexibleStringExpander.getInstance(element.getAttribute("property"));
this.propertyResource = element.getAttribute("resource");
}
}
@@ -79,7 +78,7 @@ public final class MessageElement extend
if (messageFse != null) {
return messageFse.expandString(methodContext.getEnvMap());
} else {
- return UtilProperties.getMessage(propertyResource, propertykey,
methodContext.getEnvMap(), methodContext.getLocale());
+ return UtilProperties.getMessage(propertyResource,
propertyFse.expandString(methodContext.getEnvMap()), methodContext.getEnvMap(),
methodContext.getLocale());
}
}
@@ -89,8 +88,8 @@ public final class MessageElement extend
if (this.messageFse != null) {
sb.append("<fail-message
message=\"").append(this.messageFse).append("\" />");
}
- if (this.propertykey != null) {
- sb.append("<fail-property
property=\"").append(this.propertykey).append("
resource=\"").append(this.propertyResource).append("\" />");
+ if (this.propertyFse != null) {
+ sb.append("<fail-property
property=\"").append(this.propertyFse).append("
resource=\"").append(this.propertyResource).append("\" />");
}
return sb.toString();
}