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