From b91317fd363f24bca616535f17b62ebd98e408bd Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Thu, 26 Oct 2023 19:17:47 -0700 Subject: [PATCH] [wpiutil] DataLog.addSchema(): Don't add into a set view (#5829) --- .../src/main/java/edu/wpi/first/util/datalog/DataLog.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/wpiutil/src/main/java/edu/wpi/first/util/datalog/DataLog.java b/wpiutil/src/main/java/edu/wpi/first/util/datalog/DataLog.java index eef2338521..025487cd29 100644 --- a/wpiutil/src/main/java/edu/wpi/first/util/datalog/DataLog.java +++ b/wpiutil/src/main/java/edu/wpi/first/util/datalog/DataLog.java @@ -118,7 +118,7 @@ public final class DataLog implements AutoCloseable { * @return True if schema already registered */ public boolean hasSchema(String name) { - return m_schemaSet.contains(name); + return m_schemaMap.containsKey(name); } /** @@ -134,7 +134,7 @@ public final class DataLog implements AutoCloseable { * @param timestamp Time stamp (may be 0 to indicate now) */ public void addSchema(String name, String type, byte[] schema, long timestamp) { - if (!m_schemaSet.add(name)) { + if (m_schemaMap.putIfAbsent(name, 1) != null) { return; } DataLogJNI.addSchema(m_impl, name, type, schema, timestamp); @@ -168,7 +168,7 @@ public final class DataLog implements AutoCloseable { * @param timestamp Time stamp (may be 0 to indicate now) */ public void addSchema(String name, String type, String schema, long timestamp) { - if (!m_schemaSet.add(name)) { + if (m_schemaMap.putIfAbsent(name, 1) != null) { return; } DataLogJNI.addSchemaString(m_impl, name, type, schema, timestamp); @@ -506,5 +506,4 @@ public final class DataLog implements AutoCloseable { private long m_impl; private final ConcurrentMap m_schemaMap = new ConcurrentHashMap<>(); - private final Set m_schemaSet = m_schemaMap.keySet(); }