X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=codec%2Fyang-data-codec-gson%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fcodec%2Fgson%2FJSONCodecFactorySupplier.java;h=8e0667158575be11ee32a713f8c7561662b3aaa7;hb=c1d247ba667f38303e554bf8c4eda634d2d93b60;hp=abe389fd0827230688e45bda87b8147cff43c93a;hpb=972cf3c8946759e2a5d724cb3f6e2d2cd2b06b6d;p=yangtools.git diff --git a/codec/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactorySupplier.java b/codec/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactorySupplier.java index abe389fd08..8e06671585 100644 --- a/codec/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactorySupplier.java +++ b/codec/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactorySupplier.java @@ -15,6 +15,7 @@ import com.google.common.base.Stopwatch; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.Optional; import java.util.function.BiFunction; import org.eclipse.jdt.annotation.NonNull; @@ -111,16 +112,18 @@ public enum JSONCodecFactorySupplier { private final LoadingCache precomputed; // Weak keys to retire the entry when SchemaContext goes away and to force identity-based lookup - private final LoadingCache shared; - - JSONCodecFactorySupplier() { - precomputed = CacheBuilder.newBuilder().weakKeys().build(new EagerCacheLoader(this::createFactory)); - shared = CacheBuilder.newBuilder().weakKeys().build(new CacheLoader() { + private final LoadingCache shared = CacheBuilder.newBuilder() + .weakKeys().build(new CacheLoader() { @Override public JSONCodecFactory load(final EffectiveModelContext key) { return createFactory(key, new SharedCodecCache<>()); } }); + + @SuppressFBWarnings(value = "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR", + justification = "https://github.com/spotbugs/spotbugs/issues/1867") + JSONCodecFactorySupplier() { + precomputed = CacheBuilder.newBuilder().weakKeys().build(new EagerCacheLoader(this::createFactory)); } /**