Change hashCode and equals to use all fields. Older format of ork files did not include digest so that is not enough to compare placeholders.

This commit is contained in:
Kevin Ruland 2012-02-03 14:49:20 +00:00
parent b0f4f25ba2
commit 70532eeb67

View File

@ -112,7 +112,23 @@ public class ThrustCurveMotorPlaceholder implements Motor {
public int hashCode() {
final int prime = 31;
int result = 1;
long temp;
temp = Double.doubleToLongBits(delay);
result = prime * result + (int) (temp ^ (temp >>> 32));
result = prime * result
+ ((designation == null) ? 0 : designation.hashCode());
temp = Double.doubleToLongBits(diameter);
result = prime * result + (int) (temp ^ (temp >>> 32));
result = prime * result + ((digest == null) ? 0 : digest.hashCode());
temp = Double.doubleToLongBits(emptyMass);
result = prime * result + (int) (temp ^ (temp >>> 32));
temp = Double.doubleToLongBits(launchMass);
result = prime * result + (int) (temp ^ (temp >>> 32));
temp = Double.doubleToLongBits(length);
result = prime * result + (int) (temp ^ (temp >>> 32));
result = prime * result
+ ((manufacturer == null) ? 0 : manufacturer.hashCode());
result = prime * result + ((type == null) ? 0 : type.hashCode());
return result;
}
@ -125,14 +141,42 @@ public class ThrustCurveMotorPlaceholder implements Motor {
if (getClass() != obj.getClass())
return false;
ThrustCurveMotorPlaceholder other = (ThrustCurveMotorPlaceholder) obj;
if (Double.doubleToLongBits(delay) != Double
.doubleToLongBits(other.delay))
return false;
if (designation == null) {
if (other.designation != null)
return false;
} else if (!designation.equals(other.designation))
return false;
if (Double.doubleToLongBits(diameter) != Double
.doubleToLongBits(other.diameter))
return false;
if (digest == null) {
if (other.digest != null)
return false;
} else if (!digest.equals(other.digest))
return false;
if (Double.doubleToLongBits(emptyMass) != Double
.doubleToLongBits(other.emptyMass))
return false;
if (Double.doubleToLongBits(launchMass) != Double
.doubleToLongBits(other.launchMass))
return false;
if (Double.doubleToLongBits(length) != Double
.doubleToLongBits(other.length))
return false;
if (manufacturer == null) {
if (other.manufacturer != null)
return false;
} else if (!manufacturer.equals(other.manufacturer))
return false;
if (type != other.type)
return false;
return true;
}
@Override
public String toString() {
return "ThrustCurveMotorPlaceholder [manufacturer=" + manufacturer