diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-03-27 14:11:41 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-03-27 14:28:36 +0100 |
commit | 634983cc739b8f34cc85867fa200f889cbfda9c9 (patch) | |
tree | fdfd17599ca220c679944eafd91ea75940bdbb27 /vespalog | |
parent | bc68193db9f3d28493483df7b1f210853045548d (diff) |
Override equals() and hashCode() for LogMessage
Diffstat (limited to 'vespalog')
-rw-r--r-- | vespalog/abi-spec.json | 4 | ||||
-rw-r--r-- | vespalog/src/main/java/com/yahoo/log/LogMessage.java | 22 |
2 files changed, 25 insertions, 1 deletions
diff --git a/vespalog/abi-spec.json b/vespalog/abi-spec.json index c76d138e9cc..6f9f631c6a5 100644 --- a/vespalog/abi-spec.json +++ b/vespalog/abi-spec.json @@ -132,7 +132,9 @@ "public java.lang.String getPayload()", "public static com.yahoo.log.LogMessage parseNativeFormat(java.lang.String)", "public com.yahoo.log.event.Event getEvent()", - "public java.lang.String toString()" + "public java.lang.String toString()", + "public boolean equals(java.lang.Object)", + "public int hashCode()" ], "fields": [] }, diff --git a/vespalog/src/main/java/com/yahoo/log/LogMessage.java b/vespalog/src/main/java/com/yahoo/log/LogMessage.java index 0eb446ec288..ac5b4fcfa0e 100644 --- a/vespalog/src/main/java/com/yahoo/log/LogMessage.java +++ b/vespalog/src/main/java/com/yahoo/log/LogMessage.java @@ -5,6 +5,7 @@ import com.yahoo.log.event.Event; import com.yahoo.log.event.MalformedEventException; import java.time.Instant; +import java.util.Objects; import java.util.OptionalLong; import java.util.logging.Level; import java.util.logging.Logger; @@ -192,4 +193,25 @@ public class LogMessage .append(payload).append("\n") .toString(); } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + LogMessage that = (LogMessage) o; + return processId == that.processId && + threadId == that.threadId && + Objects.equals(time, that.time) && + Objects.equals(host, that.host) && + Objects.equals(service, that.service) && + Objects.equals(component, that.component) && + Objects.equals(level, that.level) && + Objects.equals(payload, that.payload) && + Objects.equals(event, that.event); + } + + @Override + public int hashCode() { + return Objects.hash(time, host, processId, threadId, service, component, level, payload, event); + } } |