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