From 777369cef6668a427d27ddad1797728417ea4fd2 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 23 Apr 2020 17:56:51 +0200 Subject: [PATCH] Propagate EffectiveModelContext in blueprint We are moving away from SchemaContext, start using its replacement. Change-Id: If222b7ac2fa2004d1af72504d63b139cb42bd4ac Signed-off-by: Robert Varga --- .../controller/blueprint/BlueprintBundleTracker.java | 4 ++-- .../controller/blueprint/ext/BindingContext.java | 6 +++--- .../blueprint/ext/DataStoreAppConfigDefaultXMLReader.java | 7 ++++--- .../blueprint/ext/DataStoreAppConfigMetadata.java | 8 ++++---- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/BlueprintBundleTracker.java b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/BlueprintBundleTracker.java index 8812650aa6..7ad8ddb4e3 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/BlueprintBundleTracker.java +++ b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/BlueprintBundleTracker.java @@ -307,7 +307,7 @@ public class BlueprintBundleTracker implements BundleActivator, BundleTrackerCus LOG.info("Shutdown of blueprint containers complete"); } - private List getBundlesToDestroy(final Collection containerBundles) { + private static List getBundlesToDestroy(final Collection containerBundles) { List bundlesToDestroy = new ArrayList<>(); // Find all container bundles that either have no registered services or whose services are no @@ -352,7 +352,7 @@ public class BlueprintBundleTracker implements BundleActivator, BundleTrackerCus return bundlesToDestroy; } - private @Nullable Bundle findBundleWithHighestUsedServiceId(final Collection containerBundles) { + private static @Nullable Bundle findBundleWithHighestUsedServiceId(final Collection containerBundles) { ServiceReference highestServiceRef = null; for (Bundle bundle : containerBundles) { ServiceReference[] references = bundle.getRegisteredServices(); diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/BindingContext.java b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/BindingContext.java index 2255973786..e519857aae 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/BindingContext.java +++ b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/BindingContext.java @@ -32,8 +32,8 @@ import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeS import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; +import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.osgi.service.blueprint.container.ComponentDefinitionException; import org.w3c.dom.Element; import org.xml.sax.SAXException; @@ -85,8 +85,8 @@ public abstract class BindingContext { } public NormalizedNode parseDataElement(final Element element, final DataSchemaNode dataSchema, - final SchemaContext schemaContext) throws XMLStreamException, IOException, ParserConfigurationException, - SAXException, URISyntaxException { + final EffectiveModelContext schemaContext) throws XMLStreamException, IOException, + ParserConfigurationException, SAXException, URISyntaxException { final NormalizedNodeResult resultHolder = new NormalizedNodeResult(); final NormalizedNodeStreamWriter writer = ImmutableNormalizedNodeStreamWriter.from(resultHolder); final XmlParserStream xmlParser = XmlParserStream.create(writer, schemaContext, dataSchema); diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java index 9b55b360d6..4f8140eaa6 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java +++ b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigDefaultXMLReader.java @@ -24,6 +24,7 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; +import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.slf4j.Logger; @@ -52,7 +53,7 @@ public class DataStoreAppConfigDefaultXMLReader { @FunctionalInterface public interface FallbackConfigProvider { - NormalizedNode get(SchemaContext schemaContext, DataSchemaNode dataSchema) throws IOException, + NormalizedNode get(EffectiveModelContext schemaContext, DataSchemaNode dataSchema) throws IOException, XMLStreamException, ParserConfigurationException, SAXException, URISyntaxException; } @@ -110,7 +111,7 @@ public class DataStoreAppConfigDefaultXMLReader { checkNotNull(schemaService, "%s: Could not obtain the SchemaService OSGi service", logName); - SchemaContext schemaContext = schemaService.getGlobalContext(); + EffectiveModelContext schemaContext = schemaService.getGlobalContext(); Module module = schemaContext.findModule(bindingContext.bindingQName.getModule()).orElse(null); checkNotNull(module, "%s: Could not obtain the module schema for namespace %s, revision %s", @@ -149,7 +150,7 @@ public class DataStoreAppConfigDefaultXMLReader { } } - private NormalizedNode parsePossibleDefaultAppConfigXMLFile(final SchemaContext schemaContext, + private NormalizedNode parsePossibleDefaultAppConfigXMLFile(final EffectiveModelContext schemaContext, final DataSchemaNode dataSchema) throws ConfigXMLReaderException { String appConfigFileName = defaultAppConfigFileName; diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java index b018fc493a..0d3880e0a2 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java +++ b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/DataStoreAppConfigMetadata.java @@ -37,7 +37,7 @@ import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.osgi.service.blueprint.container.ComponentDefinitionException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -279,9 +279,9 @@ public class DataStoreAppConfigMetadata extends AbstractDependentComponentFactor } } - private @Nullable NormalizedNode parsePossibleDefaultAppConfigElement(final SchemaContext schemaContext, - final DataSchemaNode dataSchema) throws URISyntaxException, IOException, ParserConfigurationException, - SAXException, XMLStreamException { + private @Nullable NormalizedNode parsePossibleDefaultAppConfigElement( + final EffectiveModelContext schemaContext, final DataSchemaNode dataSchema) throws URISyntaxException, + IOException, ParserConfigurationException, SAXException, XMLStreamException { if (defaultAppConfigElement == null) { return null; } -- 2.36.6