Mercurial > dive4elements > gnv-client
annotate gnv/src/main/java/de/intevation/gnv/action/ArtifactDatabaseActionBase.java @ 963:0441e78cd900
Add more Javadocs
gnv/trunk@1107 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Tue, 18 May 2010 11:09:33 +0000 |
parents | f550bd27a3f1 |
children | 33198e55371c |
rev | line source |
---|---|
4
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.gnv.action; |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
2 |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
3 import javax.servlet.http.HttpServletRequest; |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
4 import javax.servlet.http.HttpServletResponse; |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
5 |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
6 import org.apache.log4j.Logger; |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
7 import org.apache.struts.action.Action; |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
8 import org.apache.struts.action.ActionForm; |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
9 import org.apache.struts.action.ActionForward; |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
10 import org.apache.struts.action.ActionMapping; |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
11 |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
12 /** |
963 | 13 * Basicimplemantation for all Actions which should serv request for |
14 * the GNV. | |
684
57fa8019fbdc
Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
683
diff
changeset
|
15 * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a> |
681
15ac78a91d1b
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
409
diff
changeset
|
16 * |
4
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
17 */ |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
18 public class ArtifactDatabaseActionBase extends Action { |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
19 |
963 | 20 /** |
21 * The id of the action which should used if the execution | |
22 * of the action was successful. | |
23 */ | |
8
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
4
diff
changeset
|
24 protected final static String SUCCSESS_FORWARD_ID = "success"; |
963 | 25 |
26 /** | |
27 * The id of the action which should be used if an exception has occurred | |
28 * during the execution. | |
29 */ | |
34
25fdec8b4c69
Added Global Errorhandling to the GNV-Client
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
30 protected final static String EXCEPTION_FORWARD_ID = "success"; |
36
ad381cc47217
Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents:
34
diff
changeset
|
31 |
4
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
32 /** |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
33 * the logger, used to log exceptions and additonaly information |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
34 */ |
36
ad381cc47217
Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents:
34
diff
changeset
|
35 private static Logger log = Logger |
ad381cc47217
Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents:
34
diff
changeset
|
36 .getLogger(ArtifactDatabaseActionBase.class); |
ad381cc47217
Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents:
34
diff
changeset
|
37 |
4
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
38 /** |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
39 * Constructor |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
40 */ |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
41 public ArtifactDatabaseActionBase() { |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
42 super(); |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
43 } |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
44 |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
45 @Override |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
46 public ActionForward execute(ActionMapping mapping, ActionForm form, |
38
fccf90761825
Format Code to max 80 Chars per Row better Formatter choosen
Tim Englich <tim.englich@intevation.de>
parents:
36
diff
changeset
|
47 HttpServletRequest request, |
fccf90761825
Format Code to max 80 Chars per Row better Formatter choosen
Tim Englich <tim.englich@intevation.de>
parents:
36
diff
changeset
|
48 HttpServletResponse response) throws Exception { |
8
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
4
diff
changeset
|
49 log.debug("ArtifactDatabaseActionBase.execute"); |
34
25fdec8b4c69
Added Global Errorhandling to the GNV-Client
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
50 ActionForward forward = mapping.findForward(SUCCSESS_FORWARD_ID); |
25fdec8b4c69
Added Global Errorhandling to the GNV-Client
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
51 return forward; |
25fdec8b4c69
Added Global Errorhandling to the GNV-Client
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
52 } |
36
ad381cc47217
Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents:
34
diff
changeset
|
53 |
963 | 54 /** |
55 * Returns the Action that should be used if an exception has occurred. | |
56 * @param mapping the mapping which holds all available Actions | |
57 * @return the Action that should be used. | |
58 */ | |
36
ad381cc47217
Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents:
34
diff
changeset
|
59 protected ActionForward getExceptionForward(ActionMapping mapping) { |
34
25fdec8b4c69
Added Global Errorhandling to the GNV-Client
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
60 log.debug("ArtifactDatabaseActionBase.getExceptionForward"); |
25fdec8b4c69
Added Global Errorhandling to the GNV-Client
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
61 ActionForward lForward = mapping.findForward(EXCEPTION_FORWARD_ID); |
8
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
4
diff
changeset
|
62 return lForward; |
4
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
63 } |
705
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
64 |
963 | 65 /** |
66 * Encodes the <code>String</code> to prevent cross-site-scripting | |
67 * @param s the string that should be encoded | |
68 * @return the encoded string | |
69 */ | |
705
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
70 protected String encode(String s) { |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
71 log.debug("String to encode: " + s); |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
72 s = s.replaceAll("<", "<"); |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
73 s = s.replaceAll(">", ">"); |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
74 s = s.replaceAll("\"", """); |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
75 s = s.replaceAll("&", "&"); |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
76 |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
77 log.debug("Encoded string: " + s); |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
78 return s; |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
79 } |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
80 |
963 | 81 /** |
82 * Encodes the <code>StringArray</code> to prevent cross-site-scripting | |
83 * @param s the stringarray that should be encoded | |
84 * @return the encoded stringarray | |
85 */ | |
705
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
86 protected String[] encode(String[] s) { |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
87 if (s == null) |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
88 return null; |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
89 |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
90 String[] good = new String[s.length]; |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
91 for (int i = 0; i < good.length; i++) { |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
92 good[i] = encode(s[i]); |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
93 } |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
94 |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
95 return good; |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
96 } |
4
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
97 } |
700
89ade245ca7a
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
690
diff
changeset
|
98 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |