KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openbravo > utils > CacheFilter


1 /*
2  ************************************************************************************
3  * Copyright (C) 2001-2006 Openbravo S.L.
4  * Licensed under the Apache Software License version 2.0
5  * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6  * Unless required by applicable law or agreed to in writing, software distributed
7  * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
8  * CONDITIONS OF ANY KIND, either express or implied. See the License for the
9  * specific language governing permissions and limitations under the License.
10  ************************************************************************************
11 */

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