SecurityGroupDao: do join with "nics" table instead of "user_vm" as we keep ip address information in nics.

This commit is contained in:
alena 2011-04-12 11:15:22 -07:00
parent 1a81515566
commit 1966b4f449

View File

@ -16,8 +16,8 @@
*
*/
package com.cloud.network.security;
package com.cloud.network.security;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
@ -29,66 +29,62 @@ import javax.persistence.SecondaryTables;
import javax.persistence.Table;
import com.cloud.vm.VirtualMachine.State;
@Entity
@Table(name=("security_group_vm_map"))
@SecondaryTables({
@SecondaryTable(name="user_vm",
pkJoinColumns={@PrimaryKeyJoinColumn(name="instance_id", referencedColumnName="id")}),
@SecondaryTable(name="vm_instance",
pkJoinColumns={@PrimaryKeyJoinColumn(name="instance_id", referencedColumnName="id")}),
@SecondaryTable(name="security_group",
pkJoinColumns={@PrimaryKeyJoinColumn(name="security_group_id", referencedColumnName="id")})
})
public class SecurityGroupVMMapVO {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
private Long id;
@Column(name="security_group_id")
private long securityGroupId;
@Column(name="instance_id")
@Entity
@Table(name = ("security_group_vm_map"))
@SecondaryTables({ @SecondaryTable(name = "nics", pkJoinColumns = { @PrimaryKeyJoinColumn(name = "instance_id", referencedColumnName = "instance_id") }),
@SecondaryTable(name = "vm_instance", pkJoinColumns = { @PrimaryKeyJoinColumn(name = "instance_id", referencedColumnName = "id") }),
@SecondaryTable(name = "security_group", pkJoinColumns = { @PrimaryKeyJoinColumn(name = "security_group_id", referencedColumnName = "id") }) })
public class SecurityGroupVMMapVO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "security_group_id")
private long securityGroupId;
@Column(name = "instance_id")
private long instanceId;
@Column(name="guest_ip_address", table="user_vm", insertable=false, updatable=false)
@Column(name = "ip4_address", table = "nics", insertable = false, updatable = false)
private String guestIpAddress;
@Column(name="state", table="vm_instance", insertable=false, updatable=false)
@Column(name = "state", table = "vm_instance", insertable = false, updatable = false)
private State vmState;
@Column(name="name", table="security_group", insertable=false, updatable=false)
private String groupName;
public SecurityGroupVMMapVO() { }
public SecurityGroupVMMapVO(long securityGroupId, long instanceId) {
this.securityGroupId = securityGroupId;
this.instanceId = instanceId;
}
public Long getId() {
return id;
}
public long getSecurityGroupId() {
return securityGroupId;
}
public String getGuestIpAddress() {
return guestIpAddress;
}
public long getInstanceId() {
return instanceId;
@Column(name = "name", table = "security_group", insertable = false, updatable = false)
private String groupName;
public SecurityGroupVMMapVO() {
}
public State getVmState() {
return vmState;
}
public SecurityGroupVMMapVO(long securityGroupId, long instanceId) {
this.securityGroupId = securityGroupId;
this.instanceId = instanceId;
}
public String getGroupName() {
return groupName;
}
}
public Long getId() {
return id;
}
public long getSecurityGroupId() {
return securityGroupId;
}
public String getGuestIpAddress() {
return guestIpAddress;
}
public long getInstanceId() {
return instanceId;
}
public State getVmState() {
return vmState;
}
public String getGroupName() {
return groupName;
}
}