Mercurial > dive4elements > gnv-client
annotate gnv/src/main/java/de/intevation/gnv/action/ArtifactDatabaseActionBase.java @ 706:2659a5b1fa1e
Added a link (and a controller) to toggle between german and english language (issue254).
gnv/trunk@970 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 23 Apr 2010 07:55:05 +0000 |
parents | f550bd27a3f1 |
children | 0441e78cd900 |
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; |
409
df78178e1180
Moved user interface creation to an own action. This makes avoids code duplication and makes it easier to write new action to handle special interactions, because there is no need for parsing the describe document and creating the user interface after this.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
408
diff
changeset
|
7 |
4
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
8 import org.apache.struts.action.Action; |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
9 import org.apache.struts.action.ActionForm; |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
10 import org.apache.struts.action.ActionForward; |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
11 import org.apache.struts.action.ActionMapping; |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
12 |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
13 /** |
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
|
14 * @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
|
15 * |
4
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
16 */ |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
17 public class ArtifactDatabaseActionBase extends Action { |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
18 |
8
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
4
diff
changeset
|
19 protected final static String SUCCSESS_FORWARD_ID = "success"; |
34
25fdec8b4c69
Added Global Errorhandling to the GNV-Client
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
20 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
|
21 |
4
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
22 /** |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
23 * the logger, used to log exceptions and additonaly information |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
24 */ |
36
ad381cc47217
Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents:
34
diff
changeset
|
25 private static Logger log = Logger |
ad381cc47217
Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents:
34
diff
changeset
|
26 .getLogger(ArtifactDatabaseActionBase.class); |
ad381cc47217
Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents:
34
diff
changeset
|
27 |
4
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
28 /** |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
29 * Constructor |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
30 */ |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
31 public ArtifactDatabaseActionBase() { |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
32 super(); |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
33 } |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
34 |
690
254f062e334b
Added JavaDoc.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
684
diff
changeset
|
35 |
4
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
36 @Override |
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
37 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
|
38 HttpServletRequest request, |
fccf90761825
Format Code to max 80 Chars per Row better Formatter choosen
Tim Englich <tim.englich@intevation.de>
parents:
36
diff
changeset
|
39 HttpServletResponse response) throws Exception { |
8
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
4
diff
changeset
|
40 log.debug("ArtifactDatabaseActionBase.execute"); |
409
df78178e1180
Moved user interface creation to an own action. This makes avoids code duplication and makes it easier to write new action to handle special interactions, because there is no need for parsing the describe document and creating the user interface after this.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
408
diff
changeset
|
41 |
34
25fdec8b4c69
Added Global Errorhandling to the GNV-Client
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
42 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
|
43 return forward; |
25fdec8b4c69
Added Global Errorhandling to the GNV-Client
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
44 } |
36
ad381cc47217
Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents:
34
diff
changeset
|
45 |
690
254f062e334b
Added JavaDoc.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
684
diff
changeset
|
46 |
36
ad381cc47217
Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents:
34
diff
changeset
|
47 protected ActionForward getExceptionForward(ActionMapping mapping) { |
34
25fdec8b4c69
Added Global Errorhandling to the GNV-Client
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
48 log.debug("ArtifactDatabaseActionBase.getExceptionForward"); |
25fdec8b4c69
Added Global Errorhandling to the GNV-Client
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
49 ActionForward lForward = mapping.findForward(EXCEPTION_FORWARD_ID); |
8
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
4
diff
changeset
|
50 return lForward; |
4
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
51 } |
705
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
52 |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
53 |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
54 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
|
55 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
|
56 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
|
57 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
|
58 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
|
59 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
|
60 |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
61 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
|
62 return s; |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
63 } |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
64 |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
65 |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
66 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
|
67 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
|
68 return null; |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
69 |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
70 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
|
71 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
|
72 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
|
73 } |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
74 |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
75 return good; |
f550bd27a3f1
Html characters in strings inserted by the user are quoted (issue221).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
700
diff
changeset
|
76 } |
4
72951b955f00
Basic Struts-Infrastructur Added
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
77 } |
700
89ade245ca7a
Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
690
diff
changeset
|
78 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |