From: Robert Varga Date: Thu, 23 Apr 2020 00:19:17 +0000 (+0200) Subject: OSGiDOMSchemaService should provide YANG sources X-Git-Tag: v6.0.0~13 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=8bb2e85ca27f226b7cae0e2b270285c928a85353;p=mdsal.git OSGiDOMSchemaService should provide YANG sources This was caught in downstream integration: the refactor here forgo to add routing towards YANG source. JIRA: MDSAL-392 Change-Id: I27b792eb932c68c89aeab21c69f7338ecb68d73b Signed-off-by: Robert Varga --- diff --git a/dom/mdsal-dom-schema-osgi/src/main/java/org/opendaylight/mdsal/dom/schema/osgi/impl/OSGiDOMSchemaService.java b/dom/mdsal-dom-schema-osgi/src/main/java/org/opendaylight/mdsal/dom/schema/osgi/impl/OSGiDOMSchemaService.java index 28d76bd0ec..7f37aae240 100644 --- a/dom/mdsal-dom-schema-osgi/src/main/java/org/opendaylight/mdsal/dom/schema/osgi/impl/OSGiDOMSchemaService.java +++ b/dom/mdsal-dom-schema-osgi/src/main/java/org/opendaylight/mdsal/dom/schema/osgi/impl/OSGiDOMSchemaService.java @@ -9,6 +9,7 @@ package org.opendaylight.mdsal.dom.schema.osgi.impl; import static java.util.Objects.requireNonNull; +import com.google.common.util.concurrent.ListenableFuture; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; import org.eclipse.jdt.annotation.NonNull; @@ -19,6 +20,8 @@ import org.opendaylight.mdsal.dom.spi.AbstractDOMSchemaService; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextListener; +import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; +import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource; import org.osgi.service.component.ComponentFactory; import org.osgi.service.component.ComponentInstance; import org.osgi.service.component.annotations.Activate; @@ -36,7 +39,7 @@ import org.slf4j.LoggerFactory; * OSGi Service Registry-backed implementation of {@link DOMSchemaService}. */ @Component(service = DOMSchemaService.class, immediate = true) -public final class OSGiDOMSchemaService extends AbstractDOMSchemaService { +public final class OSGiDOMSchemaService extends AbstractDOMSchemaService.WithYangTextSources { private static final Logger LOG = LoggerFactory.getLogger(OSGiDOMSchemaService.class); @Reference(target = "(component.factory=" + EffectiveModelContextImpl.FACTORY_NAME + ")") @@ -57,6 +60,11 @@ public final class OSGiDOMSchemaService extends AbstractDOMSchemaService { return registerListener(requireNonNull(listener)); } + @Override + public ListenableFuture getSource(final SourceIdentifier sourceIdentifier) { + return currentSnapshot.getSource(sourceIdentifier); + } + @Reference(fieldOption = FieldOption.REPLACE) void bindSnapshot(final OSGiModuleInfoSnapshot newContext) { LOG.trace("Updating context to generation {}", newContext.getGeneration());