1 12 package org.openbravo.utils; 13 14 import java.io.IOException ; 15 import java.util.ArrayList ; 16 import java.util.Enumeration ; 17 import javax.servlet.Filter ; 18 import javax.servlet.FilterChain ; 19 import javax.servlet.FilterConfig ; 20 import javax.servlet.ServletException ; 21 import javax.servlet.ServletRequest ; 22 import javax.servlet.ServletResponse ; 23 import javax.servlet.http.HttpServletResponse ; 24 25 public class CacheFilter implements Filter { 26 private String [][] replyHeaders = {{}}; 27 28 public void init(FilterConfig config) { 29 Enumeration names = config.getInitParameterNames(); 30 ArrayList tmp = new ArrayList (); 31 while( names.hasMoreElements() ) 32 { 33 String name = (String ) names.nextElement(); 34 String value = config.getInitParameter(name); 35 String [] pair = {name, value}; 36 tmp.add(pair); 37 } 38 replyHeaders = new String [tmp.size()][2]; 39 tmp.toArray(replyHeaders); 40 } 41 42 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException , ServletException { 43 HttpServletResponse httpResponse = (HttpServletResponse ) response; 44 for(int n = 0; n < replyHeaders.length; n ++) 45 { 46 String name = replyHeaders[n][0]; 47 String value = replyHeaders[n][1]; 48 httpResponse.addHeader(name, value); 49 } 50 chain.doFilter(request, response); 51 } 52 53 public void destroy() { 54 } 55 56 } 57 | Popular Tags |