package app.filter.com.aol.micro.server; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import cyclops.control.Xor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.aol.micro.server.auto.discovery.AutoFilterConfiguration; import lombok.Getter; import lombok.Setter; @Component public class AutodiscoveredFilter implements AutoFilterConfiguration { @Autowired Bean bean; @Getter @Setter private static volatile int called= 0; @Getter private static boolean beanSet = false; @Override public String[] getMapping() { return new String[] { "/*" }; } public Xor<Class<? extends Filter>,Filter> getFilter(){ return Xor.secondary(org.springframework.web.filter.DelegatingFilterProxy.class); } public String getName(){ return "autodiscoveredFilter"; } @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { called++; if(bean!=null) beanSet =true; chain.doFilter(request, response); } @Override public void destroy() { } }