From 35fd806c8d3e3571f39bdb45ac31a88e8e985d80 Mon Sep 17 00:00:00 2001 From: Scott Murphy Date: Sat, 12 Aug 2023 18:21:08 -0700 Subject: [PATCH 1/3] Update SiteMesh 2.4.4 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index edea3a31c0..86163966f0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -22,7 +22,7 @@ controllersRef=https://docs.grails.org/latest/ref/Controllers commandLineRef=https://docs.grails.org/latest/ref/Command%20Line grailsDocsVersion=5.0.2 testingSupportVersion=3.0.0 -sitemeshVersion=2.4.3 +sitemeshVersion=2.4.4 junit-jupiter.version=5.8.0 org.gradle.caching=true From 95361ef2b83882d24629d47811125374d97cec82 Mon Sep 17 00:00:00 2001 From: Scott Murphy Date: Mon, 14 Aug 2023 15:52:27 -0700 Subject: [PATCH 2/3] Cleanup --- .../grails/web/sitemesh/GrailsNoDecorator.java | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/grails-web-sitemesh/src/main/groovy/org/grails/web/sitemesh/GrailsNoDecorator.java b/grails-web-sitemesh/src/main/groovy/org/grails/web/sitemesh/GrailsNoDecorator.java index 4550d58761..85acc7c9b4 100644 --- a/grails-web-sitemesh/src/main/groovy/org/grails/web/sitemesh/GrailsNoDecorator.java +++ b/grails-web-sitemesh/src/main/groovy/org/grails/web/sitemesh/GrailsNoDecorator.java @@ -15,31 +15,13 @@ */ package org.grails.web.sitemesh; -import java.io.IOException; -import java.io.OutputStream; -import java.io.PrintWriter; import java.util.Iterator; - -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - import com.opensymphony.module.sitemesh.Decorator; -import com.opensymphony.sitemesh.Content; -import com.opensymphony.sitemesh.webapp.SiteMeshWebAppContext; -import com.opensymphony.sitemesh.webapp.decorator.BaseWebAppDecorator; import com.opensymphony.sitemesh.webapp.decorator.NoDecorator; /** * Grails version of Sitemesh's NoDecorator * - * original version always calls response.setContentLength which would require the calculation of - * resulting bytes. Calculation would be extra overhead. - * - * bug exists for OutputStream / byte version: http://jira.opensymphony.com/browse/SIM-196 - * skip setting ContentLength because of that bug. - * * @author Lari Hotari, Sagire Software Oy */ public class GrailsNoDecorator extends NoDecorator implements Decorator { From c8f51a48d3fd9f1b0e676b956067a2dbc3dd31f4 Mon Sep 17 00:00:00 2001 From: Scott Murphy Date: Tue, 15 Aug 2023 10:55:17 -0700 Subject: [PATCH 3/3] Cleanup --- .../groovy/org/grails/plugins/web/taglib/RenderTagLib.groovy | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/grails-web-gsp-taglib/src/main/groovy/org/grails/plugins/web/taglib/RenderTagLib.groovy b/grails-web-gsp-taglib/src/main/groovy/org/grails/plugins/web/taglib/RenderTagLib.groovy index b30820db34..4a5a846ebc 100644 --- a/grails-web-gsp-taglib/src/main/groovy/org/grails/plugins/web/taglib/RenderTagLib.groovy +++ b/grails-web-gsp-taglib/src/main/groovy/org/grails/plugins/web/taglib/RenderTagLib.groovy @@ -16,7 +16,6 @@ package org.grails.plugins.web.taglib import com.opensymphony.module.sitemesh.* -import com.opensymphony.module.sitemesh.parser.AbstractHTMLPage import grails.artefact.TagLibrary import grails.core.GrailsApplication import grails.core.support.GrailsApplicationAware @@ -121,7 +120,7 @@ class RenderTagLib implements RequestConstants, TagLibrary, GrailsApplicationAwa content = bodyClosure() } if (content instanceof StreamCharBuffer) { - gspSiteMeshPage.setPageBuffer(content) + gspSiteMeshPage.setPageBuffer((StreamCharBuffer) content) gspSiteMeshPage.setUsed(isSitemeshPreprocessMode()) } else if (content != null) { @@ -284,7 +283,7 @@ class RenderTagLib implements RequestConstants, TagLibrary, GrailsApplicationAwa def propertyValue = null if (htmlPage instanceof GSPSitemeshPage) { // check if there is an component content buffer - propertyValue = htmlPage.getContentBuffer(propertyName) + propertyValue = ((GSPSitemeshPage) htmlPage).getContentBuffer(propertyName) } if (!propertyValue) {