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 0000000000000000000000000000000000000000..4d5fae0e766a87d804ffc8da51046cc24d9fa95e --- /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 0000000000000000000000000000000000000000..223fe75d1e4c4d5aa496e22269ac9acd7b5a70e1 --- /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 0000000000000000000000000000000000000000..00110bf63092d637f6a19d737e256032143bf34f --- /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 0000000000000000000000000000000000000000..18aebf2b29f9de1148f69ba63f3d8026503aa9c5 --- /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 17d9825e4f1f845c499f818941da85f3155dcf76..491e74d5eb3f79e51d5c36033789c6c2aab64c9c 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 0ac4dfa0379e3772fe25d38749a85de59dc3ca55..7b8723987282471ac7f8c170c59e0158b26fc36a 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 4a0ac9b202c0c5d41748964b6fce5ad7d94aeceb..0bd7b57ace6572fe881169824fb6b3e3db5606c4 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 0213171adea94157993f2ab5e851bde5e769b94c..460fe9e99ee8239dd5d6b083156696f2dd299efb 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