various fixes/cleanup: old producers are now completely gone, old logfile class too
[mir.git] / source / mir / util / HTTPRequestParser.java
1 package mir.util;\r
2 \r
3 import javax.servlet.http.HttpServletRequest;\r
4 \r
5 public class HTTPRequestParser {\r
6   private HttpServletRequest request;\r
7   private String encoding;\r
8 \r
9   public HTTPRequestParser(HttpServletRequest aRequest) {\r
10     this(aRequest, aRequest.getCharacterEncoding());\r
11   }\r
12 \r
13   public HTTPRequestParser(HttpServletRequest aRequest, String anEncoding) {\r
14     request = aRequest;\r
15     encoding = anEncoding;\r
16   }\r
17 \r
18   public boolean hasParameter(String aName) {\r
19     return request.getParameter(aName)!=null;\r
20   }\r
21 \r
22   public String getParameterWithDefault(String aName, String aDefault) {\r
23     if (hasParameter(aName))\r
24       return getParameter(aName);\r
25     else\r
26       return aDefault;\r
27   }\r
28 \r
29   public String getParameter(String aName) {\r
30     try {\r
31       String result = request.getParameter(aName);\r
32 \r
33       if (result != null && encoding!=null && !encoding.equals(request.getCharacterEncoding())) {\r
34         result = new String(result.getBytes(request.getCharacterEncoding()), encoding);\r
35       }\r
36 \r
37       return result;\r
38     }\r
39     catch (Throwable t) {\r
40       throw new RuntimeException("HTTPRequestParser.getParameter: " + t.getMessage());\r
41     }\r
42   }\r
43 \r
44   public int getIntegerWithDefault(String aName, int aDefault) {\r
45     int result = aDefault;\r
46     String value = getParameter(aName);\r
47 \r
48     try {\r
49       result = Integer.parseInt(value);\r
50     }\r
51     catch (Throwable t) {\r
52     }\r
53     return result;\r
54   }\r
55 }