This is an automated email from the ASF dual-hosted git repository. jleroux pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/trunk by this push: new 6ac7f6283c Improved: Test 2.3.33 FreeMarker release (OFBIZ-12935) 6ac7f6283c is described below commit 6ac7f6283cce13b02b8ce597d447edc0c11e765b Author: Jacques Le Roux <jacques.le.r...@les7arts.com> AuthorDate: Tue Apr 2 12:20:11 2024 +0200 Improved: Test 2.3.33 FreeMarker release (OFBIZ-12935) All sounds OK now, so let's put it in trunk demo and see what happens When 2.3.33 will be official we will need to change from 2.3.33-SNAPSHOT to 2.3.33 in FreeMarkerWorker class --- .../content/webapp/ftl/OfbizContentAltUrlTransforms.java | 6 +++--- .../product/category/ftl/CatalogAltUrlSeoTransform.java | 8 ++++---- .../ofbiz/product/category/ftl/CatalogUrlSeoTransform.java | 6 +++--- .../product/category/ftl/OfbizCatalogAltUrlTransform.java | 12 ++++++------ .../ofbiz/product/category/ftl/OfbizCatalogUrlTransform.java | 6 +++--- build.gradle | 4 ++++ dependencies.gradle | 4 +++- .../apache/ofbiz/base/util/template/FreeMarkerWorker.java | 4 +++- .../main/java/org/apache/ofbiz/widget/model/HtmlWidget.java | 4 ++-- 9 files changed, 31 insertions(+), 23 deletions(-) diff --git a/applications/content/src/main/java/org/apache/ofbiz/content/webapp/ftl/OfbizContentAltUrlTransforms.java b/applications/content/src/main/java/org/apache/ofbiz/content/webapp/ftl/OfbizContentAltUrlTransforms.java index 952aaefe82..9a3c84687e 100644 --- a/applications/content/src/main/java/org/apache/ofbiz/content/webapp/ftl/OfbizContentAltUrlTransforms.java +++ b/applications/content/src/main/java/org/apache/ofbiz/content/webapp/ftl/OfbizContentAltUrlTransforms.java @@ -39,7 +39,7 @@ import org.apache.ofbiz.webapp.WebAppUtil; import freemarker.core.Environment; import freemarker.ext.beans.BeanModel; import freemarker.ext.beans.NumberModel; -import freemarker.ext.beans.StringModel; +import freemarker.ext.beans.GenericObjectModel; import freemarker.template.SimpleNumber; import freemarker.template.SimpleScalar; import freemarker.template.TemplateModelException; @@ -59,8 +59,8 @@ public class OfbizContentAltUrlTransforms implements TemplateTransformModel { Object o = args.get(key); if (o instanceof SimpleScalar) { return ((SimpleScalar) o).getAsString(); - } else if (o instanceof StringModel) { - return ((StringModel) o).getAsString(); + } else if (o instanceof GenericObjectModel) { + return ((GenericObjectModel) o).getAsString(); } else if (o instanceof SimpleNumber) { return ((SimpleNumber) o).getAsNumber().toString(); } else if (o instanceof NumberModel) { diff --git a/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/CatalogAltUrlSeoTransform.java b/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/CatalogAltUrlSeoTransform.java index e393b3bc88..b239e4a365 100644 --- a/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/CatalogAltUrlSeoTransform.java +++ b/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/CatalogAltUrlSeoTransform.java @@ -45,7 +45,7 @@ import org.apache.ofbiz.webapp.SeoConfigUtil; import freemarker.core.Environment; import freemarker.ext.beans.BeanModel; import freemarker.ext.beans.NumberModel; -import freemarker.ext.beans.StringModel; +import freemarker.ext.beans.GenericObjectModel; import freemarker.template.SimpleNumber; import freemarker.template.SimpleScalar; import freemarker.template.TemplateModelException; @@ -64,8 +64,8 @@ public class CatalogAltUrlSeoTransform implements TemplateTransformModel { Object o = args.get(key); if (o instanceof SimpleScalar) { return ((SimpleScalar) o).getAsString(); - } else if (o instanceof StringModel) { - return ((StringModel) o).getAsString(); + } else if (o instanceof GenericObjectModel) { + return ((GenericObjectModel) o).getAsString(); } else if (o instanceof SimpleNumber) { return ((SimpleNumber) o).getAsNumber().toString(); } else if (o instanceof NumberModel) { @@ -167,7 +167,7 @@ public class CatalogAltUrlSeoTransform implements TemplateTransformModel { Delegator delegator = FreeMarkerWorker.getWrappedObject("delegator", env); LocalDispatcher dispatcher = FreeMarkerWorker.getWrappedObject("dispatcher", env); Locale locale = (Locale) args.get("locale"); - String prefixString = ((StringModel) prefix).getAsString(); + String prefixString = ((GenericObjectModel) prefix).getAsString(); prefixString = prefixString.replace("/", "/"); String contextPath = prefixString; int lastSlashIndex = prefixString.lastIndexOf('/'); diff --git a/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/CatalogUrlSeoTransform.java b/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/CatalogUrlSeoTransform.java index fad56d1263..2b5319f7b0 100644 --- a/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/CatalogUrlSeoTransform.java +++ b/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/CatalogUrlSeoTransform.java @@ -58,7 +58,7 @@ import org.apache.oro.text.regex.Perl5Matcher; import freemarker.core.Environment; import freemarker.ext.beans.BeanModel; -import freemarker.ext.beans.StringModel; +import freemarker.ext.beans.GenericObjectModel; import freemarker.template.SimpleScalar; import freemarker.template.TemplateModelException; import freemarker.template.TemplateTransformModel; @@ -95,8 +95,8 @@ public class CatalogUrlSeoTransform implements TemplateTransformModel { Object o = args.get(key); if (o instanceof SimpleScalar) { return ((SimpleScalar) o).getAsString(); - } else if (o instanceof StringModel) { - return ((StringModel) o).getAsString(); + } else if (o instanceof GenericObjectModel) { + return ((GenericObjectModel) o).getAsString(); } return null; } diff --git a/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/OfbizCatalogAltUrlTransform.java b/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/OfbizCatalogAltUrlTransform.java index 89eb5c1abf..8da35c3db2 100644 --- a/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/OfbizCatalogAltUrlTransform.java +++ b/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/OfbizCatalogAltUrlTransform.java @@ -41,8 +41,8 @@ import org.apache.ofbiz.webapp.control.WebAppConfigurationException; import freemarker.core.Environment; import freemarker.ext.beans.BeanModel; +import freemarker.ext.beans.GenericObjectModel; import freemarker.ext.beans.NumberModel; -import freemarker.ext.beans.StringModel; import freemarker.template.SimpleNumber; import freemarker.template.SimpleScalar; import freemarker.template.TemplateModelException; @@ -61,8 +61,8 @@ public class OfbizCatalogAltUrlTransform implements TemplateTransformModel { Object o = args.get(key); if (o instanceof SimpleScalar) { return ((SimpleScalar) o).getAsString(); - } else if (o instanceof StringModel) { - return ((StringModel) o).getAsString(); + } else if (o instanceof GenericObjectModel) { + return ((GenericObjectModel) o).getAsString(); } else if (o instanceof SimpleNumber) { return ((SimpleNumber) o).getAsNumber().toString(); } else if (o instanceof NumberModel) { @@ -148,15 +148,15 @@ public class OfbizCatalogAltUrlTransform implements TemplateTransformModel { GenericValue product = EntityQuery.use(delegator).from("Product").where("productId", productId).queryOne(); ProductContentWrapper wrapper = new ProductContentWrapper(dispatcher, product, locale, EntityUtilProperties.getPropertyValue("content", "defaultMimeType", "text/html; charset=utf-8", delegator)); - url = CatalogUrlFilter.makeProductUrl(wrapper, null, ((StringModel) prefix).getAsString(), previousCategoryId, + url = CatalogUrlFilter.makeProductUrl(wrapper, null, ((GenericObjectModel) prefix).getAsString(), previousCategoryId, productCategoryId, productId); } else { GenericValue productCategory = EntityQuery.use(delegator).from("ProductCategory").where("productCategoryId", productCategoryId).queryOne(); CategoryContentWrapper wrapper = new CategoryContentWrapper(dispatcher, productCategory, locale, EntityUtilProperties .getPropertyValue("content", "defaultMimeType", "text/html; charset=utf-8", delegator)); - url = CatalogUrlFilter.makeCategoryUrl(delegator, wrapper, null, ((StringModel) prefix).getAsString(), previousCategoryId, - productCategoryId, productId, viewSize, viewIndex, viewSort, searchString); + url = CatalogUrlFilter.makeCategoryUrl(delegator, wrapper, null, ((GenericObjectModel) prefix) + .getAsString(), previousCategoryId, productCategoryId, productId, viewSize, viewIndex, viewSort, searchString); } out.write(url); } else { diff --git a/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/OfbizCatalogUrlTransform.java b/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/OfbizCatalogUrlTransform.java index d8f1628c9e..1d2bf272ff 100644 --- a/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/OfbizCatalogUrlTransform.java +++ b/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/OfbizCatalogUrlTransform.java @@ -28,7 +28,7 @@ import org.apache.ofbiz.product.category.CatalogUrlServlet; import freemarker.core.Environment; import freemarker.ext.beans.BeanModel; -import freemarker.ext.beans.StringModel; +import freemarker.ext.beans.GenericObjectModel; import freemarker.template.SimpleScalar; import freemarker.template.TemplateModelException; import freemarker.template.TemplateTransformModel; @@ -46,8 +46,8 @@ public class OfbizCatalogUrlTransform implements TemplateTransformModel { Object o = args.get(key); if (o instanceof SimpleScalar) { return ((SimpleScalar) o).getAsString(); - } else if (o instanceof StringModel) { - return ((StringModel) o).getAsString(); + } else if (o instanceof GenericObjectModel) { + return ((GenericObjectModel) o).getAsString(); } return null; } diff --git a/build.gradle b/build.gradle index 8acb848a34..54081d7d1f 100644 --- a/build.gradle +++ b/build.gradle @@ -169,6 +169,10 @@ allprojects { // org.cyberneko.html.parsers (used by UELFunctions, was in esapi before 2.3) url "https://repository.ow2.org/nexus/content/repositories/public/" } + maven { + // To test not released FreeMarker versions + url "https://repository.apache.org/content/repositories/snapshots/" + } } } diff --git a/dependencies.gradle b/dependencies.gradle index 714bcda0a0..39ddefb70f 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -70,7 +70,9 @@ dependencies { implementation 'org.apache.xmlgraphics:fop:2.3' // NOTE: since 2.4 dependencies are messed up. See https://github.com/moqui/moqui-fop/blob/master/build.gradle implementation 'org.clojure:clojure:1.11.1' implementation 'org.codehaus.groovy:groovy-all:3.0.21' - implementation 'org.freemarker:freemarker:2.3.32' // Remember to change the version number in FreeMarkerWorker class when upgrading. See OFBIZ-10019 if >= 2.4 + //implementation 'org.freemarker:freemarker:2.3.32' // Remember to change the version number in FreeMarkerWorker class when upgrading. See OFBIZ-10019 if >= 2.4 + implementation 'org.freemarker:freemarker:2.3.33-SNAPSHOT' // Remember to change the version number in FreeMarkerWorker class when upgrading. See OFBIZ-10019 if >= 2.4 + implementation 'org.owasp.esapi:esapi:2.5.3.1' implementation 'org.cyberneko:html:1.9.8' implementation 'org.springframework:spring-test:5.3.29' // 6.1.4 does not compile diff --git a/framework/base/src/main/java/org/apache/ofbiz/base/util/template/FreeMarkerWorker.java b/framework/base/src/main/java/org/apache/ofbiz/base/util/template/FreeMarkerWorker.java index be8ae93067..8abbfe7c0a 100644 --- a/framework/base/src/main/java/org/apache/ofbiz/base/util/template/FreeMarkerWorker.java +++ b/framework/base/src/main/java/org/apache/ofbiz/base/util/template/FreeMarkerWorker.java @@ -73,7 +73,9 @@ public final class FreeMarkerWorker { /** The template used to retrieved Freemarker transforms from multiple component classpaths. */ private static final String TRANSFORMS_PROPERTIES = "org/apache/ofbiz/%s/freemarkerTransforms.properties"; private static final String MODULE = FreeMarkerWorker.class.getName(); - public static final Version VERSION = Configuration.VERSION_2_3_32; + //public static final Version VERSION = Configuration.VERSION_2_3_32; + //public static final Version VERSION = Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS; + public static final Version VERSION = Configuration.VERSION_2_3_33; private FreeMarkerWorker() { } diff --git a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/HtmlWidget.java b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/HtmlWidget.java index db206f1580..a4965df51b 100644 --- a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/HtmlWidget.java +++ b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/HtmlWidget.java @@ -53,7 +53,7 @@ import org.w3c.dom.Element; import freemarker.ext.beans.BeansWrapper; import freemarker.ext.beans.CollectionModel; -import freemarker.ext.beans.StringModel; +import freemarker.ext.beans.GenericObjectModel; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; @@ -96,7 +96,7 @@ public class HtmlWidget extends ModelScreenWidget { } } - public static class StringHtmlWrapperForFtl extends StringModel { + public static class StringHtmlWrapperForFtl extends GenericObjectModel { public StringHtmlWrapperForFtl(String str, BeansWrapper wrapper) { super(str, wrapper); }