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.EstruturaFuncaoDao;
26 import ecar.dao.FonteRecursoDao;
27 import ecar.dao.ItemEstruturaDao;
28 import ecar.exception.ECARException;
29 import ecar.pojo.EstruturaEtt;
30 import ecar.pojo.EstruturaFuncaoEttf;
31 import ecar.pojo.EstruturaFuncaoEttfPK;
32 import ecar.pojo.FonteRecursoFonr;
33 import ecar.pojo.ItemEstruturaIett;
34
35
36 /**
37 * @author garten
38 */
39 public class PopUpFonteRecurso implements PopUpPesquisa {
40
41
42 // array de nomes de campos em que pode pesquisar
43 private String[] pesquisarEm;
44
45 // declare o seu pojo e o Dao aqui
46 private FonteRecursoFonr pojo;
47 private FonteRecursoDao dao;
48
49 public PopUpFonteRecurso(){
50 pojo = new FonteRecursoFonr();
51 dao = new FonteRecursoDao(null);
52 this.setPesquisarEm(new String[] {"Nome"});
53 }
54
55 /**
56 * Devolve para o template jsp o Dao.<br>
57 *
58 * @author N/C
59 * @since N/C
60 * @version N/C
61 * @return Dao
62 * @see ecar.popup.PopUpPesquisa#getDao()
63 */
64 public Dao getDao() {
65 return dao;
66 }
67
68 /**
69 * Retorna String "Categoria Econômica".<br>
70 *
71 * @author N/C
72 * @since N/C
73 * @version N/C
74 * @return String
75 */
76 public String getTitulo(){
77 return "Categoria Econômica";
78 }
79
80 /**
81 * Retorna String do label de Fonte de Recurso.<br>
82 *
83 * @author Milton Pereira e Thaise Dantas
84 * @since N/C
85 * @version N/C
86 * @return String
87 */
88 public String getTitulo(HttpServletRequest request) throws ECARException {
89 String titulo = "";
90
91 ItemEstruturaDao itemEstruturaDao = new ItemEstruturaDao(request);
92 ItemEstruturaIett itemEstrutura = (ItemEstruturaIett) itemEstruturaDao.buscar(ItemEstruturaIett.class, Long.valueOf(Pagina.getParam(request,"codIett")));
93
94 EstruturaFuncaoEttf estruturaFuncao = new EstruturaFuncaoEttf();
95 EstruturaFuncaoDao estruturaFuncaoDao = new EstruturaFuncaoDao(request);
96
97 estruturaFuncao = (EstruturaFuncaoEttf) estruturaFuncaoDao.getLabelFuncao(itemEstrutura.getEstruturaEtt(), Long.valueOf(Pagina.getParam(request,"codAba")));
98
99 titulo = estruturaFuncaoDao.getLabelFuncaoFonteRecurso(estruturaFuncao.getEstruturaEtt()).toString();
100
101 return titulo;
102 }
103
104 /**
105 * Recebe o argumento de pesquisa do template jsp e seta nos respectivos campos.<br>
106 * String arg - a string do argumento d pesquisa.<br>
107 * String[] pesquisarEm - um array de string com os nomes dos campos que devem ser pesquisados.<br>
108 *
109 * @author N/C
110 * @since N/C
111 * @version N/C
112 * @param HttpServletRequest request
113 * @throwsECARException
114 */
115 public void setArgPesquisa(HttpServletRequest request) throws ECARException{
116 String arg = Pagina.getParam(request, "hidArg");
117 String[] pesquisarEm = request.getParameterValues("hidPesquisarEm");
118
119 if (pesquisarEm != null)
120 for (int i = 0; i < pesquisarEm.length; i++) {
121 if ("0".equals(pesquisarEm[i]))
122 pojo.setNomeFonr(arg);
123 }
124 }
125
126 /**
127 * Retorna List com os pojos procurados.<br>
128 *
129 * @author N/C
130 * @since N/C
131 * @version N/C
132 * @return List
133 * @throws ECARException
134 */
135 public List pesquisar() throws ECARException {
136 pojo.setIndAtivoFonr("S");
137 return dao.pesquisar(pojo, new String[] {"codFonr", "asc"});
138 }
139
140 /**
141 * Devolve para o template o codigo do radio button.<br>
142 *
143 * @author N/C
144 * @since N/C
145 * @version N/C
146 * @return String
147 */
148 public String getCodigo() {
149 return pojo.getCodFonr().toString();
150 }
151
152 /**
153 * Devolve para o template a descricao.<br>
154 *
155 * @author N/C
156 * @since N/C
157 * @version N/C
158 * @return String
159 */
160 public String getDescricao() {
161 return pojo.getNomeFonr();
162 }
163
164 /**
165 * Recebe um objeto do template.<br>
166 *
167 * @author N/C
168 * @since N/C
169 * @version N/C
170 * @param Object o
171 */
172 public void setPojo(Object o) {
173 pojo = (FonteRecursoFonr) o;
174 }
175
176 /**
177 * Retorna para o template um array com os nomes para montar os checkbox.<br>
178 *
179 * @author N/C
180 * @since N/C
181 * @version N/C
182 * @return String[] - (Returns the pesquisarEm.)
183 */
184 public String[] getPesquisarEm() {
185 return pesquisarEm;
186 }
187
188 /**
189 * Atribui internamente um array com os campos possiveis para a pesquisa.<br>
190 *
191 * @author N/C
192 * @since N/C
193 * @version N/C
194 * @param String[] pesquisarEm - (The pesquisarEm to set)
195 */
196 private void setPesquisarEm(String[] pesquisarEm) {
197 this.pesquisarEm = pesquisarEm;
198 }
199 }