View Javadoc

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 }