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