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