From 518d5b5f0c80a892ca36ab33bad8d9fe8a7b4730 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 24 Jan 2022 17:35:30 +0100 Subject: [PATCH] Simplify GuavaSchemaSourceCache.offer() a bit We do not have to access the source id multiple times and can lower cognitive load with an early return. Change-Id: I418769fb17bb0f1b82107aa644c103d06b9c4a03 Signed-off-by: Robert Varga --- .../repo/spi/GuavaSchemaSourceCache.java | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/yang/yang-repo-spi/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/GuavaSchemaSourceCache.java b/yang/yang-repo-spi/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/GuavaSchemaSourceCache.java index 7747c93a6b..ce337c8297 100644 --- a/yang/yang-repo-spi/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/GuavaSchemaSourceCache.java +++ b/yang/yang-repo-spi/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/GuavaSchemaSourceCache.java @@ -71,21 +71,25 @@ public final class GuavaSchemaSourceCache @Override protected void offer(final T source) { - final T present = cache.getIfPresent(source.getIdentifier()); - if (present == null) { - cache.put(source.getIdentifier(), source); + final var srcId = source.getIdentifier(); + if (cache.getIfPresent(srcId) != null) { + // We already have this source, do not track it + return; + } - final SchemaSourceRegistration reg = register(source.getIdentifier()); - final FinalizablePhantomReference ref = new FinalizablePhantomReference<>(source, queue) { - @Override - public void finalizeReferent() { - reg.close(); - regs.remove(this); - } - }; + // Make the source available + cache.put(srcId, source); + final var reg = register(srcId); - regs.add(ref); - } + final FinalizablePhantomReference ref = new FinalizablePhantomReference<>(source, queue) { + @Override + public void finalizeReferent() { + reg.close(); + regs.remove(this); + } + }; + + regs.add(ref); } @Override -- 2.36.6