This is an automated email from the ASF dual-hosted git repository.
nmalin pushed a commit to branch release24.09
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/release24.09 by this push:
new 8f5412a6f2 Improved: Allow GroovyDSL in FlexibleStringExpander
(OFBIZ-13133) (#833)
8f5412a6f2 is described below
commit 8f5412a6f205a9d685b050d798b11f1431d0e615
Author: Charles <[email protected]>
AuthorDate: Wed Oct 2 15:43:16 2024 +0200
Improved: Allow GroovyDSL in FlexibleStringExpander (OFBIZ-13133) (#833)
Improved: Allow GroovyDSL in FlexibleStringExpander (OFBIZ-13133) (#833)
* With this, you can call easily groovy dsl in Scriptlet :
```
${groovy: from('Party').where(partyId:'admin').queryOne()}
${groovy: label('PartyUiLabels', 'PartyPartyNotFound')}
```
* add example on manufacturing screen to replace method getMessage() by
label() one to demonstrate improvement
* javadoc correction (missing @param name)
---
.../manufacturing/widget/manufacturing/MrpScreens.xml | 2 +-
.../java/org/apache/ofbiz/base/util/GroovyUtil.java | 18 ++++++++++++++----
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/applications/manufacturing/widget/manufacturing/MrpScreens.xml
b/applications/manufacturing/widget/manufacturing/MrpScreens.xml
index 3997e0ea23..8d1639725a 100644
--- a/applications/manufacturing/widget/manufacturing/MrpScreens.xml
+++ b/applications/manufacturing/widget/manufacturing/MrpScreens.xml
@@ -61,7 +61,7 @@ under the License.
<set field="tabButtonItem" value="RunMrp"/>
<set field="helpAnchor" value="_run_mrp"/>
<set field="headerItem" value="mrp"/>
- <set field="eventMessage" value="${groovy:
org.apache.ofbiz.base.util.UtilProperties.getMessage('ManufacturingUiLabels',
'ManufacturingMrpRunScheduledSuccessfully', locale)}"/>
+ <set field="eventMessage" value="${groovy:
label('ManufacturingUiLabels','ManufacturingMrpRunScheduledSuccessfully')}"/>
</actions>
<widgets>
<decorator-screen name="CommonMrpDecorator">
diff --git
a/framework/base/src/main/java/org/apache/ofbiz/base/util/GroovyUtil.java
b/framework/base/src/main/java/org/apache/ofbiz/base/util/GroovyUtil.java
index c1a57f0160..c2f8ed32e0 100644
--- a/framework/base/src/main/java/org/apache/ofbiz/base/util/GroovyUtil.java
+++ b/framework/base/src/main/java/org/apache/ofbiz/base/util/GroovyUtil.java
@@ -187,11 +187,21 @@ public final class GroovyUtil {
}
}
+ /**
+ * Parses a Groovy class from a text.
+ * @param text as flexible string to parse
+ * @return the corresponding class object
+ * @throws IOException when parsing fails
+ */
public static Class<?> parseClass(String text) throws IOException {
- GroovyClassLoader groovyClassLoader = new GroovyClassLoader();
- Class<?> classLoader = groovyClassLoader.parseClass(text);
- groovyClassLoader.close();
- return classLoader;
+ if (GROOVY_CLASS_LOADER != null) {
+ return GROOVY_CLASS_LOADER.parseClass(text);
+ } else {
+ GroovyClassLoader groovyClassLoader = new GroovyClassLoader();
+ Class<?> classLoader = GROOVY_CLASS_LOADER.parseClass(text);
+ groovyClassLoader.close();
+ return classLoader;
+ }
}
/**