Laszlo Hornyak has uploaded a new change for review. Change subject: engine: hashcode method simplification (2/2) [wip] ......................................................................
engine: hashcode method simplification (2/2) [wip] Adds a hashcode builder similar to the one in commons lang, this hashcode builder is used as an utility class to calculate hashcode. Change-Id: I00a8d6f8e2ef8f09db7d3280317020cfe467e8b8 Signed-off-by: Laszlo Hornyak <[email protected]> --- M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsStatistics.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/HashCodeBuilder.java 2 files changed, 45 insertions(+), 17 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/86/13386/1 diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsStatistics.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsStatistics.java index a744945..2c46415 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsStatistics.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsStatistics.java @@ -2,6 +2,7 @@ import java.math.BigDecimal; +import org.ovirt.engine.core.common.utils.HashCodeBuilder; import org.ovirt.engine.core.common.utils.ObjectUtils; import org.ovirt.engine.core.compat.Guid; @@ -48,23 +49,22 @@ @Override public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ObjectUtils.hashOrZero(id); - result = prime * result + ObjectUtils.hashOrZero(cpu_idle); - result = prime * result + ObjectUtils.hashOrZero(cpu_load); - result = prime * result + ObjectUtils.hashOrZero(cpu_sys); - result = prime * result + ObjectUtils.hashOrZero(cpu_user); - result = prime * result + ObjectUtils.hashOrZero(mem_available); - result = prime * result + ObjectUtils.hashOrZero(mem_shared); - result = prime * result + ObjectUtils.hashOrZero(usage_cpu_percent); - result = prime * result + ObjectUtils.hashOrZero(usage_network_percent); - result = prime * result + ObjectUtils.hashOrZero(ksm_state); - result = prime * result + ObjectUtils.hashOrZero(ksm_pages); - result = prime * result + ObjectUtils.hashOrZero(ksm_cpu_percent); - result = prime * result + ObjectUtils.hashOrZero(swap_total); - result = prime * result + ObjectUtils.hashOrZero(swap_free); - return result; + return new HashCodeBuilder() + .append(id) + .append(cpu_idle) + .append(cpu_load) + .append(cpu_sys) + .append(cpu_user) + .append(mem_available) + .append(mem_shared) + .append(usage_cpu_percent) + .append(usage_network_percent) + .append(ksm_state) + .append(ksm_pages) + .append(ksm_cpu_percent) + .append(swap_total) + .append(swap_free) + .result(); } @Override diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/HashCodeBuilder.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/HashCodeBuilder.java new file mode 100644 index 0000000..7445784 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/HashCodeBuilder.java @@ -0,0 +1,28 @@ +package org.ovirt.engine.core.common.utils; + +public class HashCodeBuilder { + public HashCodeBuilder(final int prime) { + super(); + this.prime = prime; + } + + public HashCodeBuilder() { + this(31); + } + + final int prime; + int result = 1; + + public HashCodeBuilder append(Object obj) { + return append(ObjectUtils.hashOrZero(obj)); + } + + public HashCodeBuilder append(int val) { + result = prime * result + val; + return this; + } + + public int result() { + return result; + } +} -- To view, visit http://gerrit.ovirt.org/13386 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I00a8d6f8e2ef8f09db7d3280317020cfe467e8b8 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Laszlo Hornyak <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
