From 380356b15c39311d29b3ebdf2f06ba6e0a3ebf0a Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 31 May 2019 12:55:50 +0200 Subject: [PATCH 1/1] Use cached AugmentationIdentifiers in BindingRuntimeContext AugmentationIdentifiers allocated from BindingRuntimeContext end up being used across the system. This ensures we squash instances to system-wide cache. Change-Id: I0d75dc8815f86cb1dda13ef118ceb9b6455a31e3 Signed-off-by: Robert Varga --- .../binding/generator/util/BindingRuntimeContext.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/util/BindingRuntimeContext.java b/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/util/BindingRuntimeContext.java index 564bca2089..dc2be63654 100644 --- a/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/util/BindingRuntimeContext.java +++ b/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/util/BindingRuntimeContext.java @@ -18,6 +18,7 @@ import com.google.common.cache.LoadingCache; import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import java.util.AbstractMap.SimpleEntry; import java.util.ArrayList; @@ -438,11 +439,9 @@ public final class BindingRuntimeContext implements Immutable { } private static AugmentationIdentifier getAugmentationIdentifier(final AugmentationSchemaNode augment) { - final Set childNames = new HashSet<>(); - for (final DataSchemaNode child : augment.getChildNodes()) { - childNames.add(child.getQName()); - } - return new AugmentationIdentifier(childNames); + // FIXME: use DataSchemaContextNode.augmentationIdentifierFrom() once it does caching + return AugmentationIdentifier.create(augment.getChildNodes().stream().map(DataSchemaNode::getQName) + .collect(ImmutableSet.toImmutableSet())); } private static Type referencedType(final Class type) { -- 2.36.6