1 package ecar.dao;
2
3 import java.util.ArrayList;
4 import java.util.Iterator;
5
6 import javax.servlet.http.HttpServletRequest;
7
8 import org.hibernate.HibernateException;
9 import org.hibernate.Transaction;
10
11 import comum.database.Dao;
12 import comum.util.Data;
13 import comum.util.Pagina;
14
15 import ecar.exception.ECARException;
16 import ecar.pojo.AgendaAge;
17 import ecar.pojo.AgendaEntidadesAgeent;
18 import ecar.pojo.AgendaEntidadesAgeentPK;
19 import ecar.pojo.EntidadeEnt;
20
21
22
23
24 public class AgendaEntidadesAgeentDAO extends Dao {
25
26 public AgendaEntidadesAgeentDAO(HttpServletRequest request) {
27 super();
28 this.request = request;
29 }
30
31 public void setAgendaEntidadesAgeentDAO(HttpServletRequest request, AgendaEntidadesAgeent agendaEntidades) throws ECARException {
32 agendaEntidades.setAgendaAge((AgendaAge) this.buscar(AgendaAge.class, Long.valueOf(Pagina.getParamStr(request, "codAge"))));
33 agendaEntidades.setEntidadeEnt((EntidadeEnt) new EntidadeDao(request).buscar(EntidadeEnt.class, Long.valueOf(Pagina.getParamStr(request, "codEnt"))));
34 }
35
36
37
38
39
40 public void setPK(AgendaEntidadesAgeent agendaEntidade) {
41 AgendaEntidadesAgeentPK chave = new AgendaEntidadesAgeentPK();
42
43 chave.setCodAge((Long.valueOf(agendaEntidade.getAgendaAge().getCodAge().longValue())));
44 chave.setCodEnt((Long.valueOf(agendaEntidade.getEntidadeEnt().getCodEnt().longValue())));
45
46 agendaEntidade.setComp_id(chave);
47 }
48
49
50
51
52
53
54 public void salvar(AgendaEntidadesAgeent agendaEntidade) throws ECARException {
55 setPK(agendaEntidade);
56 try {
57 if (buscar(AgendaEntidadesAgeent.class, agendaEntidade.getComp_id()) != null)
58 throw new ECARException("agenda.entidade.inclusao.jaExiste");
59 } catch (ECARException e) {
60 this.logger.error(e);
61 if (e.getMessageKey().equalsIgnoreCase("erro.objectNotFound")) {
62 super.salvar(agendaEntidade);
63 }
64 else
65
66 throw e;
67 }
68 }
69
70
71
72
73
74
75
76
77
78 public void excluir(String[] codigosParaExcluir, Long codAgenda) throws ECARException {
79 Transaction tx = null;
80
81 try {
82 ArrayList objetos = new ArrayList();
83
84 super.inicializarLogBean();
85
86 tx = session.beginTransaction();
87
88 for (int i = 0; i < codigosParaExcluir.length; i++) {
89 AgendaEntidadesAgeentPK chave = new AgendaEntidadesAgeentPK(Long.valueOf(codigosParaExcluir[i]), codAgenda);
90 AgendaEntidadesAgeent agendaEntidade = (AgendaEntidadesAgeent) buscar(AgendaEntidadesAgeent.class, chave);
91
92 session.delete(agendaEntidade);
93 objetos.add(agendaEntidade);
94 }
95
96 tx.commit();
97
98 if (super.logBean != null) {
99 super.logBean.setCodigoTransacao(Data.getHoraAtual(false));
100 super.logBean.setOperacao("EXC");
101 Iterator itObj = objetos.iterator();
102
103 while (itObj.hasNext()) {
104 super.logBean.setObj(itObj.next());
105 super.loggerAuditoria.info(logBean.toString());
106 }
107 }
108 } catch (HibernateException e) {
109 if (tx != null)
110 try {
111 tx.rollback();
112 } catch (HibernateException r) {
113 this.logger.error(r);
114 throw new ECARException("erro.hibernateException");
115 }
116 this.logger.error(e);
117 throw new ECARException("erro.hibernateException");
118 }
119 }
120 }