JSFUtil.java
5.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
package br.gov.mc.cadsei.util;
import java.util.Map;
import javax.faces.application.Application;
import javax.faces.application.FacesMessage;
import javax.faces.application.FacesMessage.Severity;
import javax.faces.application.ViewHandler;
import javax.faces.component.UIViewRoot;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.primefaces.context.RequestContext;
public class JSFUtil {
public static void retornarMensagem(String idComponentePagina, String mensagem) {
FacesContext contexto = FacesContext.getCurrentInstance();
contexto.addMessage(idComponentePagina, new FacesMessage(mensagem));
}
public static void retornarMensagem(String idComponentePagina, Severity severity, String mensagem) {
FacesContext contexto = FacesContext.getCurrentInstance();
contexto.addMessage(idComponentePagina, new FacesMessage(severity, "", mensagem));
}
public static RequestContext getRequestContext() {
return RequestContext.getCurrentInstance();
}
/**
* Método que lê um parâmetro de um link ou botão passado através da TAG
* <code><f:param></code>.
*
* @param nomeDoParametro
* valor usado no atributo name da TAG "param"
* @return o valor passado no envio da requisição como uma String
*/
public static String getParametro(String nomeDoParametro) {
FacesContext context = FacesContext.getCurrentInstance();
Map<String, String> map = context.getExternalContext().getRequestParameterMap();
String valor = map.get(nomeDoParametro);
return valor;
}
/**
* Método que lê um parâmetro de um link ou botão passado através da TAG
* <code><f:param></code>, convertendo o valor para Long.
*
* @param nomeDoParametro
* valor usado no atributo name da TAG "param"
* @return o valor passado no envio da requisição como um Long
*/
public static Long getParametroLong(String nomeDoParametro) {
String valor = getParametro(nomeDoParametro);
Long valorLong;
try {
valorLong = new Long(valor);
} catch (Exception e) {
valorLong = null;
}
return valorLong;
}
/**
* Método que lê um parâmetro de um link ou botão passado através da TAG
* <code><f:param></code>, convertendo o valor para Integer.
*
* @param nomeDoParametro
* valor usado no atributo name da TAG "param"
* @return o valor passado no envio da requisição como um Integer
*/
public static Integer getParametroInteger(String nomeDoParametro) {
String valor = getParametro(nomeDoParametro);
Integer valorInt;
try {
valorInt = new Integer(valor);
} catch (Exception e) {
valorInt = null;
}
return valorInt;
}
/**
* Método que pega o objeto HttpSession associado com a requisição atual.
*/
public static HttpSession getHttpSession() {
FacesContext fc = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) fc.getExternalContext().getSession(false);
return session;
}
/**
* Método que pega o objeto HttpServletRequest associado com a requisição
* atual.
*/
public static HttpServletRequest getServletRequest() {
return (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
}
/**
* Método que pega o objeto HttpServletResponse associado com a requisição
* atual.
*/
public static HttpServletResponse getServletResponse() {
return (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
}
/**
* Método que pega o objeto ExternalContext do contexto do Faces.
*/
public static ExternalContext getExternalContext() {
return FacesContext.getCurrentInstance().getExternalContext();
}
/**
* Método que pega o objeto Map do Application do contexto do Faces.
*/
public static Map<String, Object> getApplicationMap() {
return FacesContext.getCurrentInstance().getExternalContext().getApplicationMap();
}
/**
* Método que pega o objeto Map do Session do contexto do Faces.
*/
public static Map<String, Object> getSessionMap() {
return FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
}
/**
* Método que pega o objeto Map do Request do contexto do Faces.
*/
public static Map<String, Object> getRequestMap() {
return FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
}
/**
* Método que pega o objeto Map com os Parâmetros da requisição.
*/
public static Map<String, String> getRequestParameterMap() {
return FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
}
/**
* Método que pega o objeto ServletContext do contexto do Faces.
*/
public static ServletContext getServletContext() {
return (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
}
public static void limparObjetosSessao(String nomeChave) {
for (String chave : JSFUtil.getSessionMap().keySet()) {
if (chave.contains(nomeChave)) {
System.out.println("JSFUtil.limparObjetosSessao() <> " + chave);
getSessionMap().put(chave, null);
}
}
}
public static void refresh() {
FacesContext context = FacesContext.getCurrentInstance();
Application application = context.getApplication();
ViewHandler viewHandler = application.getViewHandler();
UIViewRoot viewRoot = viewHandler.createView(context, context.getViewRoot().getViewId());
context.setViewRoot(viewRoot);
context.renderResponse(); // Optional
}
}