View Javadoc

1   /*
2    * Created on 18/09/2004
3    */
4   package ecar.dao;
5   
6   import javax.servlet.http.HttpServletRequest;
7   
8   import comum.database.Dao;
9   
10  import ecar.exception.ECARException;
11  import ecar.pojo.AreaAre;
12  
13  /**
14   * @author evandro
15   */
16  public class AreaDao extends Dao {
17  
18    /**
19     * Construtor. Chama o Session factory do Hibernate
20     */
21    public AreaDao(HttpServletRequest request) {
22      super();
23      this.request = request;
24    }
25  
26    /**
27     * Exclui uma área, verificando antes se ela possui relação com outras
28     * tabelas. Neste caso, não permite exclusão
29     * @param atributo
30     * @throws ECARException
31     */
32    public void excluir(AreaAre area) throws ECARException {
33      try {
34        boolean excluir = true;
35  
36        if (contar(area.getItemEstruturaIetts()) > 0) {
37          excluir = false;
38          throw new ECARException("area.exclusao.erro.itemEstrutura");
39        }
40        if (excluir)
41          super.excluir(area);
42      } catch (ECARException e) {
43        this.logger.error(e);
44        throw e;
45      }
46    }
47  
48    public void salvar(AreaAre area) throws ECARException {
49      if (pesquisarDuplos(area, new String[] { "nomeAre" }, "codAre").size() > 0)
50        throw new ECARException("area.validacao.registroDuplicado");
51      if (area.getCodigoIdentAre() != null)
52        if (pesquisarDuplos(area, new String[] { "codigoIdentAre" }, "codAre").size() > 0)
53          throw new ECARException("area.validacao.registroDuplicado.codigoIdentAre");
54      super.salvar(area);
55    }
56  
57    public void alterar(AreaAre area) throws ECARException {
58      if (pesquisarDuplos(area, new String[] { "nomeAre" }, "codAre").size() > 0)
59        throw new ECARException("area.validacao.registroDuplicado");
60      if (area.getCodigoIdentAre() != null)
61        if (pesquisarDuplos(area, new String[] { "codigoIdentAre" }, "codAre").size() > 0)
62          throw new ECARException("area.validacao.registroDuplicado.codigoIdentAre");
63      super.alterar(area);
64    }
65  }