1 /*
2 * Created on 17/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.EntidadeDao;
26 import ecar.exception.ECARException;
27 import ecar.pojo.EntidadeEnt;
28
29 /**
30 * @author evandro
31 *
32 */
33 public class PopUpEntidadeOrgao implements PopUpPesquisa {
34
35
36 private String[] pesquisarEm;
37
38
39 // declare o seu pojo e o Dao aqui
40 private EntidadeEnt entidadeOrgao;
41 private EntidadeDao entidadeDao;
42
43 /**
44 * @author N/C
45 * @since N/C
46 * @version N/C
47 */
48 public PopUpEntidadeOrgao(){
49 entidadeOrgao = new EntidadeEnt();
50 entidadeDao = new EntidadeDao(null);
51 this.setPesquisarEm(new String[] {"Nome"});
52 }
53
54 /**
55 * Devolve para o template jsp o Dao.<br>
56 *
57 * @author N/C
58 * @since N/C
59 * @version N/C
60 * @return Dao
61 * @see ecar.popup.PopUpPesquisa#getDao()
62 */
63 public Dao getDao() {
64 return entidadeDao;
65 }
66
67 /**
68 * Recebe o argumento de pesquisa do template jsp e seta nos respectivos campos.<br>
69 * String arg - a string do argumento d pesquisa.<br>
70 * String[] pesquisarEm - um array de string com os nomes dos campos que devem ser pesquisados.<br>
71 *
72 * @author N/C
73 * @since N/C
74 * @version N/C
75 * @param HttpServletRequest request
76 * @throws ECARException
77 */
78 public void setArgPesquisa(HttpServletRequest request) throws ECARException{
79 String arg = Pagina.getParam(request, "hidArg");
80 String[] pesquisarEm = request.getParameterValues("hidPesquisarEm");
81
82 if (pesquisarEm != null)
83 for (int i = 0; i < pesquisarEm.length; i++) {
84 if ("0".equals(pesquisarEm[i]))
85 entidadeOrgao.setNomeEnt(arg);
86
87 }
88 }
89
90 /**
91 * Retorna List com entidades pesquisadas.<br>
92 *
93 * @author N/C
94 * @since N/C
95 * @version N/C
96 * @return List
97 * @throws ECARException
98 */
99 public List pesquisar() throws ECARException {
100 entidadeOrgao.setIndAtivoEnt("S");
101 entidadeOrgao.setIndOrgaoEnt("S");
102
103 return entidadeDao.pesquisar(entidadeOrgao, new String[] {"nomeEnt", "asc"});
104 }
105
106 /**
107 * Devolve para o template o codigo do radio button.<br>
108 *
109 * @author N/C
110 * @since N/C
111 * @version N/C
112 * @return String
113 */
114 public String getCodigo() {
115 return entidadeOrgao.getCodEnt().toString();
116 }
117
118 /**
119 * Devolve para o template a descricao.<br>
120 *
121 * @author N/C
122 * @since N/C
123 * @version N/C
124 * @return String
125 */
126 public String getDescricao() {
127 return entidadeOrgao.getNomeEnt();
128 }
129
130 /**
131 * Recebe um objeto do template.<br>
132 *
133 * @author N/C
134 * @since N/C
135 * @version N/C
136 * @param Object o
137 */
138 public void setPojo(Object o) {
139 entidadeOrgao = (EntidadeEnt) o;
140 }
141
142 /**
143 * Retorna para o template um array com os nomes para montar os checkbox.<br>
144 *
145 * @author N/C
146 * @since N/C
147 * @version N/C
148 * @return String[] - (Returns the pesquisarEm)
149 */
150 public String[] getPesquisarEm() {
151 return pesquisarEm;
152 }
153
154 /**
155 * Atribui internamente um array com os campos possiveis para a pesquisa.<br>
156 *
157 * @author N/C
158 * @since N/C
159 * @version N/C
160 * @param String[] pesquisarEm - (The pesquisarEm to set)
161 */
162 private void setPesquisarEm(String[] pesquisarEm) {
163 this.pesquisarEm = pesquisarEm;
164 }
165
166 /**
167 * Retorna String "Entidade".<br>
168 *
169 * @author N/C
170 * @since N/C
171 * @version N/C
172 * @return String
173 */
174 public String getTitulo() {
175 return "Orgão";
176 }
177 }