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.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&aacute;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&aacute;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 }