From 8198f8b2207ae172f956e9f47330af87aabf4db4 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 7 Oct 2020 22:41:32 +0200 Subject: [PATCH] Refactor AbstractDataBrokerTestCustomizer Since we are dealing with binding classes and their translation, make sure we operate on BindingRuntimeContext as the primary entrypoint for tests and other harness. This allows us to eliminate a few testing-only classes, which were dealing with EffectiveModelContext -> BindingRuntimeContext translation. JIRA: MDSAL-578 Change-Id: I2539ea427cdc6d8a76699bb59fcad1f9e02f60dd Signed-off-by: Robert Varga --- .../binding/runtime/spi/BindingRuntimeHelpers.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/BindingRuntimeHelpers.java b/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/BindingRuntimeHelpers.java index 62c36378ab..5d62c8e5bc 100644 --- a/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/BindingRuntimeHelpers.java +++ b/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/BindingRuntimeHelpers.java @@ -75,6 +75,20 @@ public final class BindingRuntimeHelpers { } } + public static @NonNull BindingRuntimeContext createRuntimeContext( + final Collection infos) { + final ModuleInfoSnapshot snapshot; + + try { + snapshot = prepareContext(ServiceLoaderState.ParserFactory.INSTANCE, infos); + } catch (YangParserException e) { + throw new IllegalStateException("Failed to parse models", e); + } + + return new DefaultBindingRuntimeContext( + ServiceLoaderState.Generator.INSTANCE.generateTypeMapping(snapshot.getEffectiveModelContext()), snapshot); + } + public static @NonNull BindingRuntimeContext createRuntimeContext(final YangParserFactory parserFactory, final BindingRuntimeGenerator generator, final Class... classes) throws YangParserException { return createRuntimeContext(parserFactory, generator, Arrays.asList(classes)); -- 2.36.6