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