UrlRedirectBean.java
package sk.iway.iwcm.system;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.TableGenerator;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import com.fasterxml.jackson.annotation.JsonIgnore;
import sk.iway.iwcm.Tools;
import sk.iway.iwcm.database.ActiveRecordRepository;
import sk.iway.iwcm.system.adminlog.EntityListenersType;
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;
/**
* UrlRedirectBean.java
*
*@Title webjet7
*@Company Interway s.r.o. (www.interway.sk)
*@Copyright Interway s.r.o. (c) 2001-2010
*@author $Author: marosurbanec $
*@version $Revision: 1.3 $
*@created Date: 14.04.2010 16:43:36
*@modified $Date: 2004/08/16 06:26:11 $
*/
@Entity
@Table(name="url_redirect")
@EntityListeners(sk.iway.iwcm.system.adminlog.AuditEntityListener.class)
@EntityListenersType(sk.iway.iwcm.Adminlog.TYPE_REDIRECT_UPDATE)
public class UrlRedirectBean extends ActiveRecordRepository implements Serializable
{
private static final long serialVersionUID = -1L;
public UrlRedirectBean() {}
public UrlRedirectBean(String oldUrl, String newUrl, Integer redirectCode, String domainName) {
this.oldUrl = oldUrl;
this.newUrl = newUrl;
this.redirectCode = redirectCode;
this.domainName = domainName;
}
@Id
@GeneratedValue(generator="WJGen_url_redirect")
@TableGenerator(name="WJGen_url_redirect",pkColumnValue="url_redirect")
@Column(name="url_redirect_id")
@DataTableColumn(
inputType = DataTableColumnType.ID,
title = "components.redirect.label.id"
)
private Long urlRedirectId;
@Column(name="insert_date")
@Temporal(TemporalType.TIMESTAMP)
@DataTableColumn(
inputType = DataTableColumnType.DATETIME,
title ="components.redirect.admin_list.datum_vlozenia",
sortAfter = "publishDate",
editor = {
@DataTableColumnEditor(
attr = {
@DataTableColumnEditorAttr(key = "disabled", value = "disabled")
}
)
}
)
Date insertDate;
@Column(name="old_url")
@NotBlank
@Size(max=255)
@DataTableColumn(
inputType = DataTableColumnType.OPEN_EDITOR,
title = "components.redirect.admin_list.stare_url",
sortAfter = "urlRedirectId"
)
String oldUrl;
@Column(name="redirect_code",nullable=false)
@NotNull
@DataTableColumn(
inputType = DataTableColumnType.TEXT_NUMBER,
title = "components.redirect.admin_list.presmerovaci_kod",
sortAfter = "newUrl",
defaultValue = "302"
)
Integer redirectCode;
@Column(name="domain_name")
@DataTableColumn(
inputType = DataTableColumnType.TEXT,
title = "groupedit.domain",
perms = "multiDomain",
sortAfter = "redirectCode",
defaultValue = "{currentDomain}"
)
String domainName;
@Column(name="new_url")
@NotBlank
@Size(max=255)
@DataTableColumn(
inputType = DataTableColumnType.TEXT,
title = "components.redirect.admin_list.nove_url",
sortAfter = "oldUrl"
)
String newUrl;
@Column(name="publish_date")
@Temporal(TemporalType.TIMESTAMP)
@DataTableColumn(
inputType = DataTableColumnType.DATETIME,
title = "components.redirect.admin_list.publish_date",
sortAfter = "domainName",
editor = {
@DataTableColumnEditor(
message="components.redirect.publishDateNote"
)
}
)
Date publishDate;
public Long getUrlRedirectId() {
return urlRedirectId;
}
public void setUrlRedirectId(Long urlRedirectId) {
this.urlRedirectId = urlRedirectId;
}
public Date getInsertDate()
{
return insertDate == null ? null : (Date) insertDate.clone();
}
public void setInsertDate(Date insertDate)
{
this.insertDate = insertDate == null ? null : (Date) insertDate.clone();
}
public String getOldUrl()
{
return oldUrl;
}
public void setOldUrl(String oldUrl)
{
this.oldUrl = oldUrl;
}
public Integer getRedirectCode()
{
return redirectCode;
}
public void setRedirectCode(Integer redirectCode)
{
this.redirectCode = redirectCode;
}
public String getDomainName()
{
return domainName;
}
public void setDomainName(String domainName)
{
this.domainName = domainName;
}
public String getNewUrl()
{
return newUrl;
}
public void setNewUrl(String newUrl)
{
this.newUrl = newUrl;
}
@Override
public Long getId()
{
return getUrlRedirectId();
}
@Override
public void setId(Long id)
{
setUrlRedirectId(id);
}
public Date getPublishDate() {
return publishDate;
}
public void setPublishDate(Date publishDate) {
this.publishDate = publishDate;
}
@JsonIgnore
public String getPublishTime() {
return Tools.formatTime(this.getPublishDate());
}
}