From 1966b4f449e55b0c4c45f8568656d973bacb1c2c Mon Sep 17 00:00:00 2001 From: alena Date: Tue, 12 Apr 2011 11:15:22 -0700 Subject: [PATCH] SecurityGroupDao: do join with "nics" table instead of "user_vm" as we keep ip address information in nics. --- .../security/SecurityGroupVMMapVO.java | 114 +++++++++--------- 1 file changed, 55 insertions(+), 59 deletions(-) diff --git a/core/src/com/cloud/network/security/SecurityGroupVMMapVO.java b/core/src/com/cloud/network/security/SecurityGroupVMMapVO.java index 3f28f587ec1..2f5495931a7 100644 --- a/core/src/com/cloud/network/security/SecurityGroupVMMapVO.java +++ b/core/src/com/cloud/network/security/SecurityGroupVMMapVO.java @@ -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; + } +}