From b6c238bfb4af372fd87ff49567d8d79018703ec9 Mon Sep 17 00:00:00 2001 From: Scott Murphy Heiberg Date: Mon, 11 Nov 2024 11:04:40 -0800 Subject: [PATCH] Move initialization logic to ContentBufferingFilter --- .../config/ConfigurableSiteMeshFilter.java | 10 ---------- .../contentfilter/ContentBufferingFilter.java | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/sitemesh/src/main/java/org/sitemesh/config/ConfigurableSiteMeshFilter.java b/sitemesh/src/main/java/org/sitemesh/config/ConfigurableSiteMeshFilter.java index 16f3295..7413f69 100644 --- a/sitemesh/src/main/java/org/sitemesh/config/ConfigurableSiteMeshFilter.java +++ b/sitemesh/src/main/java/org/sitemesh/config/ConfigurableSiteMeshFilter.java @@ -170,16 +170,6 @@ public void init(FilterConfig filterConfig) throws ServletException { deployNewFilter(setup()); } - logger.info(String.format("SiteMesh %s initialized with filter name '%s'", - ConfigurableSiteMeshFilter.class.getPackage().getSpecificationVersion(), - filterConfig.getFilterName())); - - for (FilterRegistration filterRegistration : filterConfig.getServletContext().getFilterRegistrations().values()) { - if (!filterRegistration.getName().equals(filterConfig.getFilterName()) && filterRegistration.getClassName().equals("org.sitemesh.config.ConfigurableSiteMeshFilter")) { - logger.warning(String.format("SiteMesh has already been registered as '%s'. Initializing multiple SiteMesh filters not recommended (%s).", filterRegistration.getName(), filterConfig.getFilterName())); - } - } - initialized = true; } diff --git a/sitemesh/src/main/java/org/sitemesh/webapp/contentfilter/ContentBufferingFilter.java b/sitemesh/src/main/java/org/sitemesh/webapp/contentfilter/ContentBufferingFilter.java index de7f9b7..a6f72b7 100644 --- a/sitemesh/src/main/java/org/sitemesh/webapp/contentfilter/ContentBufferingFilter.java +++ b/sitemesh/src/main/java/org/sitemesh/webapp/contentfilter/ContentBufferingFilter.java @@ -19,9 +19,11 @@ import jakarta.servlet.*; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; + import java.io.IOException; import java.io.PrintWriter; import java.nio.CharBuffer; +import java.util.logging.Logger; /** * Abstract {@link Filter} implementation that writes the main content @@ -69,6 +71,8 @@ public abstract class ContentBufferingFilter implements Filter { private final Selector selector; + private final static Logger logger = Logger.getLogger(ContentBufferingFilter.class.getName()); + protected ContentBufferingFilter(Selector selector) { if (selector == null) { throw new IllegalArgumentException("selector cannot be null"); @@ -91,6 +95,16 @@ protected abstract boolean postProcess(String contentType, CharBuffer buffer, public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; this.containerTweaks = initContainerTweaks(); + + logger.info(String.format("SiteMesh %s initialized with filter name '%s'", + ContentBufferingFilter.class.getPackage().getSpecificationVersion(), + filterConfig.getFilterName())); + + for (FilterRegistration filterRegistration : filterConfig.getServletContext().getFilterRegistrations().values()) { + if (!filterRegistration.getName().equals(filterConfig.getFilterName()) && filterRegistration.getClassName().equals("org.sitemesh.webapp.SiteMeshFilter")) { + logger.warning(String.format("SiteMesh has already been registered as '%s'. Initializing multiple SiteMesh filters not recommended (%s).", filterRegistration.getName(), filterConfig.getFilterName())); + } + } } public void destroy() {