Skip to content

Commit

Permalink
Move initialization logic to ContentBufferingFilter
Browse files Browse the repository at this point in the history
  • Loading branch information
codeconsole committed Nov 11, 2024
1 parent b9dd570 commit b6c238b
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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");
Expand All @@ -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() {
Expand Down

0 comments on commit b6c238b

Please sign in to comment.