CLOUDSTACK-6089: Implement equals() method for ResourceTagResponse so that the java Set can properly determine if a ResourceTagResponse is unique. This ensures we don't get duplicate resource tags showing up any time a UserVmResponse is crafted (which can be quite often due to the way the responses are crafted). (cherry picked from commit 06ae23710ddc3784939bcd499b7437c13495bb88)
Signed-off-by: Animesh Chaturvedi <anim...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/1c640448 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/1c640448 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/1c640448 Branch: refs/heads/4.3 Commit: 1c640448df26ac97330705ee0af04fe024ec3150 Parents: a10a083 Author: Marcus Sorensen <mar...@betterservers.com> Authored: Wed Feb 12 16:07:34 2014 -0700 Committer: Animesh Chaturvedi <anim...@apache.org> Committed: Thu Feb 13 15:55:43 2014 -0800 ---------------------------------------------------------------------- .../api/response/ResourceTagResponse.java | 30 ++++++++++++++++++++ 1 file changed, 30 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1c640448/api/src/org/apache/cloudstack/api/response/ResourceTagResponse.java ---------------------------------------------------------------------- diff --git a/api/src/org/apache/cloudstack/api/response/ResourceTagResponse.java b/api/src/org/apache/cloudstack/api/response/ResourceTagResponse.java index 47b0625..8044376 100644 --- a/api/src/org/apache/cloudstack/api/response/ResourceTagResponse.java +++ b/api/src/org/apache/cloudstack/api/response/ResourceTagResponse.java @@ -101,4 +101,34 @@ public class ResourceTagResponse extends BaseResponse implements ControlledViewE public void setCustomer(String customer) { this.customer = customer; } + + public String getResourceId() { + return this.resourceId; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + String rId = this.getResourceId(); + result = prime * result + ((rId== null) ? 0 : rId.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (this.getClass() != obj.getClass()) + return false; + ResourceTagResponse other = (ResourceTagResponse) obj; + String rId = this.getResourceId(); + if (rId == null && other.getResourceId() != null) { + return false; + } else if (!rId.equals(other.getResourceId())) + return false; + return true; + } }