1 /*
2 * Created on 14/12/2004
3 *
4 * Classe que implementa a interface PopUpPesquisa que é utilizada pelo template jsp
5 * popup_pesquisa.jsp
6 *
7 * O template instancia essa classe utilizando os métodos definidos na interface.
8 * Assim o template pode ser usado para pesquisar e navegar em várias classes sem
9 * precisar escrever um jsp específico para cada um.
10 * Basta criar uma classe que implementa a interface PopUpPesquisa e passá-la como
11 * parâmatro no momento de chamar a tela de pesquisa
12 *
13 * A tela de pesquisa sempre retorna um código e uma descrição do que foi selecionado.
14 *
15 */
16 package ecar.popup;
17
18 import java.util.List;
19
20 import javax.servlet.http.HttpServletRequest;
21
22 import comum.database.Dao;
23 import comum.util.Pagina;
24
25 import ecar.dao.UsuarioDao;
26 import ecar.exception.ECARException;
27 import ecar.pojo.UsuarioUsu;
28 import ecar.util.Dominios;
29
30 /**
31 * @author garten
32 *
33 */
34 public class PopUpUsuario implements PopUpPesquisa {
35
36
37 // array de nomes de campos em que pode pesquisar
38 private String[] pesquisarEm;
39
40 // declare o seu pojo e o Dao aqui
41 private UsuarioUsu pojo;
42 private UsuarioDao dao;
43
44 public PopUpUsuario(){
45 pojo = new UsuarioUsu();
46 dao = new UsuarioDao(null);
47 this.setPesquisarEm(new String[] {"Nome","E-mail"});
48 }
49
50 /**
51 * Devolve para o template jsp o Dao.<br>
52 *
53 * @author N/C
54 * @since N/C
55 * @version N/C
56 * @return Dao
57 * @see ecar.popup.PopUpPesquisa#getDao()
58 */
59 public Dao getDao() {
60 return dao;
61 }
62
63 /**
64 * Retorna String "Usuários".<br>
65 *
66 * @author N/C
67 * @since N/C
68 * @version N/C
69 * @return String
70 */
71 public String getTitulo(){
72 return "Usuários";
73 }
74
75 /**
76 * Recebe o argumento de pesquisa do template jsp e seta nos respectivos campos.<br>
77 * String arg a string do argumento d pesquisa.<br>
78 * String[] pesquisarEm um array de string com os nomes dos campos que devem ser pesquisados.<br>
79 *
80 * @author N/C
81 * @since N/C
82 * @version N/C
83 * @param HttpServletRequest request
84 * @throws ECARException
85 */
86 public void setArgPesquisa(HttpServletRequest request) throws ECARException{
87 String arg = Pagina.getParam(request, "hidArg");
88 String[] pesquisarEm = request.getParameterValues("hidPesquisarEm");
89 pojo.setIndAtivoUsu(Dominios.SIM);
90
91 if (pesquisarEm != null)
92 for (int i = 0; i < pesquisarEm.length; i++) {
93 if ("0".equals(pesquisarEm[i]))
94 pojo.setNomeUsu(arg);
95 if ("1".equals(pesquisarEm[i]))
96 pojo.setEmail1Usu(arg);
97 }
98 }
99
100 /**
101 * Pesquisa.<br>
102 *
103 * @author N/C
104 * @since N/C
105 * @version N/C
106 * @return List
107 * @throws ECARException
108 */
109 public List pesquisar() throws ECARException {
110
111 String nomeUsu = pojo.getNomeUsuSent();
112 String emailUsu = pojo.getEmail1UsuSent();
113
114 // retirar o nome e email do usuario do bean para não pesquisa-lo no banco de dados ECAR
115 pojo.setNomeUsu(null);
116 pojo.setEmail1Usu(null);
117
118 return dao.pesquisar(pojo, nomeUsu, "", "", emailUsu);
119 //return dao.pesquisar(pojo, new String[] {"codUsu", "asc"});
120 }
121
122 /**
123 * Devolve para o template o codigo do radio button.<br>
124 *
125 * @author N/C
126 * @since N/C
127 * @version N/C
128 * @return String
129 */
130 public String getCodigo() {
131 return pojo.getCodUsu().toString();
132 }
133
134 /**
135 * Devolve para o template a descricao.<br>
136 *
137 * @author N/C
138 * @since N/C
139 * @version N/C
140 * @return String
141 */
142 public String getDescricao() {
143 return pojo.getNomeUsu();
144 }
145
146 /**
147 * Recebe um objeto do template.<br>
148 *
149 * @author N/C
150 * @since N/C
151 * @version N/C
152 * @param Object o
153 */
154 public void setPojo(Object o) {
155 pojo = (UsuarioUsu) o;
156 }
157
158 /**
159 * Retorna para o template um array com os nomes para montar os checkbox.<br>
160 *
161 * @author N/C
162 * @since N/C
163 * @version N/C
164 * @return String[] - (Returns the pesquisarEm)
165 */
166 public String[] getPesquisarEm() {
167 return pesquisarEm;
168 }
169
170 /**
171 * Atribui internamente um array com os campos possiveis para a pesquisa.<br>
172 *
173 * @author N/C
174 * @since N/C
175 * @version N/C
176 * @param String[] pesquisarEm - (The pesquisarEm to set)
177 */
178 private void setPesquisarEm(String[] pesquisarEm) {
179 this.pesquisarEm = pesquisarEm;
180 }
181 }