Skip to content
Snippets Groups Projects
Commit 1ac01801 authored by Falucho's avatar Falucho
Browse files

Se sigue trabajando en el modelo

parent a15d3726
No related branches found
No related tags found
No related merge requests found
Showing
with 120 additions and 38 deletions
......@@ -4,7 +4,7 @@ import java.util.List;
public interface GenericDao<T> {
void create(T elem);
T create(T elem);
T find(String key);
......
package uy.edu.fing.tse.central.db.dao.category;
import uy.edu.fing.tse.central.db.entity.Categoria;
import uy.edu.fing.tse.central.db.mapper.MyMapper;
import uy.edu.fing.tse.dto.Category;
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 CategoryDAOBean implements CategoryDaoLocal {
@PersistenceContext(unitName = "central")
private EntityManager em;
@PostConstruct
void init() {
//Despues del constructor hace esto
}
@Override
public Category create(Category elem) {
final var r = MyMapper.INSTANCE.convert(elem);
em.persist(r);
em.flush();
return MyMapper.INSTANCE.convert(r);
}
@Override
public Category find(String key) {
final var query = em.createNamedQuery("Categoria.findByName", Categoria.class);
query.setParameter("name", key);
final var r = query.getSingleResult();
return MyMapper.INSTANCE.convert(r);
}
@Override
public Category find(Long id) {
final var r = em.find(Categoria.class, id);
return MyMapper.INSTANCE.convert(r);
}
@Override
public List<Category> findAll() {
final var query = em.createNamedQuery("Categoria.findAll", Categoria.class);
final List<Categoria> r = query.getResultList();
return r.stream().map(MyMapper.INSTANCE::convert).collect(Collectors.toList());
}
}
package uy.edu.fing.tse.central.db.dao.category;
import uy.edu.fing.tse.central.db.dao.GenericDao;
import uy.edu.fing.tse.dto.Category;
import javax.ejb.Local;
@Local
public interface CategoryDaoLocal extends GenericDao<Category> {
}
package uy.edu.fing.tse.central.db.dao.fact;
import uy.edu.fing.tse.central.db.entity.Calificacion;
import uy.edu.fing.tse.central.db.entity.Categoria;
import uy.edu.fing.tse.central.db.entity.Estado;
import uy.edu.fing.tse.central.db.entity.Hecho;
import uy.edu.fing.tse.central.db.mapper.MyMapper;
import uy.edu.fing.tse.dto.Fact;
......@@ -26,10 +29,33 @@ public class FactDAOBean implements FactDaoLocal {
}
@Override
public void create(Fact elem) {
public Fact create(Fact elem) {
final var hecho = MyMapper.INSTANCE.convert(elem);
{
final var query = em.createNamedQuery("Estado.findByValue", Estado.class);
query.setParameter("val", elem.getActualState().getValue());
final var e = query.getSingleResult();
hecho.setActualState(e);
}
if (elem.getScore() != null) {
final var query = em.createNamedQuery("Calificacion.findByValue", Calificacion.class);
query.setParameter("val", elem.getScore().getValue());
final var s = query.getSingleResult();
hecho.setScore(s);
}
if (elem.getCategory() != null) {
final var query = em.createNamedQuery("Categoria.findByName", Categoria.class);
query.setParameter("name", elem.getCategory().getName());
final var c = query.getSingleResult();
hecho.setCategory(c);
}
em.persist(hecho);
em.flush();
return MyMapper.INSTANCE.convert(hecho);
}
@Override
......
......@@ -9,17 +9,6 @@ import java.util.List;
@Local
public interface FactDaoLocal extends GenericDao<Fact> {
@Override
void create(Fact elem);
@Override
Fact find(String key);
@Override
Fact find(Long id);
@Override
List<Fact> findAll();
List<Fact> search(String value, String state, Date after, Date before);
......
......@@ -23,10 +23,11 @@ public class RoleDAOBean implements RoleDaoLocal {
}
@Override
public void create(Role elem) {
public Role create(Role elem) {
final var r = MyMapper.INSTANCE.convert(elem);
em.persist(r);
em.flush();
return MyMapper.INSTANCE.convert(r);
}
@Override
......
......@@ -23,10 +23,11 @@ public class ScoreDAOBean implements ScoreDaoLocal {
}
@Override
public void create(Score elem) {
public Score create(Score elem) {
final var r = MyMapper.INSTANCE.convert(elem);
em.persist(r);
em.flush();
return MyMapper.INSTANCE.convert(r);
}
@Override
......
......@@ -23,10 +23,11 @@ public class StateDAOBean implements StateDaoLocal {
}
@Override
public void create(State elem) {
public State create(State elem) {
final var r = MyMapper.INSTANCE.convert(elem);
em.persist(r);
em.flush();
return MyMapper.INSTANCE.convert(r);
}
@Override
......
......@@ -27,18 +27,19 @@ public class UserDAOBean implements UserDaoLocal {
@Override
public void create(User user) {
if (user instanceof UserBO) _register((UserBO) user);
else _register((UserFO) user);
public User create(User user) {
if (user instanceof UserBO) return _register((UserBO) user);
else return _register((UserFO) user);
}
public void _register(UserFO user) {
private UserFO _register(UserFO user) {
final var newUser = MyMapper.INSTANCE.convert(user);
em.persist(newUser);
em.flush();
return MyMapper.INSTANCE.convert(newUser);
}
private void _register(UserBO user) {
private UserBO _register(UserBO user) {
final var newUser = MyMapper.INSTANCE.convert(user);
final var query = em.createNamedQuery("Rol.findByName", Rol.class);
......@@ -48,6 +49,7 @@ public class UserDAOBean implements UserDaoLocal {
em.persist(newUser);
em.flush();
return MyMapper.INSTANCE.convert(newUser);
}
@Override
......
......@@ -30,7 +30,7 @@ public final class Hecho {
@ManyToOne
private Categoria category;
@OneToMany
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private List<TransicionEstado> history = new ArrayList<>();
public Long getId() {
......
......@@ -10,13 +10,13 @@ public class TransicionEstado {
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToOne(optional = false)
@ManyToOne(optional = false, fetch = FetchType.EAGER)
private Estado state;
@ManyToOne(optional = false)
@ManyToOne(optional = false, fetch = FetchType.EAGER)
private Usuario user;
@ManyToOne(optional = false)
@ManyToOne(optional = false, fetch = FetchType.EAGER)
private Hecho fact;
@Column(nullable = false)
......
......@@ -10,7 +10,6 @@ import uy.edu.fing.tse.central.db.dao.state.StateDaoLocal;
import uy.edu.fing.tse.central.db.dao.user.UserDaoLocal;
import uy.edu.fing.tse.dto.*;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import java.util.List;
......@@ -32,10 +31,6 @@ public class BusinessBean implements BusinessLocal, BusinessRemote {
@EJB
private ScoreDaoLocal calificacion;
@PostConstruct
void init() {
//Despues Hace esto
}
@Override
public void altaPeriferico(Peripherical p) {
......@@ -54,7 +49,11 @@ public class BusinessBean implements BusinessLocal, BusinessRemote {
@Override
public void altaHecho(Fact fact) {
hechos.create(fact);
final var history = fact.getHistory();
fact.setHistory(null);
final var fact1 = hechos.create(fact);
LOG.info("");
//hechos.find(fact.getTitle());
}
......
......@@ -26,7 +26,7 @@ public class Config {
initUsers();
initEstados();
initScore();
//initFacts();
initFacts();
}
@PreDestroy
......@@ -150,14 +150,14 @@ public class Config {
estados[0] = "Verificado";
estados[1] = "Verificado";
estados[2] = "No Verificado";
estados[3] = "No Verificado";
estados[4] = "No Verificado";
estados[2] = "Nuevo";
estados[3] = "Nuevo";
estados[4] = "Nuevo";
estados[5] = "Verificado";
estados[6] = "Verificado";
estados[7] = "No Verificado";
estados[7] = "Nuevo";
estados[8] = "Verificado";
estados[9] = "No Verificado";
estados[9] = "Nuevo";
for (int i = 0; i < 10; i++) {
State actualState = new State();
......@@ -171,7 +171,6 @@ public class Config {
sh.setDate(new Date());
UserBO u = new UserBO();
u.setPassword("admin");
u.setMail("admin");
sh.setUser(u);
//sh.setFact(fact);
fact.addHistory(sh);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment