package com.sun.j2ee.blueprints.formfilter;
import java.util.Enumeration;
import java.util.HashMap;
import javax.servlet.ServletException;
import javax.servlet.ServletContext;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.http.HttpSession;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class FormFilter implements Filter {
private FilterConfig config = null;
private String formBeanName = "formBean";
public void init(FilterConfig config) throws ServletException {
this.config = config;
String formBeanName = config.getInitParameter("form-bean-name");
if (formBeanName != null) {
this.formBeanName = formBeanName;
}
}
public void destroy() {
config = null;
formBeanName = null;
}
public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)srequest;
HashMap params = new HashMap();
Enumeration enum = request.getParameterNames();
while (enum.hasMoreElements()) {
String key = (String)enum.nextElement();
String value = (String)request.getParameter(key);
params.put(key,value);
}
FormBean bean = new FormBean(formBeanName, params);
request.setAttribute(formBeanName);
chain.doFilter(srequest,sresponse);
}
}