import org.opendaylight.mdsal.dom.api.DOMDataBroker;
import org.opendaylight.mdsal.dom.api.DOMRpcService;
import org.opendaylight.mdsal.dom.api.DOMSchemaService;
-import org.opendaylight.mdsal.dom.api.DOMYangTextSourceProvider;
+import org.opendaylight.mdsal.dom.api.DOMSchemaService.YangTextSourceExtension;
import org.opendaylight.netconf.api.CapabilityURN;
import org.opendaylight.netconf.server.api.monitoring.BasicCapability;
import org.opendaylight.netconf.server.api.monitoring.Capability;
import org.opendaylight.yangtools.yang.common.Revision;
import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
import org.opendaylight.yangtools.yang.model.api.ModuleLike;
-import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
-import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
-import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceProvider;
+import org.opendaylight.yangtools.yang.model.api.source.SourceIdentifier;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate;
private final DOMRpcService rpcService;
private final CurrentSchemaContext currentSchemaContext;
- private final SchemaSourceProvider<YangTextSchemaSource> rootSchemaSourceProviderDependency;
+ private final YangTextSourceExtension yangTextSourceExtension;
private final NetconfOperationServiceFactoryListener netconfOperationServiceFactoryListener;
@Activate
this.rpcService = requireNonNull(rpcService);
this.netconfOperationServiceFactoryListener = requireNonNull(netconfOperationServiceFactoryListener);
- rootSchemaSourceProviderDependency = schemaService.getExtensions()
- .getInstance(DOMYangTextSourceProvider.class);
- currentSchemaContext = CurrentSchemaContext.create(requireNonNull(schemaService),
- rootSchemaSourceProviderDependency);
+ yangTextSourceExtension = schemaService.extension(YangTextSourceExtension.class);
+ currentSchemaContext = CurrentSchemaContext.create(requireNonNull(schemaService), yangTextSourceExtension);
netconfOperationServiceFactoryListener.onAddNetconfOperationServiceFactory(this);
}
@Override
public Set<Capability> getCapabilities() {
// FIXME: cache returned set
- return transformCapabilities(currentSchemaContext.getCurrentContext(), rootSchemaSourceProviderDependency);
+ return transformCapabilities(currentSchemaContext.getCurrentContext(), yangTextSourceExtension);
}
// FIXME: ImmutableSet
static Set<Capability> transformCapabilities(final EffectiveModelContext currentContext,
- final SchemaSourceProvider<YangTextSchemaSource> rootSchemaSourceProviderDependency) {
+ final YangTextSourceExtension rootSchemaSourceProviderDependency) {
final var capabilities = new HashSet<Capability>();
// Added by netconf-impl by default
}
private static Optional<YangModuleCapability> moduleToCapability(final ModuleLike module,
- final SchemaSourceProvider<YangTextSchemaSource> rootSchemaSourceProviderDependency) {
+ final YangTextSourceExtension yangTextSourceExtension) {
final String moduleNamespace = module.getNamespace().toString();
final String moduleName = module.getName();
final String revision = module.getRevision().map(Revision::toString).orElse(null);
String source;
try {
- source = rootSchemaSourceProviderDependency.getSource(moduleSourceIdentifier).get().read();
+ source = yangTextSourceExtension.getYangTexttSource(moduleSourceIdentifier).get().read();
} catch (ExecutionException | InterruptedException | IOException e) {
LOG.warn("Ignoring source for module {}. Unable to read content", moduleSourceIdentifier, e);
source = null;
@Override
public Registration registerCapabilityListener(final CapabilityListener listener) {
// Advertise validate capability only if DOMDataBroker provides DOMDataTransactionValidator
- if (dataBroker.getExtensions().get(DOMDataTransactionValidator.class) != null) {
+ if (dataBroker.extension(DOMDataTransactionValidator.class) != null) {
// FIXME: support VALIDATE_1_1 as well!
listener.onCapabilitiesChanged(Set.of(VALIDATE_CAPABILITY), Set.of());
}