1 /*
2 * Criado em 25/10/2004
3 *
4 */
5 package comum.util;
6
7 import java.io.FileInputStream;
8 import java.io.FileNotFoundException;
9 import java.io.IOException;
10 import java.util.Properties;
11
12 import javax.servlet.ServletContext;
13 import javax.servlet.jsp.PageContext;
14
15 import org.apache.log4j.Logger;
16
17 /**
18 * @author felipev
19 */
20 public class Mensagem {
21
22 private static Properties p = null;
23 private ServletContext context;
24
25 private Logger logger = null;
26
27 /**
28 * Cria uma nova instância da classe Mensagem.<br>
29 *
30 * @author N/C
31 * @since N/C
32 * @version N/C
33 * @param ServletContext application
34 */
35 public Mensagem(ServletContext application){
36 this.logger = Logger.getLogger(this.getClass());
37
38 context = application;
39 try {
40 if(p == null) {
41 p = new Properties(); // Instancia a Properties
42 p.load(new FileInputStream(application.getRealPath("/WEB-INF/classes/properties/ecar.properties"))); // Abre o arquivo de properties
43 }
44 } catch (FileNotFoundException e) {
45 logger.error(e);
46 } catch (IOException e) {
47 logger.error(e);
48 }
49 }
50
51 /**
52 * Retorna uma mensagem definida no arquivo de mensagens.<br>
53 *
54 * @author N/C
55 * @since N/C
56 * @version N/C
57 * @param String key - A chave para a mensagem desejada encontrada no arquivo de propriedades
58 * @return String - A mensagem correspondente ou mensagem padrão se não encontra a chave informada
59 */
60 public String getMensagem(String key){
61
62 if(p != null && p.containsKey(key))
63 return p.get(key).toString();
64 else
65 return "Mensagem não econtrada";
66
67 }
68
69 /**
70 * Retorna código Javascript para exibir um alert.<br>
71 *
72 * @author N/C
73 * @since N/C
74 * @version N/C
75 * @param PageContext page - O PageContext da jsp ( variável _jspx_page_context)
76 * @param String msg - A mensagem a ser exibida
77 * @throws Exception
78 */
79 public static void alert(PageContext page, String msg) throws Exception {
80 try {
81 page.getOut().println("<script language=\"javascript\">");
82 page.getOut().println("alert(\"" + msg + "\");");
83 page.getOut().println("</script>");
84 } catch(IOException e) {
85 throw new Exception(e);
86 }
87 }
88
89 /**
90 * Imprime na página o codigo javascript para atribuir um valor a uma input.<br>
91 *
92 * @author N/C
93 * @since N/C
94 * @version N/C
95 * @param PageContext page
96 * @param String input
97 * @param String value
98 * @throws Exception
99 */
100 public static void setInput(PageContext page, String input, String value) throws Exception {
101 try {
102 page.getOut().println("<script language=\"javascript\">");
103 page.getOut().println(input + " = \"" + value + "\"");
104 page.getOut().println("</script>");
105 } catch(IOException e) {
106 throw new Exception(e);
107 }
108 }
109
110 /**
111 * Metodo especifico para obter a chave path.upload.raiz no arquivo de propriedades.<br>
112 * Retorna o valor declarado nessa propriedade ou um valor default que é o
113 * caminho fisico do contexto atual.<br>
114 *
115 * @author garten
116 * @since N/C
117 * @version N/C
118 * @param String key
119 * @return String - Conteudo da chave no arquivo de properties
120 */
121 public String getPathUploadRaiz(String key) {
122
123 if(p.containsKey(key))
124 return p.get(key).toString();
125 else
126 return context.getRealPath("");
127 }
128
129 /**
130 * Retorna a quantidade especificada de itens por pagina de pesquisa.<br>
131 * Se nao especificada retorna 10.<br>
132 *
133 * @author N/C
134 * @since N/C
135 * @version N/C
136 * @param String key
137 * @return int
138 */
139 public int getQtdeItensPaginaPesquisa(String key) {
140 if(p.containsKey(key))
141 return Integer.parseInt(p.get(key).toString());
142 else
143 return 10;
144 }
145
146 }