From 06ae23710ddc3784939bcd499b7437c13495bb88 Mon Sep 17 00:00:00 2001 From: Marcus Sorensen Date: Wed, 12 Feb 2014 16:07:34 -0700 Subject: [PATCH] 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). --- .../api/response/ResourceTagResponse.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/api/src/org/apache/cloudstack/api/response/ResourceTagResponse.java b/api/src/org/apache/cloudstack/api/response/ResourceTagResponse.java index 47b06250a2c..8044376c863 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; + } }