AuditLogEntity.java
package sk.iway.iwcm.system.audit.jpa;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.validation.constraints.Size;
import lombok.Getter;
import lombok.Setter;
import sk.iway.iwcm.system.datatable.DataTableColumnType;
import sk.iway.iwcm.system.datatable.annotations.DataTableColumn;
import sk.iway.iwcm.system.datatable.annotations.DataTableColumnEditor;
import sk.iway.iwcm.system.datatable.annotations.DataTableColumnEditorAttr;
import sk.iway.iwcm.users.UserDetails;
import sk.iway.iwcm.users.UsersDB;
@Entity
@Table(name = "_adminlog_")
@Getter
@Setter
public class AuditLogEntity {
public AuditLogEntity() {
}
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY, generator="S_webjet_adminlog")
@Column(name = "log_id")
@DataTableColumn(inputType = DataTableColumnType.ID, tab="main")
private Long id;
@Column(name = "create_date")
@DataTableColumn(inputType = DataTableColumnType.DATETIME, tab="main", renderFormat = "dt-format-date-time", editor = {
@DataTableColumnEditor(type = "datetime", attr = {
@DataTableColumnEditorAttr(key = "disabled", value = "disabled") }) })
private Timestamp createDate;
@Column(name = "log_type")
@DataTableColumn(inputType = DataTableColumnType.SELECT, tab="main", renderFormat = "dt-format-select", editor = {
@DataTableColumnEditor(type = "select", attr = {
@DataTableColumnEditorAttr(key = "disabled", value = "disabled") }) })
private Integer logType;
@Column(name = "user_id")
// @DataTableColumn(inputType = DataTableColumnType.TEXT)
private Integer userId;
@Transient
@DataTableColumn(inputType = DataTableColumnType.TEXT, tab="main", renderFormat = "dt-format-text", orderable = false, editor = {
@DataTableColumnEditor(type = "text", attr = {
@DataTableColumnEditorAttr(key = "disabled", value = "disabled") }) })
private String userFullName;
public String getUserFullName() {
if (userFullName == null && userId != null && userId.intValue()>0) {
UserDetails user = UsersDB.getUserCached(userId.intValue());
if (user!=null) userFullName = user.getFullName();
else userFullName = "";
}
return userFullName;
}
public void setUserFullName(String userFullName) {
this.userFullName = userFullName;
}
@Size(max = 1000)
@Column(name = "description")
@DataTableColumn(inputType = DataTableColumnType.OPEN_EDITOR, renderFormat = "dt-format-text", tab="description", editor = {
@DataTableColumnEditor(type = "textarea", attr = {
//disabled nedame, z UX hladiska je lepsie, ked tam viem dat kurzor a selectovat text z napr. SQL chyb @DataTableColumnEditorAttr(key = "disabled", value = "disabled"),
@DataTableColumnEditorAttr(key = "class", value = "textarea-code") }) })
private String description;
@Column(name = "sub_id1")
@DataTableColumn(inputType = DataTableColumnType.NUMBER, tab="main", renderFormat = "dt-format-number",
editor = { @DataTableColumnEditor(attr = { @DataTableColumnEditorAttr(key = "disabled", value = "disabled") }) }
)
private Integer subId1;
@Column(name = "sub_id2")
// @DataTableColumn(inputType = DataTableColumnType.TEXT_NUMBER)
private Integer subId2;
@Size(max = 255)
@Column(name = "ip")
@DataTableColumn(inputType = DataTableColumnType.TEXT, tab="main", renderFormat = "dt-format-text", editor = {
@DataTableColumnEditor(type = "text", attr = {
@DataTableColumnEditorAttr(key = "disabled", value = "disabled") }) })
private String ip;
@Size(max = 255)
@Column(name = "hostname")
@DataTableColumn(inputType = DataTableColumnType.TEXT, tab="main", renderFormat = "dt-format-text", editor = {
@DataTableColumnEditor(type = "text", attr = {
@DataTableColumnEditorAttr(key = "disabled", value = "disabled") }) })
private String hostname;
}