diff --git a/applications/content/src/main/java/org/apache/ofbiz/content/data/DataResourceWorker.java b/applications/content/src/main/java/org/apache/ofbiz/content/data/DataResourceWorker.java index bf71ab88ace..3331e95c12e 100644 --- a/applications/content/src/main/java/org/apache/ofbiz/content/data/DataResourceWorker.java +++ b/applications/content/src/main/java/org/apache/ofbiz/content/data/DataResourceWorker.java @@ -65,7 +65,9 @@ import org.apache.ofbiz.base.util.Debug; import org.apache.ofbiz.base.util.FileUtil; import org.apache.ofbiz.base.util.GeneralException; +import org.apache.ofbiz.base.util.StringUtil; import org.apache.ofbiz.base.util.UtilCodec; +import org.apache.ofbiz.base.util.UtilDateTime; import org.apache.ofbiz.base.util.UtilGenerics; import org.apache.ofbiz.base.util.UtilHttp; import org.apache.ofbiz.base.util.UtilIO; @@ -883,8 +885,6 @@ public static void renderDataResourceAsText(LocalDispatcher dispatcher, Delegato // FTL template if ("FTL".equals(dataTemplateTypeId)) { - throw new GeneralException("Error rendering template: FTL template type is no longer supported for data resources."); - /* try { // get the template data for rendering String templateText = getDataResourceText(dataResource, targetMimeTypeId, locale, templateContext, delegator, cache); @@ -894,7 +894,7 @@ public static void renderDataResourceAsText(LocalDispatcher dispatcher, Delegato StringBuffer newTemplateText = new StringBuffer(templateText); String webAnalyticsCode = ""; @@ -904,24 +904,18 @@ public static void renderDataResourceAsText(LocalDispatcher dispatcher, Delegato // render the FTL template boolean useTemplateCache = cache && !UtilProperties.getPropertyAsBoolean("content", "disable.ftl.template.cache", false); - //Do not use dataResource.lastUpdatedStamp for dataResource template caching as it may use ftl file or electronicText - // If dataResource using ftl file use nowTimestamp to avoid freemarker caching - Timestamp lastUpdatedStamp = UtilDateTime.nowTimestamp(); - //If dataResource is type of ELECTRONIC_TEXT then only use the lastUpdatedStamp of electronicText entity for freemarker caching - if ("ELECTRONIC_TEXT".equals(dataResource.getString("dataResourceTypeId"))) { - GenericValue electronicText = dataResource.getRelatedOne("ElectronicText", true); - if (electronicText != null) { - lastUpdatedStamp = electronicText.getTimestamp("lastUpdatedStamp"); - } + if ("ELECTRONIC_TEXT".equals(dataResource.getString("dataResourceTypeId")) + || "SHORT_TEXT".equalsIgnoreCase(dataResource.getString("dataResourceTypeId")) + || "LINK".equalsIgnoreCase(dataResource.getString("dataResourceTypeId"))) { + throw new GeneralException("Error rendering template: FreeMarker templates are no longer supported for " + + dataResource.getString("dataResourceTypeId") + " data resources."); } FreeMarkerWorker.renderTemplateFromString("delegator:" + delegator.getDelegatorName() + ":DataResource:" - + dataResourceId, templateText, templateContext, out, lastUpdatedStamp.getTime(), useTemplateCache); + + dataResourceId, templateText, templateContext, out, UtilDateTime.nowTimestamp().getTime(), useTemplateCache); } catch (TemplateException e) { throw new GeneralException("Error rendering FTL template", e); } - */ - } else if ("XSLT".equals(dataTemplateTypeId)) { File targetFileLocation = new File(System.getProperty("ofbiz.home") + "/runtime/tempfiles/docbook.css"); String defaultVisualThemeId = EntityUtilProperties.getPropertyValue("general", "VISUAL_THEME", delegator);