Commit 864d0e0e by Juho Juopperi

feedback model and facade

1 parent f0c6dfe6
package fi.insomnia.bortal.facade;
import java.util.List;
import javax.ejb.EJB;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.Feedback;
import fi.insomnia.bortal.model.Feedback_;
public class FeedbackFacade extends IntegerPkGenericFacade<Feedback> {
public FeedbackFacade() {
super(Feedback.class);
}
@EJB
EventBeanLocal eventBean;
public List<Feedback> findAll() {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Feedback> cq = cb.createQuery(Feedback.class);
Root<Feedback> root = cq.from(Feedback.class);
cq.where(cb.equal(root.get(Feedback_.event), eventBean.getCurrentEvent()));
cq.orderBy(cb.desc(root.get(Feedback_.id)));
return getEm().createQuery(cq).getResultList();
}
public List<Feedback> find(EventUser user) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Feedback> cq = cb.createQuery(Feedback.class);
Root<Feedback> root = cq.from(Feedback.class);
cq.where(cb.equal(root.get(Feedback_.event), eventBean.getCurrentEvent()),
cb.equal(root.get(Feedback_.sender), user));
return getEm().createQuery(cq).getResultList();
}
}
package fi.insomnia.bortal.model;
import java.io.Serializable;
import java.util.Calendar;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
public class Feedback extends GenericEntity implements Serializable {
private static final long serialVersionUID = 1L;
@ManyToOne(optional = true)
@JoinColumn(nullable = true, name = "eventuser_id")
private EventUser sender;
@ManyToOne(optional = false)
@JoinColumn(nullable = false, name = "event_id")
private LanEvent event;
@Temporal(TemporalType.TIMESTAMP)
private Calendar timestamp;
@Lob
private String message;
public Feedback() {
super();
}
public EventUser getSender() {
return sender;
}
public void setSender(EventUser sender) {
this.sender = sender;
}
public Calendar getTimestamp() {
return timestamp;
}
public void setTimestamp(Calendar timestamp) {
this.timestamp = timestamp;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public LanEvent getEvent() {
return event;
}
public void setEvent(LanEvent event) {
this.event = event;
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!