summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2019-01-08 15:50:30 +0100
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2019-01-08 15:50:30 +0100
commitd426643d93cf13c8dab4d85c59768e9dd0c3cb57 (patch)
tree46ec3929b9ac3e7d8cc9d6931ec4eeedee269167
parent269d1724a584b477e26eae4bd1adb30ea16b9da3 (diff)
Update toString, hashCode and equals for Change
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/Change.java23
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-pin-cancelled.json1
2 files changed, 15 insertions, 9 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/Change.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/Change.java
index 00db08c668a..16159268f63 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/Change.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/Change.java
@@ -100,22 +100,27 @@ public final class Change {
}
@Override
- public int hashCode() { return Objects.hash(platform, application); }
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof Change)) return false;
+ Change change = (Change) o;
+ return pinning == change.pinning &&
+ Objects.equals(platform, change.platform) &&
+ Objects.equals(application, change.application);
+ }
@Override
- public boolean equals(Object other) {
- if (other == this) return true;
- if ( ! (other instanceof Change)) return false;
- Change o = (Change)other;
- if ( ! o.platform.equals(this.platform)) return false;
- if ( ! o.application.equals(this.application)) return false;
- return true;
+ public int hashCode() {
+ return Objects.hash(platform, application, pinning);
}
@Override
public String toString() {
StringJoiner changes = new StringJoiner(" and ");
- platform.ifPresent(version -> changes.add("upgrade to " + version.toString()));
+ if (pinning)
+ changes.add("pin to " + platform.map(Version::toString).orElse("current platform"));
+ else
+ platform.ifPresent(version -> changes.add("upgrade to " + version.toString()));
application.ifPresent(version -> changes.add("application change to " + version.id()));
changes.setEmptyValue("no change");
return changes.toString();
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-pin-cancelled.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-pin-cancelled.json
new file mode 100644
index 00000000000..efca5831256
--- /dev/null
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-pin-cancelled.json
@@ -0,0 +1 @@
+{"message":"Changed deployment from 'application change to 1.0.42-commit1' to 'no change' for application 'tenant1.application1'"}