package org.infosec.ismp.agent.winsensor.entity; import java.io.Serializable; import java.util.Date; 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.Temporal; import javax.persistence.TemporalType; import org.infosec.ismp.agent.comm.winsensor.model.CommWinsensorDevice; /** * @author Rocky * @version create time:Sep 30, 2010 9:42:42 AM * * 监控之Winsensor设备 */ @Entity @Table(name="winsensor_device") public class WinsensorDeviceBO implements Serializable { private static final long serialVersionUID = 2249118620260225460L; @Id @GeneratedValue(strategy=GenerationType.AUTO) private long id; //主键 @Column(name="ip_address", length=50) private String ipAddress; //Ip地址 @Column(name="mac_address", length=50) private String macAddress; //mac地址 @Column(name="sensor_id", length=100) private String sensorId; //winsensor客户端唯一标识 @Temporal(TemporalType.TIMESTAMP) @Column(name="create_time") private Date createTime; //创建时间 @Column(name="flag") private int flag; //监控启用标识,0:不监控;1:监控;2:暂停监控; @Column(name="node_id", length=100) private String nodeId; //各种监控类型设备唯一标识,包括SNMP等设备 @Column(name="domain_id", length=100) private String domainId; //设备的所在域Id @Column(name="time_out") private long timeout; //设置客户端超时时间,超过超时时间*次数则认为设备不在线; @Column(name="retries") private int retries; //超时次数 public CommWinsensorDevice getCommDevice() { CommWinsensorDevice commDevice = new CommWinsensorDevice(); commDevice.setIp(getIpAddress()); commDevice.setMac(getMacAddress()); commDevice.setNodeId(getNodeId()); commDevice.setRetries(getRetries()); commDevice.setSensorId(getSensorId()); commDevice.setTimeout(getTimeout()); return commDevice; } public long getId() { return id; } public void setId(long id) { this.id = id; } public String getIpAddress() { return ipAddress; } public void setIpAddress(String ipAddress) { this.ipAddress = ipAddress; } public String getMacAddress() { return macAddress; } public void setMacAddress(String macAddress) { this.macAddress = macAddress; } public String getSensorId() { return sensorId; } public void setSensorId(String sensorId) { this.sensorId = sensorId; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public int getFlag() { return flag; } public void setFlag(int flag) { this.flag = flag; } public String getNodeId() { return nodeId; } public void setNodeId(String nodeId) { this.nodeId = nodeId; } public String getDomainId() { return domainId; } public void setDomainId(String domainId) { this.domainId = domainId; } public long getTimeout() { return timeout; } public void setTimeout(long timeout) { this.timeout = timeout; } public int getRetries() { return retries; } public void setRetries(int retries) { this.retries = retries; } @Override public boolean equals(Object obj) { if (obj == this) { return true; } if (obj == null) { return false; } if (!(obj instanceof WinsensorDeviceBO)) { return false; } WinsensorDeviceBO device = (WinsensorDeviceBO) obj; if (device.getSensorId().equals(getSensorId()) && device.getIpAddress().equals(getIpAddress()) && (device.getNodeId() == getNodeId())) { return true; } return false; } @Override public int hashCode() { final int constant = 37; int total = 17; total = constant * total + ((getSensorId() == null) ? 0 : getSensorId().hashCode() ); total = constant * total + ((getIpAddress() == null) ? 0 : getIpAddress().hashCode()); total = constant * total + ((getNodeId() == null) ? 0 : getNodeId().hashCode()); return total; } @Override public String toString() { StringBuffer value = new StringBuffer(this.getClass().toString()); value.append(" sensorId: " + getSensorId()); value.append(" ipAddress: " + getIpAddress()); value.append(" nodeId: " + getNodeId()); return value.toString(); } }