From 634983cc739b8f34cc85867fa200f889cbfda9c9 Mon Sep 17 00:00:00 2001 From: Bjørn Christian Seime Date: Wed, 27 Mar 2019 14:11:41 +0100 Subject: Override equals() and hashCode() for LogMessage --- vespalog/abi-spec.json | 4 +++- .../src/main/java/com/yahoo/log/LogMessage.java | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) 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); + } } -- cgit v1.2.3