View Javadoc

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