1 |
3035
|
perry
|
/* WMS Filter
|
2 |
|
|
* Author: MP
|
3 |
|
|
* Status: Just a test
|
4 |
|
|
* MPTODO: make this a true servlet filter to append sld to any incoming wms request
|
5 |
|
|
*/
|
6 |
|
|
package edu.ucsb.nceas.metacat.spatial;
|
7 |
|
|
|
8 |
|
|
import javax.servlet.*;
|
9 |
|
|
import javax.servlet.http.*;
|
10 |
|
|
import java.io.IOException;
|
11 |
|
|
import java.util.Enumeration;
|
12 |
|
|
|
13 |
|
|
public final class WmsFilter implements Filter {
|
14 |
|
|
private FilterConfig filterConfig = null;
|
15 |
|
|
|
16 |
|
|
public void init(FilterConfig filterConfig)
|
17 |
|
|
throws ServletException {
|
18 |
|
|
this.filterConfig = filterConfig;
|
19 |
|
|
}
|
20 |
|
|
|
21 |
|
|
public void destroy() {
|
22 |
|
|
this.filterConfig = null;
|
23 |
|
|
}
|
24 |
|
|
|
25 |
|
|
public void doFilter(ServletRequest request,
|
26 |
|
|
ServletResponse response, FilterChain chain)
|
27 |
|
|
throws IOException, ServletException {
|
28 |
|
|
|
29 |
|
|
if (filterConfig == null)
|
30 |
|
|
return;
|
31 |
|
|
|
32 |
|
|
System.out.println("\n===============");
|
33 |
|
|
|
34 |
|
|
System.out.println(" The filter Works !!!");
|
35 |
|
|
long before = System.currentTimeMillis();
|
36 |
|
|
|
37 |
|
|
// Attributes != Paramters but there is no setParameter
|
38 |
|
|
//request.setAttribute("SLD", "http://pmark.msi.ucsb.edu:8180/knb/style/skins/ebm/spatial/data_bounds_style.sld");
|
39 |
|
|
|
40 |
|
|
Enumeration e = request.getParameterNames();
|
41 |
|
|
while( e.hasMoreElements() ) {
|
42 |
|
|
String name = (String) e.nextElement();
|
43 |
|
|
System.out.println( name + " = " + request.getParameter(name));
|
44 |
|
|
}
|
45 |
|
|
|
46 |
|
|
|
47 |
|
|
chain.doFilter(request, response);
|
48 |
|
|
long after = System.currentTimeMillis();
|
49 |
|
|
System.out.println(" *** Time " + (after - before) + "ms");
|
50 |
|
|
|
51 |
|
|
|
52 |
|
|
System.out.println("===============\n");
|
53 |
|
|
|
54 |
|
|
// A simple redirect won't work since it will filter itself endlessly
|
55 |
|
|
//HttpServletResponse hres = (HttpServletResponse) response;
|
56 |
|
|
//HttpServletRequest hreq = (HttpServletRequest) response;
|
57 |
|
|
//hres.sendRedirect( hreq.getRequestURL().toString() );
|
58 |
|
|
}
|
59 |
|
|
}
|