package org.infosec.ismp.manager.rmi.tm.manager.model;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
/**
* 数据库实体
* @author 肖高峰
*/
@Entity
@Table(name = "tm_topo_manager_database")
@org.hibernate.annotations.Entity(dynamicInsert = true, dynamicUpdate = true)
public class DatabaseEntity implements Serializable{
private static final long serialVersionUID = 1993458227114034873L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="database_id")
private Long databaseId;
/**
* node 外键
*/
@OneToOne
@JoinColumn(name = "node_id")
private NodeEntity node;
/**
* 显示标识名
*/
@Column(name="display_name", length=100)
private String displayName;
/**
* 数据名称
*/
@Column(name="database_name", length=100)
private String databaseName;
/**
* IP地址
*/
@Column(name="ip", length=20)
private String ip;
/**
* 端口
*/
private Integer port;
/**
* 数据库驱动
*/
@Column(name="driver", length=100)
private String driver;
/**
* 数据库url
*/
@Column(name="url", length=100)
private String url;
/**
* 数据库用户名
*/
@Column(name="username", length=100)
private String username;
/**
* 数据库密码
*/
@Column(name="password", length=80)
private String password;
/**
* 在线轮询时间
*/
@Column(name="up_interval")
private Long upInterval;
/**
* 下线轮询时间
*/
@Column(name="down_interval")
private Long downInterval;
/**
* 数据库类型
*/
@Column(name="type", length=20)
private String type;
/**
* 数据库版本
*/
@Column(name="version", length=50)
private String version;
public Integer getPort() {
return port;
}
public void setPort(Integer port) {
this.port = port;
}
public Long getDatabaseId() {
return databaseId;
}
public NodeEntity getNode() {
return node;
}
public String getDisplayName() {
return displayName;
}
public String getDatabaseName() {
return databaseName;
}
public String getIp() {
return ip;
}
public String getDriver() {
return driver;
}
public String getUrl() {
return url;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
public long getUpInterval() {
return upInterval;
}
public long getDownInterval() {
return downInterval;
}
public String getType() {
return type;
}
public String getVersion() {
return version;
}
public void setDatabaseId(Long databaseId) {
this.databaseId = databaseId;
}
public void setNode(NodeEntity node) {
this.node = node;
}
public void setDisplayName(String displayName) {
this.displayName = displayName;
}
public void setDatabaseName(String databaseName) {
this.databaseName = databaseName;
}
public void setIp(String ip) {
this.ip = ip;
}
public void setDriver(String driver) {
this.driver = driver;
}
public void setUrl(String url) {
this.url = url;
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public void setUpInterval(Long upInterval) {
this.upInterval = upInterval;
}
public void setDownInterval(Long downInterval) {
this.downInterval = downInterval;
}
public void setType(String type) {
this.type = type;
}
public void setVersion(String version) {
this.version = version;
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if (other == null) {
return false;
}
if (! (other instanceof DatabaseEntity)) {
return false;
}
DatabaseEntity database = (DatabaseEntity) other;
if ((database.ip == this.ip)
&& (database.node == this.node)
&& (database.displayName == this.displayName)
&& (database.databaseName == this.databaseName)
&& (database.type == this.type)
&& (database.password == this.password)
&& (database.version == this.version)
&& (database.driver == this.driver)
&& (database.upInterval == this.upInterval)
&& (database.username == this.username)) {
return true;
}
return false;
}
@Override
public int hashCode() {
final int constant = 37;
int total = 17;
total = constant * total + ((ip == null) ? 0 : ip.hashCode());
total = constant * total + ((databaseId == null) ? 0 : databaseId.hashCode());
total = constant * total + ((displayName == null) ? 0 : displayName.hashCode());
total = constant * total + ((databaseName == null) ? 0 : databaseName.hashCode());
total = constant * total + ((type == null) ? 0 : type.hashCode());
total = constant * total + ((version == null) ? 0 : version.hashCode());
total = constant * total + ((node == null) ? 0 : node.hashCode());
total = constant * total + ((password == null) ? 0 : password.hashCode());
total = constant * total + ((this.driver == null) ? 0 : driver.hashCode());
total = constant * total + ((this.upInterval == null) ? 0 : upInterval.hashCode());
total = constant * total + ((this.username == null) ? 0 : username.hashCode());
return total;
}
@Override
public String toString() {
StringBuffer value = new StringBuffer(this.getClass().toString());
value.append(", nodeId = " + node );
value.append(", ip = " + ip);
value.append(", displayName = " + displayName);
value.append(", databaseName = " + databaseName);
value.append(", password = " + password);
value.append(", type = " + type);
value.append(", version = " + version);
return value.toString();
}
}