X-Git-Url: https://juplo.de/gitweb/?p=percentcodec;a=blobdiff_plain;f=accelerator%2Fsrc%2Fmain%2Fjava%2Fde%2Fjuplo%2Faccelerator%2FCacheControlInterceptor.java;fp=accelerator%2Fsrc%2Fmain%2Fjava%2Fde%2Fjuplo%2Faccelerator%2FCacheControlInterceptor.java;h=0000000000000000000000000000000000000000;hp=10aaee1fc018ef0333041785be7583eabed06210;hb=f95f687755d54c46975b15dbd0221e82a7458f79;hpb=4f07e33a7c246caa3e4cd7c939f75064e4af03b0 diff --git a/accelerator/src/main/java/de/juplo/accelerator/CacheControlInterceptor.java b/accelerator/src/main/java/de/juplo/accelerator/CacheControlInterceptor.java deleted file mode 100644 index 10aaee1f..00000000 --- a/accelerator/src/main/java/de/juplo/accelerator/CacheControlInterceptor.java +++ /dev/null @@ -1,83 +0,0 @@ -package de.juplo.accelerator; - -import de.juplo.accelerator.AcceleratorFilter.AccelerationWrapper; -import de.juplo.accelerator.annotations.Cacheable; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.servlet.HandlerInterceptor; -import org.springframework.web.servlet.ModelAndView; - -/** - * - * @author kai - */ -public class CacheControlInterceptor implements HandlerInterceptor { - private final static Logger log = LoggerFactory.getLogger(CacheControlInterceptor.class); - - - private CacheControl cacheControl; - - - @Override - public boolean preHandle( - HttpServletRequest request, - HttpServletResponse response, - Object handler - ) throws Exception - { - Cacheable cacheable = handler.getClass().getAnnotation(Cacheable.class); - if (cacheable == null) { - /** Der Handler ist nicht mit @Cacheable annotiert: keine Dekorationen anbringen! */ - return true; - } - - AccelerationWrapper wrapper = (AccelerationWrapper)request.getAttribute(AcceleratorFilter.RESPONSE_WRAPPER); - if (wrapper != null) - wrapper.supressGuessing(); - - /** CacheControll initialisieren (Handler nach annotierte Methoden scannen etc.) */ - cacheControl.init(handler, wrapper); - - if (cacheable.eager()) { - return cacheControl.decorate(request, response); - } - else { - return true; - } - } - - @Override - public void postHandle( - HttpServletRequest request, - HttpServletResponse response, - Object handler, - ModelAndView modelAndView - ) throws Exception - { - /** - * Dekoration nur dann anstossen, wenn sie nicht bereits von dem - * AcceleratorFilter ausgelöst wird. - */ - if (request.getAttribute(AcceleratorFilter.RESPONSE_WRAPPER) == null) - cacheControl.decorate(request, response); - } - - @Override - public void afterCompletion( - HttpServletRequest request, - HttpServletResponse response, - Object handler, Exception ex - ) throws Exception - { - cacheControl.release(); - } - - - @Autowired - public void setCacheControl(CacheControl cacheControl) { - this.cacheControl = cacheControl; - } -}