From 3661f7f99293838d18b53326b43cd486456ec60f Mon Sep 17 00:00:00 2001 From: Min Chen Date: Tue, 11 Dec 2012 17:14:14 -0800 Subject: [PATCH] Fix several bugs of new refactored list apis. --- .../cloudstack/api/view/vo/BaseViewVO.java | 14 +++------ .../api/view/vo/DomainRouterJoinVO.java | 30 +++++++++++++++++-- .../cloudstack/api/view/vo/EventJoinVO.java | 14 +++++++++ .../api/view/vo/InstanceGroupJoinVO.java | 15 ++++++++++ .../api/view/vo/ProjectAccountJoinVO.java | 18 +++++++---- .../cloudstack/api/view/vo/ProjectJoinVO.java | 15 ++++++++++ .../api/view/vo/ResourceTagJoinVO.java | 4 +++ .../api/view/vo/SecurityGroupJoinVO.java | 13 ++++++++ .../api/view/vo/UserAccountJoinVO.java | 16 ++++++++-- .../cloudstack/api/view/vo/UserVmJoinVO.java | 21 +++++++++++++ server/src/com/cloud/api/ApiDBUtils.java | 4 +++ 11 files changed, 144 insertions(+), 20 deletions(-) diff --git a/api/src/org/apache/cloudstack/api/view/vo/BaseViewVO.java b/api/src/org/apache/cloudstack/api/view/vo/BaseViewVO.java index ca7cacb3557..469944f5926 100644 --- a/api/src/org/apache/cloudstack/api/view/vo/BaseViewVO.java +++ b/api/src/org/apache/cloudstack/api/view/vo/BaseViewVO.java @@ -20,22 +20,16 @@ import javax.persistence.Column; public abstract class BaseViewVO { - @Column(name="id", updatable=false, nullable = false) - protected long id; + public abstract long getId(); - public long getId() { - return id; - } + public abstract void setId(long id); - public void setId(long id) { - this.id = id; - } @Override public int hashCode() { final int prime = 31; int result = 1; - result = prime * result + (int) (id ^ (id >>> 32)); + result = prime * result + (int) (getId() ^ (getId() >>> 32)); return result; } @@ -48,7 +42,7 @@ public abstract class BaseViewVO { if (getClass() != obj.getClass()) return false; BaseViewVO other = (BaseViewVO) obj; - if (id != other.id) + if (getId() != other.getId()) return false; return true; } diff --git a/api/src/org/apache/cloudstack/api/view/vo/DomainRouterJoinVO.java b/api/src/org/apache/cloudstack/api/view/vo/DomainRouterJoinVO.java index d7d31b0ba00..e6615f44df5 100644 --- a/api/src/org/apache/cloudstack/api/view/vo/DomainRouterJoinVO.java +++ b/api/src/org/apache/cloudstack/api/view/vo/DomainRouterJoinVO.java @@ -35,9 +35,11 @@ import com.cloud.vm.VirtualMachine.State; @Table(name="domain_router_view") public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEntity { + @Column(name="id", updatable=false, nullable = false) + private long id; @Column(name="name", updatable=false, nullable=false, length=255) - private String name = null; + private String name = null; @Column(name="account_id") @@ -225,7 +227,22 @@ public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEnti - public String getUuid() { + @Override + public long getId() { + return id; + } + + + @Override + public void setId(long id) { + this.id = id; + + } + + + + + public String getUuid() { return uuid; } @@ -250,6 +267,7 @@ public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEnti + @Override public long getAccountId() { return accountId; } @@ -260,6 +278,7 @@ public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEnti } + @Override public String getAccountUuid() { return accountUuid; } @@ -274,6 +293,7 @@ public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEnti + @Override public String getAccountName() { return accountName; } @@ -284,6 +304,7 @@ public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEnti } + @Override public short getAccountType() { return accountType; } @@ -294,6 +315,7 @@ public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEnti } + @Override public long getDomainId() { return domainId; } @@ -318,6 +340,7 @@ public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEnti + @Override public String getDomainName() { return domainName; } @@ -327,6 +350,7 @@ public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEnti this.domainName = domainName; } + @Override public String getDomainPath() { return domainPath; } @@ -656,6 +680,7 @@ public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEnti + @Override public String getProjectUuid() { return projectUuid; } @@ -670,6 +695,7 @@ public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEnti + @Override public String getProjectName() { return projectName; } diff --git a/api/src/org/apache/cloudstack/api/view/vo/EventJoinVO.java b/api/src/org/apache/cloudstack/api/view/vo/EventJoinVO.java index e8619d6fef9..7a3de601d7c 100644 --- a/api/src/org/apache/cloudstack/api/view/vo/EventJoinVO.java +++ b/api/src/org/apache/cloudstack/api/view/vo/EventJoinVO.java @@ -31,6 +31,9 @@ import com.cloud.event.Event.State; @Table(name="event_view") public class EventJoinVO extends BaseViewVO implements ControlledViewEntity { + @Column(name="id", updatable=false, nullable = false) + private long id; + @Column(name="uuid") private String uuid; @@ -104,6 +107,17 @@ public class EventJoinVO extends BaseViewVO implements ControlledViewEntity { public EventJoinVO() { } + @Override + public long getId() { + return id; + } + + @Override + public void setId(long id) { + this.id = id; + + } + public String getUuid() { return uuid; } diff --git a/api/src/org/apache/cloudstack/api/view/vo/InstanceGroupJoinVO.java b/api/src/org/apache/cloudstack/api/view/vo/InstanceGroupJoinVO.java index 09194876f1a..a473216432b 100644 --- a/api/src/org/apache/cloudstack/api/view/vo/InstanceGroupJoinVO.java +++ b/api/src/org/apache/cloudstack/api/view/vo/InstanceGroupJoinVO.java @@ -28,6 +28,9 @@ import com.cloud.utils.db.GenericDao; @Table(name="instance_group_view") public class InstanceGroupJoinVO extends BaseViewVO implements ControlledViewEntity { + @Column(name="id", updatable=false, nullable = false) + private long id; + @Column(name="uuid") private String uuid; @@ -80,6 +83,18 @@ public class InstanceGroupJoinVO extends BaseViewVO implements ControlledViewEnt public InstanceGroupJoinVO() { } + @Override + public long getId() { + return id; + } + + + @Override + public void setId(long id) { + this.id = id; + + } + public String getUuid() { return uuid; } diff --git a/api/src/org/apache/cloudstack/api/view/vo/ProjectAccountJoinVO.java b/api/src/org/apache/cloudstack/api/view/vo/ProjectAccountJoinVO.java index 3f253e889dd..d6845bdd137 100644 --- a/api/src/org/apache/cloudstack/api/view/vo/ProjectAccountJoinVO.java +++ b/api/src/org/apache/cloudstack/api/view/vo/ProjectAccountJoinVO.java @@ -16,8 +16,6 @@ // under the License. package org.apache.cloudstack.api.view.vo; -import java.util.Date; - import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; @@ -25,14 +23,14 @@ import javax.persistence.Enumerated; import javax.persistence.Table; import com.cloud.projects.ProjectAccount.Role; -import com.cloud.server.ResourceTag.TaggedResourceType; -import com.cloud.utils.db.GenericDao; -import com.cloud.vm.VirtualMachine.State; @Entity @Table(name="project_account_view") public class ProjectAccountJoinVO extends BaseViewVO { + @Column(name="id", updatable=false, nullable = false) + private long id; + @Column(name="account_id") private long accountId; @@ -74,8 +72,18 @@ public class ProjectAccountJoinVO extends BaseViewVO { public ProjectAccountJoinVO() { } + @Override + public long getId() { + return id; + } + @Override + public void setId(long id) { + this.id = id; + + } + public long getDomainId() { return domainId; } diff --git a/api/src/org/apache/cloudstack/api/view/vo/ProjectJoinVO.java b/api/src/org/apache/cloudstack/api/view/vo/ProjectJoinVO.java index a3f28a19ca3..0bc9cd8b013 100644 --- a/api/src/org/apache/cloudstack/api/view/vo/ProjectJoinVO.java +++ b/api/src/org/apache/cloudstack/api/view/vo/ProjectJoinVO.java @@ -32,6 +32,9 @@ import com.cloud.vm.VirtualMachine.State; @Table(name="project_view") public class ProjectJoinVO extends BaseViewVO { + @Column(name="id", updatable=false, nullable = false) + private long id; + @Column(name="uuid") private String uuid; @@ -104,6 +107,18 @@ public class ProjectJoinVO extends BaseViewVO { public ProjectJoinVO() { } + @Override + public long getId() { + return id; + } + + + @Override + public void setId(long id) { + this.id = id; + + } + public String getUuid() { return uuid; } diff --git a/api/src/org/apache/cloudstack/api/view/vo/ResourceTagJoinVO.java b/api/src/org/apache/cloudstack/api/view/vo/ResourceTagJoinVO.java index 052149b2eed..00d161115d4 100644 --- a/api/src/org/apache/cloudstack/api/view/vo/ResourceTagJoinVO.java +++ b/api/src/org/apache/cloudstack/api/view/vo/ResourceTagJoinVO.java @@ -28,6 +28,8 @@ import com.cloud.server.ResourceTag.TaggedResourceType; @Table(name="resource_tag_view") public class ResourceTagJoinVO extends BaseViewVO implements ControlledViewEntity { + @Column(name="id", updatable=false, nullable = false) + private long id; @Column(name="uuid") private String uuid; @@ -100,10 +102,12 @@ public class ResourceTagJoinVO extends BaseViewVO implements ControlledViewEntit this.uuid = uuid; } + @Override public long getId() { return id; } + @Override public void setId(long id) { this.id = id; } diff --git a/api/src/org/apache/cloudstack/api/view/vo/SecurityGroupJoinVO.java b/api/src/org/apache/cloudstack/api/view/vo/SecurityGroupJoinVO.java index 80cab110a97..ac4c114466e 100644 --- a/api/src/org/apache/cloudstack/api/view/vo/SecurityGroupJoinVO.java +++ b/api/src/org/apache/cloudstack/api/view/vo/SecurityGroupJoinVO.java @@ -29,6 +29,9 @@ import com.cloud.server.ResourceTag.TaggedResourceType; @Table(name="security_group_view") public class SecurityGroupJoinVO extends BaseViewVO implements ControlledViewEntity { + @Column(name="id", updatable=false, nullable = false) + private long id; + @Column(name="name") private String name; @@ -138,6 +141,16 @@ public class SecurityGroupJoinVO extends BaseViewVO implements ControlledViewEnt public SecurityGroupJoinVO() { } + @Override + public long getId() { + return id; + } + + @Override + public void setId(long id) { + this.id = id; + } + public String getUuid() { return uuid; } diff --git a/api/src/org/apache/cloudstack/api/view/vo/UserAccountJoinVO.java b/api/src/org/apache/cloudstack/api/view/vo/UserAccountJoinVO.java index 2cecd2cebfa..b3a1b2017ef 100644 --- a/api/src/org/apache/cloudstack/api/view/vo/UserAccountJoinVO.java +++ b/api/src/org/apache/cloudstack/api/view/vo/UserAccountJoinVO.java @@ -20,18 +20,18 @@ import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.EnumType; -import javax.persistence.Enumerated; import javax.persistence.Table; import com.cloud.utils.db.Encrypt; import com.cloud.utils.db.GenericDao; -import com.cloud.event.Event.State; @Entity @Table(name="user_view") public class UserAccountJoinVO extends BaseViewVO { + @Column(name="id", updatable=false, nullable = false) + private long id; + @Column(name="uuid") private String uuid; @@ -107,6 +107,16 @@ public class UserAccountJoinVO extends BaseViewVO { public UserAccountJoinVO() { } + @Override + public long getId() { + return id; + } + + @Override + public void setId(long id) { + this.id = id; + } + public String getUuid() { return uuid; } diff --git a/api/src/org/apache/cloudstack/api/view/vo/UserVmJoinVO.java b/api/src/org/apache/cloudstack/api/view/vo/UserVmJoinVO.java index 0edf0be3114..d337bdde3a2 100644 --- a/api/src/org/apache/cloudstack/api/view/vo/UserVmJoinVO.java +++ b/api/src/org/apache/cloudstack/api/view/vo/UserVmJoinVO.java @@ -42,6 +42,8 @@ import com.cloud.vm.VirtualMachine.State; @Table(name="user_vm_view") public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity { + @Column(name="id", updatable=false, nullable = false) + private long id; @Column(name="name", updatable=false, nullable=false, length=255) private String name = null; @@ -364,6 +366,15 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity { } + @Override + public long getId() { + return id; + } + + @Override + public void setId(long id) { + this.id = id; + } public String getUuid() { @@ -407,6 +418,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity { } + @Override public long getAccountId() { return accountId; } @@ -417,6 +429,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity { } + @Override public String getAccountUuid() { return accountUuid; } @@ -431,6 +444,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity { + @Override public String getAccountName() { return accountName; } @@ -441,6 +455,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity { } + @Override public short getAccountType() { return accountType; } @@ -451,6 +466,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity { } + @Override public long getDomainId() { return domainId; } @@ -461,6 +477,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity { } + @Override public String getDomainUuid() { return domainUuid; } @@ -475,6 +492,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity { + @Override public String getDomainName() { return domainName; } @@ -485,6 +503,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity { } + @Override public String getDomainPath() { return domainPath; } @@ -1252,6 +1271,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity { + @Override public String getProjectUuid() { return projectUuid; } @@ -1266,6 +1286,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity { + @Override public String getProjectName() { return projectName; } diff --git a/server/src/com/cloud/api/ApiDBUtils.java b/server/src/com/cloud/api/ApiDBUtils.java index 4b889d641da..459df8d91a6 100755 --- a/server/src/com/cloud/api/ApiDBUtils.java +++ b/server/src/com/cloud/api/ApiDBUtils.java @@ -340,8 +340,12 @@ public class ApiDBUtils { _asVmGroupPolicyMapDao = locator.getDao(AutoScaleVmGroupPolicyMapDao.class); _counterDao = locator.getDao(CounterDao.class); _tagJoinDao = locator.getDao(ResourceTagJoinDao.class); + _vmGroupJoinDao = locator.getDao(InstanceGroupJoinDao.class); _eventJoinDao = locator.getDao(EventJoinDao.class); + _userAccountJoinDao = locator.getDao(UserAccountJoinDao.class); _projectJoinDao = locator.getDao(ProjectJoinDao.class); + _projectAccountJoinDao = locator.getDao(ProjectAccountJoinDao.class); + // Note: stats collector should already have been initialized by this time, otherwise a null instance is returned _statsCollector = StatsCollector.getInstance();