Commit 85834d1a by Antti Tonkyra

Ei varmaan hajoa! ActionLogjuttuja

1 parent 2187ef01
......@@ -11,6 +11,7 @@ import fi.insomnia.bortal.enums.ActionLogMessageState;
import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.facade.ActionLogFacade;
import fi.insomnia.bortal.model.ActionLogMessage;
import fi.insomnia.bortal.model.ActionLogMessageResponse;
import fi.insomnia.bortal.model.Role;
/**
......@@ -60,6 +61,10 @@ public class ActionLogBean implements ActionLogBeanLocal {
return roleBean.listRoles();
}
public List<ActionLogMessageResponse> getActionLogMessageResponsesByID(Integer id) {
return actionLogFacade.getActionlogMessageResponsesByID(id);
}
@Override
public ActionLogMessage find(Integer id) {
return actionLogFacade.find(id);
......
......@@ -14,6 +14,7 @@ import javax.persistence.criteria.Root;
import fi.insomnia.bortal.model.AccountEvent;
import fi.insomnia.bortal.model.AccountEvent_;
import fi.insomnia.bortal.model.ActionLogMessage;
import fi.insomnia.bortal.model.ActionLogMessageResponse;
import fi.insomnia.bortal.model.Bill;
import fi.insomnia.bortal.model.Bill_;
import fi.insomnia.bortal.model.EventPk;
......@@ -56,4 +57,15 @@ public class ActionLogFacade extends GenericFacade<Integer,ActionLogMessage> {
em.persist(alm);
em.flush();
}
public List<ActionLogMessageResponse> getActionLogMessageResponsesByID(Integer id) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<ActionLogMessageResponse> cq = cb.createQuery(ActionLogMessageResponse.class);
Root<ActionLogMessageResponse> root = cq.from(ActionLogMessageResponse.class);
cq.orderBy(cb.desc(root.get("time")));
TypedQuery<ActionLogMessageResponse> tq = em.createQuery(cq);
return tq.getResultList();
}
}
package fi.insomnia.bortal.model;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.eclipse.persistence.annotations.OptimisticLocking;
import org.eclipse.persistence.annotations.OptimisticLockingType;
import org.eclipse.persistence.annotations.PrivateOwned;
import fi.insomnia.bortal.enums.ActionLogMessageState;
......@@ -35,6 +41,10 @@ public class ActionLogMessage extends GenericEntity {
@Column(name = "message", nullable = false)
private String message;
@OneToMany(mappedBy = "actionLogMessage", cascade = CascadeType.ALL)
@PrivateOwned
private List<ActionLogMessageResponse> actionlogMessageResponses = new ArrayList<ActionLogMessageResponse>();
@Column(name = "state", nullable = true)
@Enumerated(EnumType.STRING)
private ActionLogMessageState state;
......
......@@ -7,6 +7,7 @@ import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
......@@ -21,7 +22,6 @@ import fi.insomnia.bortal.enums.ActionLogMessageState;
@Table(name = "actionlog_message_responses")
@OptimisticLocking(type = OptimisticLockingType.CHANGED_COLUMNS)
public class ActionLogMessageResponse extends GenericEntity {
//TODO: TARVII JOINIT YMS YMS
@Column(name = "time", nullable = false)
@Temporal(TemporalType.TIMESTAMP)
private Date time = new Date();
......@@ -36,6 +36,10 @@ public class ActionLogMessageResponse extends GenericEntity {
@Enumerated(EnumType.STRING)
private ActionLogMessageState stateChange;
@JoinColumn(name = "actionlog_message_id", referencedColumnName = "id")
@ManyToOne(optional = false)
private ActionLogMessage actionLogMessage;
public Date getTime() {
return time;
}
......@@ -67,4 +71,12 @@ public class ActionLogMessageResponse extends GenericEntity {
public void setStateChange(ActionLogMessageState stateChange) {
this.stateChange = stateChange;
}
public ActionLogMessage getActionLogMessage() {
return actionlogMessage;
}
public void setActionLogMessage(ActionLogMessage message) {
this.actionlogMessage = message;
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!