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á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á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 }