Commit 85834d1a by Antti Tonkyra

Ei varmaan hajoa! ActionLogjuttuja

1 parent 2187ef01
...@@ -11,6 +11,7 @@ import fi.insomnia.bortal.enums.ActionLogMessageState; ...@@ -11,6 +11,7 @@ import fi.insomnia.bortal.enums.ActionLogMessageState;
import fi.insomnia.bortal.enums.apps.UserPermission; import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.facade.ActionLogFacade; import fi.insomnia.bortal.facade.ActionLogFacade;
import fi.insomnia.bortal.model.ActionLogMessage; import fi.insomnia.bortal.model.ActionLogMessage;
import fi.insomnia.bortal.model.ActionLogMessageResponse;
import fi.insomnia.bortal.model.Role; import fi.insomnia.bortal.model.Role;
/** /**
...@@ -59,6 +60,10 @@ public class ActionLogBean implements ActionLogBeanLocal { ...@@ -59,6 +60,10 @@ public class ActionLogBean implements ActionLogBeanLocal {
public List<Role> getAssignableRoles() { public List<Role> getAssignableRoles() {
return roleBean.listRoles(); return roleBean.listRoles();
} }
public List<ActionLogMessageResponse> getActionLogMessageResponsesByID(Integer id) {
return actionLogFacade.getActionlogMessageResponsesByID(id);
}
@Override @Override
public ActionLogMessage find(Integer id) { public ActionLogMessage find(Integer id) {
......
...@@ -14,6 +14,7 @@ import javax.persistence.criteria.Root; ...@@ -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.AccountEvent_; import fi.insomnia.bortal.model.AccountEvent_;
import fi.insomnia.bortal.model.ActionLogMessage; 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.Bill_; import fi.insomnia.bortal.model.Bill_;
import fi.insomnia.bortal.model.EventPk; import fi.insomnia.bortal.model.EventPk;
...@@ -56,4 +57,15 @@ public class ActionLogFacade extends GenericFacade<Integer,ActionLogMessage> { ...@@ -56,4 +57,15 @@ public class ActionLogFacade extends GenericFacade<Integer,ActionLogMessage> {
em.persist(alm); em.persist(alm);
em.flush(); 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; package fi.insomnia.bortal.model;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.EnumType; import javax.persistence.EnumType;
import javax.persistence.Enumerated; import javax.persistence.Enumerated;
import javax.persistence.JoinColumn; import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.Temporal; import javax.persistence.Temporal;
import javax.persistence.TemporalType; import javax.persistence.TemporalType;
import org.eclipse.persistence.annotations.OptimisticLocking; import org.eclipse.persistence.annotations.OptimisticLocking;
import org.eclipse.persistence.annotations.OptimisticLockingType; import org.eclipse.persistence.annotations.OptimisticLockingType;
import org.eclipse.persistence.annotations.PrivateOwned;
import fi.insomnia.bortal.enums.ActionLogMessageState; import fi.insomnia.bortal.enums.ActionLogMessageState;
...@@ -34,6 +40,10 @@ public class ActionLogMessage extends GenericEntity { ...@@ -34,6 +40,10 @@ public class ActionLogMessage extends GenericEntity {
@Column(name = "message", nullable = false) @Column(name = "message", nullable = false)
private String message; private String message;
@OneToMany(mappedBy = "actionLogMessage", cascade = CascadeType.ALL)
@PrivateOwned
private List<ActionLogMessageResponse> actionlogMessageResponses = new ArrayList<ActionLogMessageResponse>();
@Column(name = "state", nullable = true) @Column(name = "state", nullable = true)
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)
......
...@@ -7,6 +7,7 @@ import javax.persistence.Entity; ...@@ -7,6 +7,7 @@ import javax.persistence.Entity;
import javax.persistence.EnumType; import javax.persistence.EnumType;
import javax.persistence.Enumerated; import javax.persistence.Enumerated;
import javax.persistence.JoinColumn; import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.Temporal; import javax.persistence.Temporal;
import javax.persistence.TemporalType; import javax.persistence.TemporalType;
...@@ -21,7 +22,6 @@ import fi.insomnia.bortal.enums.ActionLogMessageState; ...@@ -21,7 +22,6 @@ import fi.insomnia.bortal.enums.ActionLogMessageState;
@Table(name = "actionlog_message_responses") @Table(name = "actionlog_message_responses")
@OptimisticLocking(type = OptimisticLockingType.CHANGED_COLUMNS) @OptimisticLocking(type = OptimisticLockingType.CHANGED_COLUMNS)
public class ActionLogMessageResponse extends GenericEntity { public class ActionLogMessageResponse extends GenericEntity {
//TODO: TARVII JOINIT YMS YMS
@Column(name = "time", nullable = false) @Column(name = "time", nullable = false)
@Temporal(TemporalType.TIMESTAMP) @Temporal(TemporalType.TIMESTAMP)
private Date time = new Date(); private Date time = new Date();
...@@ -35,6 +35,10 @@ public class ActionLogMessageResponse extends GenericEntity { ...@@ -35,6 +35,10 @@ public class ActionLogMessageResponse extends GenericEntity {
@Column(name = "state_change", nullable = true) @Column(name = "state_change", nullable = true)
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)
private ActionLogMessageState stateChange; private ActionLogMessageState stateChange;
@JoinColumn(name = "actionlog_message_id", referencedColumnName = "id")
@ManyToOne(optional = false)
private ActionLogMessage actionLogMessage;
public Date getTime() { public Date getTime() {
return time; return time;
...@@ -67,4 +71,12 @@ public class ActionLogMessageResponse extends GenericEntity { ...@@ -67,4 +71,12 @@ public class ActionLogMessageResponse extends GenericEntity {
public void setStateChange(ActionLogMessageState stateChange) { public void setStateChange(ActionLogMessageState stateChange) {
this.stateChange = 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!