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.EstruturaFuncaoDao;
26  import ecar.dao.FonteRecursoDao;
27  import ecar.dao.ItemEstruturaDao;
28  import ecar.exception.ECARException;
29  import ecar.pojo.EstruturaEtt;
30  import ecar.pojo.EstruturaFuncaoEttf;
31  import ecar.pojo.EstruturaFuncaoEttfPK;
32  import ecar.pojo.FonteRecursoFonr;
33  import ecar.pojo.ItemEstruturaIett;
34  
35  
36  /**
37   * @author garten
38   */
39  public class PopUpFonteRecurso implements PopUpPesquisa {
40      
41  
42      // array de nomes de campos em que pode pesquisar
43      private String[] pesquisarEm;
44      
45      // declare o seu pojo e o Dao aqui
46      private FonteRecursoFonr pojo;
47      private FonteRecursoDao dao;
48  
49      public PopUpFonteRecurso(){
50          pojo = new FonteRecursoFonr();
51          dao = new FonteRecursoDao(null);
52          this.setPesquisarEm(new String[] {"Nome"});
53      }
54      
55      /**
56       * Devolve para o template jsp o Dao.<br>
57       * 
58       * @author N/C
59       * @since N/C
60       * @version N/C
61       * @return Dao
62       * @see ecar.popup.PopUpPesquisa#getDao()
63       */
64      public Dao getDao() {
65          return dao;
66      }
67      
68      /**
69       * Retorna String "Categoria Econômica".<br>
70       * 
71       * @author N/C
72       * @since N/C
73       * @version N/C
74       * @return	String
75       */
76      public String getTitulo(){
77      	return "Categoria Econômica";
78      }
79      
80      /**
81       * Retorna String do label de Fonte de Recurso.<br>
82       * 
83       * @author Milton Pereira e Thaise Dantas
84       * @since N/C
85       * @version N/C
86       * @return	String
87       */
88      public String getTitulo(HttpServletRequest request) throws ECARException {
89      	String titulo = "";
90      	
91      	ItemEstruturaDao itemEstruturaDao = new ItemEstruturaDao(request);
92      	ItemEstruturaIett itemEstrutura = (ItemEstruturaIett) itemEstruturaDao.buscar(ItemEstruturaIett.class, Long.valueOf(Pagina.getParam(request,"codIett")));
93      	
94      	EstruturaFuncaoEttf estruturaFuncao = new EstruturaFuncaoEttf();
95      	EstruturaFuncaoDao estruturaFuncaoDao = new EstruturaFuncaoDao(request);
96      	
97     		estruturaFuncao = (EstruturaFuncaoEttf) estruturaFuncaoDao.getLabelFuncao(itemEstrutura.getEstruturaEtt(), Long.valueOf(Pagina.getParam(request,"codAba")));
98      		
99      	titulo = estruturaFuncaoDao.getLabelFuncaoFonteRecurso(estruturaFuncao.getEstruturaEtt()).toString();
100     	
101     	return titulo;
102     }
103 
104     /**
105      * Recebe o argumento de pesquisa do template jsp e seta nos respectivos campos.<br>
106      * String arg - a string do argumento d pesquisa.<br>
107      * String[] pesquisarEm - um array de string com os nomes dos campos que devem ser pesquisados.<br>
108      * 
109      * @author N/C
110      * @since N/C
111      * @version N/C
112      * @param HttpServletRequest request
113      * @throwsECARException
114      */
115     public void setArgPesquisa(HttpServletRequest request) throws ECARException{
116     	String arg = Pagina.getParam(request, "hidArg");
117         String[] pesquisarEm = request.getParameterValues("hidPesquisarEm");
118         
119         if (pesquisarEm != null)
120 	        for (int i = 0; i < pesquisarEm.length; i++) {
121 	            if ("0".equals(pesquisarEm[i]))
122 	                pojo.setNomeFonr(arg);
123 	        }
124     }
125 
126     /**
127      * Retorna List com os pojos procurados.<br>
128      * 
129      * @author N/C
130      * @since N/C
131      * @version N/C
132      * @return List
133      * @throws ECARException
134      */
135     public List pesquisar() throws ECARException {
136         pojo.setIndAtivoFonr("S");
137         return dao.pesquisar(pojo, new String[] {"codFonr", "asc"});
138     }
139     
140     /**
141      * Devolve para o template o codigo do radio button.<br>
142      * 
143      * @author N/C
144      * @since N/C
145      * @version N/C
146      * @return String
147      */
148     public String getCodigo() {
149         return pojo.getCodFonr().toString();
150     }
151     
152     /**
153      * Devolve para o template a descricao.<br>
154      * 
155      * @author N/C
156      * @since N/C
157      * @version N/C
158      * @return String
159      */
160     public String getDescricao() {
161         return pojo.getNomeFonr();
162     }
163     
164     /**
165      * Recebe um objeto do template.<br>
166      * 
167      * @author N/C
168      * @since N/C
169      * @version N/C
170      * @param Object o
171      */
172     public void setPojo(Object o) {
173         pojo = (FonteRecursoFonr) o;
174     }
175 
176     /**
177      * Retorna para o template um array com os nomes para montar os checkbox.<br>
178      * 
179      * @author N/C
180      * @since N/C
181      * @version N/C
182      * @return String[] - (Returns the pesquisarEm.)
183      */
184     public String[] getPesquisarEm() {
185         return pesquisarEm;
186     }
187 
188     /**
189      * Atribui internamente um array com os campos possiveis para a pesquisa.<br>
190      * 
191      * @author N/C
192      * @since N/C
193      * @version N/C
194      * @param String[] pesquisarEm - (The pesquisarEm to set)
195      */
196     private void setPesquisarEm(String[] pesquisarEm) {
197         this.pesquisarEm = pesquisarEm;
198     }
199 }