From 9eac9e34f754498a3a49260827e8f6ba0a1e2bd1 Mon Sep 17 00:00:00 2001 From: Falucho <german.faller@pcunix71.fing.edu.uy> Date: Tue, 25 Jun 2019 14:46:05 -0300 Subject: [PATCH] Mas Base de Datos --- .../check/checker/CheckCheckerDAOBean.java | 53 +++++++++++++++++++ .../check/checker/CheckCheckerDaoLocal.java | 11 ++++ .../mechanism/CheckMechanismDAOBean.java | 53 +++++++++++++++++++ .../mechanism/CheckMechanismDaoLocal.java | 11 ++++ .../db/entity/VerificacionChecker.java | 5 +- .../db/entity/VerificacionMecanismo.java | 4 ++ .../fing/tse/central/db/mapper/MyMapper.java | 9 +++- .../tse/central/business/BusinessBean.java | 11 ++-- 8 files changed, 151 insertions(+), 6 deletions(-) create mode 100644 central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/checker/CheckCheckerDAOBean.java create mode 100644 central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/checker/CheckCheckerDaoLocal.java create mode 100644 central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/mechanism/CheckMechanismDAOBean.java create mode 100644 central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/mechanism/CheckMechanismDaoLocal.java diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/checker/CheckCheckerDAOBean.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/checker/CheckCheckerDAOBean.java new file mode 100644 index 0000000..4d5fae0 --- /dev/null +++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/checker/CheckCheckerDAOBean.java @@ -0,0 +1,53 @@ +package uy.edu.fing.tse.central.db.dao.check.checker; + +import uy.edu.fing.tse.central.db.entity.VerificacionChecker; +import uy.edu.fing.tse.central.db.mapper.MyMapper; +import uy.edu.fing.tse.dto.CheckChecker; + +import javax.annotation.PostConstruct; +import javax.ejb.Stateless; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; +import java.util.List; +import java.util.stream.Collectors; + +@Stateless +public class CheckCheckerDAOBean implements CheckCheckerDaoLocal { + + @PersistenceContext(unitName = "central") + private EntityManager em; + + @PostConstruct + void init() { + //Despues del constructor hace esto + } + + @Override + public CheckChecker create(CheckChecker elem) { + final var r = MyMapper.INSTANCE.convert(elem); + em.persist(r); + em.flush(); + return MyMapper.INSTANCE.convert(r); + } + + @Override + public CheckChecker find(String key) { + final var query = em.createNamedQuery("VerificacionChecker.findByFact", VerificacionChecker.class); + query.setParameter("idFact", Long.parseLong(key)); + final var r = query.getSingleResult(); + return MyMapper.INSTANCE.convert(r); + } + + @Override + public CheckChecker find(Long id) { + final var r = em.find(VerificacionChecker.class, id); + return MyMapper.INSTANCE.convert(r); + } + + @Override + public List<CheckChecker> findAll() { + final var query = em.createNamedQuery("VerificacionChecker.findAll", VerificacionChecker.class); + final List<VerificacionChecker> r = query.getResultList(); + return r.stream().map(MyMapper.INSTANCE::convert).collect(Collectors.toList()); + } +} diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/checker/CheckCheckerDaoLocal.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/checker/CheckCheckerDaoLocal.java new file mode 100644 index 0000000..223fe75 --- /dev/null +++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/checker/CheckCheckerDaoLocal.java @@ -0,0 +1,11 @@ +package uy.edu.fing.tse.central.db.dao.check.checker; + +import uy.edu.fing.tse.central.db.dao.GenericDao; +import uy.edu.fing.tse.dto.CheckChecker; + +import javax.ejb.Local; + +@Local +public interface CheckCheckerDaoLocal extends GenericDao<CheckChecker> { + +} diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/mechanism/CheckMechanismDAOBean.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/mechanism/CheckMechanismDAOBean.java new file mode 100644 index 0000000..00110bf --- /dev/null +++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/mechanism/CheckMechanismDAOBean.java @@ -0,0 +1,53 @@ +package uy.edu.fing.tse.central.db.dao.check.mechanism; + +import uy.edu.fing.tse.central.db.entity.VerificacionMecanismo; +import uy.edu.fing.tse.central.db.mapper.MyMapper; +import uy.edu.fing.tse.dto.CheckMechanism; + +import javax.annotation.PostConstruct; +import javax.ejb.Stateless; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; +import java.util.List; +import java.util.stream.Collectors; + +@Stateless +public class CheckMechanismDAOBean implements CheckMechanismDaoLocal { + + @PersistenceContext(unitName = "central") + private EntityManager em; + + @PostConstruct + void init() { + //Despues del constructor hace esto + } + + @Override + public CheckMechanism create(CheckMechanism elem) { + final var r = MyMapper.INSTANCE.convert(elem); + em.persist(r); + em.flush(); + return MyMapper.INSTANCE.convert(r); + } + + @Override + public CheckMechanism find(String key) { + final var query = em.createNamedQuery("VerificacionMecanismo.findByFact", VerificacionMecanismo.class); + query.setParameter("idFact", Long.parseLong(key)); + final var r = query.getSingleResult(); + return MyMapper.INSTANCE.convert(r); + } + + @Override + public CheckMechanism find(Long id) { + final var r = em.find(VerificacionMecanismo.class, id); + return MyMapper.INSTANCE.convert(r); + } + + @Override + public List<CheckMechanism> findAll() { + final var query = em.createNamedQuery("VerificacionMecanismo.findAll", VerificacionMecanismo.class); + final List<VerificacionMecanismo> r = query.getResultList(); + return r.stream().map(MyMapper.INSTANCE::convert).collect(Collectors.toList()); + } +} diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/mechanism/CheckMechanismDaoLocal.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/mechanism/CheckMechanismDaoLocal.java new file mode 100644 index 0000000..18aebf2 --- /dev/null +++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/mechanism/CheckMechanismDaoLocal.java @@ -0,0 +1,11 @@ +package uy.edu.fing.tse.central.db.dao.check.mechanism; + +import uy.edu.fing.tse.central.db.dao.GenericDao; +import uy.edu.fing.tse.dto.CheckMechanism; + +import javax.ejb.Local; + +@Local +public interface CheckMechanismDaoLocal extends GenericDao<CheckMechanism> { + +} diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/entity/VerificacionChecker.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/entity/VerificacionChecker.java index 17d9825..491e74d 100644 --- a/central-db/src/main/java/uy/edu/fing/tse/central/db/entity/VerificacionChecker.java +++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/entity/VerificacionChecker.java @@ -3,6 +3,10 @@ package uy.edu.fing.tse.central.db.entity; import javax.persistence.*; @Entity +@NamedQueries({ + @NamedQuery(name = "VerificacionChecker.findAll", query = "select r from VerificacionChecker r"), + @NamedQuery(name = "VerificacionChecker.findByFact", query = "select r from VerificacionChecker r inner join r.fact as f where f.id = :idFact") +}) public class VerificacionChecker { @Id @@ -15,7 +19,6 @@ public class VerificacionChecker { @ManyToOne(optional = false) private Hecho fact; - @ManyToOne(optional = false) private Calificacion score; diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/entity/VerificacionMecanismo.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/entity/VerificacionMecanismo.java index 0ac4dfa..7b87239 100644 --- a/central-db/src/main/java/uy/edu/fing/tse/central/db/entity/VerificacionMecanismo.java +++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/entity/VerificacionMecanismo.java @@ -4,6 +4,10 @@ import javax.persistence.*; import java.util.Date; @Entity +@NamedQueries({ + @NamedQuery(name = "VerificacionMecanismo.findAll", query = "select r from VerificacionMecanismo r"), + @NamedQuery(name = "VerificacionMecanismo.findByFact", query = "select r from VerificacionMecanismo r inner join r.fact as f where f.id = :idFact") +}) public class VerificacionMecanismo { @Id diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/mapper/MyMapper.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/mapper/MyMapper.java index 4a0ac9b..0bd7b57 100644 --- a/central-db/src/main/java/uy/edu/fing/tse/central/db/mapper/MyMapper.java +++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/mapper/MyMapper.java @@ -52,6 +52,14 @@ public interface MyMapper { } } + VerificacionMecanismo convert(CheckMechanism f); + + CheckMechanism convert(VerificacionMecanismo f); + + VerificacionChecker convert(CheckChecker f); + + CheckChecker convert(VerificacionChecker f); + Peripherical convert(Periferico f); Periferico convert(Peripherical f); @@ -95,5 +103,4 @@ public interface MyMapper { Rol convert(Role role); Role convert(Rol rol); - } diff --git a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/BusinessBean.java b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/BusinessBean.java index 0213171..460fe9e 100644 --- a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/BusinessBean.java +++ b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/BusinessBean.java @@ -5,6 +5,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import uy.edu.fing.tse.central.db.dao.category.CategoryDaoLocal; import uy.edu.fing.tse.central.db.dao.fact.FactDaoLocal; +import uy.edu.fing.tse.central.db.dao.mechanism.MechanismDaoLocal; import uy.edu.fing.tse.central.db.dao.role.RoleDaoLocal; import uy.edu.fing.tse.central.db.dao.score.ScoreDaoLocal; import uy.edu.fing.tse.central.db.dao.state.StateDaoLocal; @@ -23,19 +24,21 @@ public class BusinessBean implements BusinessLocal, BusinessRemote { private static final Logger LOG = LoggerFactory.getLogger(Business.class); @EJB - private FactDaoLocal hechos; + private CategoryDaoLocal categorias; @EJB - private UserDaoLocal usuarios; + private FactDaoLocal hechos; @EJB - private StateDaoLocal estados; + private MechanismDaoLocal mecanismos; @EJB private RoleDaoLocal roles; @EJB private ScoreDaoLocal calificaciones; @EJB - private CategoryDaoLocal categorias; + private StateDaoLocal estados; @EJB private StateHistoryDaoLocal transiciones; + @EJB + private UserDaoLocal usuarios; @Override -- GitLab