1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.jumpmind.symmetric.web;
22
23 import java.io.IOException;
24
25 import javax.servlet.FilterChain;
26 import javax.servlet.FilterConfig;
27 import javax.servlet.ServletException;
28 import javax.servlet.ServletRequest;
29 import javax.servlet.ServletResponse;
30
31 import org.apache.commons.logging.Log;
32 import org.apache.commons.logging.LogFactory;
33 import org.jumpmind.symmetric.common.ParameterConstants;
34
35 /***
36 *
37 * Configured within symmetric-web.xml
38 *
39 * <pre>
40 * <bean id="compressionFilter"
41 * class="org.jumpmind.symmetric.web.CompressionFilter">
42 * <property name="regexPattern" value="string" />
43 * <property name="regexPatterns">
44 * <list>
45 * <value value="string"/>
46 * <list/>
47 * <property/>
48 * <property name="uriPattern" value="string" />
49 * <property name="uriPatterns">
50 * <list>
51 * <value value="string"/>
52 * <list/>
53 * <property/>
54 * <property name="disabled" value="boolean" />
55 * <property name="compressionThreshold" value="int" />
56 * </bean>
57 * </pre>
58 */
59 public class CompressionFilter extends AbstractFilter {
60
61 private static final Log logger = LogFactory.getLog(CompressionFilter.class);
62
63 private org.jumpmind.symmetric.web.compression.CompressionFilter delegate;
64
65 @Override
66 public boolean isContainerCompatible() {
67 return true;
68 }
69
70 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
71 ServletException {
72 if (delegate != null) {
73 delegate.doFilter(request, response, chain);
74 }
75 }
76
77 @Override
78 public void destroy() {
79 super.destroy();
80 if (delegate != null) {
81 delegate.destroy();
82 }
83 }
84
85 @Override
86 public void init(final FilterConfig filterConfig) throws ServletException {
87 super.init(filterConfig);
88 delegate = new org.jumpmind.symmetric.web.compression.CompressionFilter();
89
90 delegate.init(filterConfig);
91 }
92
93 @Override
94 public boolean isDisabled() {
95 return parameterService.is(ParameterConstants.TRANSPORT_HTTP_COMPRESSION_DISABLED_SERVLET);
96 }
97
98 @Override
99 protected Log getLogger() {
100 return logger;
101 }
102
103 }