View Javadoc

1   /*
2    * Created on 10/05/2005
3    */
4   package ecar.dao;
5   
6   import javax.servlet.http.HttpServletRequest;
7   
8   import comum.database.Dao;
9   import comum.util.Pagina;
10  
11  import ecar.exception.ECARException;
12  import ecar.pojo.DestaqueAreaDtqa;
13  
14  /**
15   * @author felipe
16   */
17  public class DestaqueAreaDao extends Dao {
18  
19    public DestaqueAreaDao(HttpServletRequest request) {
20      super();
21      this.request = request;
22    }
23  
24    /**
25     * A partir de dados passados por request popula um objeto Destaque Area
26     * @param segmento
27     * @param campos
28     * @param recuperarParametrosComoString indica se irá recuperar dados nulos
29     *          como String vazia
30     * @throws ECARException
31     */
32    public void setDestaqueArea(DestaqueAreaDtqa destaque, HttpServletRequest request, boolean recuperarParametrosComoString) throws ECARException {
33  
34      try {
35        if (!"".equals(Pagina.getParamStr(request, "qtdColunasDtqa")))
36          destaque.setQtdColunasDtqa(Integer.valueOf(Pagina.getParamStr(request, "qtdColunasDtqa")));
37  
38        if (recuperarParametrosComoString) {
39          destaque.setIdentificacaoDtqa(Pagina.getParamStr(request, "identificacaoDtqa"));
40          destaque.setNomeDtqa(Pagina.getParamStr(request, "nomeDtqa"));
41          destaque.setDescricaoDtqa(Pagina.getParamStr(request, "descricaoDtqa"));
42        }
43        else {
44          destaque.setIdentificacaoDtqa(Pagina.getParam(request, "identificacaoDtqa"));
45          destaque.setNomeDtqa(Pagina.getParam(request, "nomeDtqa"));
46          destaque.setDescricaoDtqa(Pagina.getParam(request, "descricaoDtqa"));
47        }
48      } catch (Exception e) {
49        this.logger.error(e);
50        throw new ECARException(e);
51      }
52  
53    }
54  
55    /**
56     * Exclui uma área de destaque, verificando antes se ela possui relação com
57     * outras tabelas. Neste caso, não permite exclusão
58     * @param area
59     * @throws ECARException
60     */
61    public void excluir(DestaqueAreaDtqa destaque) throws ECARException {
62      try {
63        boolean excluir = true;
64  
65        if (contar(destaque.getDestaqueSubAreaDtqsas()) > 0) {
66          excluir = false;
67          throw new ECARException("destaqueArea.exclusao.erro.subAreaDestaque");
68        }
69        if (excluir)
70          super.excluir(destaque);
71      } catch (ECARException e) {
72        this.logger.error(e);
73        throw e;
74      }
75    }
76  
77  }