/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.web.filter; import java.io.IOException; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.filter.OncePerRequestFilter; import com.enonic.cms.upgrade.UpgradeChecker; import com.enonic.cms.upgrade.UpgradeService; @Component public final class UpgradeCheckFilter extends OncePerRequestFilter { private UpgradeChecker checker; @Override protected void doFilterInternal(final HttpServletRequest req, final HttpServletResponse res, final FilterChain chain) throws ServletException, IOException { if (needUpgradeCheck(req) && this.checker.checkUpgrade(res)) { return; } chain.doFilter(req, res); } private boolean needUpgradeCheck(final HttpServletRequest req) { final String path = req.getRequestURI(); return (path.contains("/site/") || path.contains("/admin/") || path.contains("/dav/")); } @Autowired public void setUpgradeService(final UpgradeService service) { this.checker = new UpgradeChecker(service); } }