X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=netconf%2Fmdsal-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetconf%2Fmdsal%2Fconnector%2FMdsalNetconfOperationServiceFactory.java;h=273709db1c61a33ec9cd1d4ebda65b7c9033aad8;hb=e0460d542f7088c543e51fd01917b3d360a1c1e2;hp=ef3bbf03e7c6eb75a03d33ef254efa8440779a71;hpb=c38cb490a0ebd35ccb0bed1f7bb45e9176ed4708;p=netconf.git diff --git a/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/MdsalNetconfOperationServiceFactory.java b/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/MdsalNetconfOperationServiceFactory.java index ef3bbf03e7..273709db1c 100644 --- a/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/MdsalNetconfOperationServiceFactory.java +++ b/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/MdsalNetconfOperationServiceFactory.java @@ -28,6 +28,7 @@ import org.opendaylight.netconf.mapping.api.NetconfOperationServiceFactoryListen import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceException; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource; @@ -46,17 +47,19 @@ public class MdsalNetconfOperationServiceFactory implements NetconfOperationServ private final SchemaSourceProvider rootSchemaSourceProviderDependency; private final NetconfOperationServiceFactoryListener netconfOperationServiceFactoryListener; - public MdsalNetconfOperationServiceFactory(final SchemaService schemaService, - final SchemaSourceProvider rootSchemaSourceProviderDependency, - final NetconfOperationServiceFactoryListener netconfOperationServiceFactoryListener, - final DOMDataBroker dataBroker, - final DOMRpcService rpcService) { + public MdsalNetconfOperationServiceFactory( + final SchemaService schemaService, + final SchemaSourceProvider rootSchemaSourceProviderDependency, + final NetconfOperationServiceFactoryListener netconfOperationServiceFactoryListener, + final DOMDataBroker dataBroker, + final DOMRpcService rpcService) { this.dataBroker = dataBroker; this.rpcService = rpcService; this.rootSchemaSourceProviderDependency = rootSchemaSourceProviderDependency; - this.currentSchemaContext = new CurrentSchemaContext(Preconditions.checkNotNull(schemaService), rootSchemaSourceProviderDependency); + this.currentSchemaContext = new CurrentSchemaContext(Preconditions.checkNotNull(schemaService), + rootSchemaSourceProviderDependency); this.netconfOperationServiceFactoryListener = netconfOperationServiceFactoryListener; this.netconfOperationServiceFactoryListener.onAddNetconfOperationServiceFactory(this); } @@ -64,9 +67,11 @@ public class MdsalNetconfOperationServiceFactory implements NetconfOperationServ @Override public MdsalNetconfOperationService createService(final String netconfSessionIdForReporting) { Preconditions.checkState(dataBroker != null, "MD-SAL provider not yet initialized"); - return new MdsalNetconfOperationService(currentSchemaContext, netconfSessionIdForReporting, dataBroker, rpcService); + return new MdsalNetconfOperationService(currentSchemaContext, netconfSessionIdForReporting, dataBroker, + rpcService); } + @SuppressWarnings("checkstyle:IllegalCatch") @Override public void close() { try { @@ -74,7 +79,7 @@ public class MdsalNetconfOperationServiceFactory implements NetconfOperationServ if (netconfOperationServiceFactoryListener != null) { netconfOperationServiceFactoryListener.onRemoveNetconfOperationServiceFactory(this); } - } catch(Exception e) { + } catch (Exception e) { LOG.error("Failed to close resources correctly - ignore", e); } } @@ -84,21 +89,23 @@ public class MdsalNetconfOperationServiceFactory implements NetconfOperationServ return transformCapabilities(currentSchemaContext.getCurrentContext(), rootSchemaSourceProviderDependency); } - static Set transformCapabilities(final SchemaContext currentContext, final SchemaSourceProvider rootSchemaSourceProviderDependency) { + static Set transformCapabilities( + final SchemaContext currentContext, + final SchemaSourceProvider rootSchemaSourceProviderDependency) { final Set capabilities = new HashSet<>(); // Added by netconf-impl by default -// capabilities.add(new BasicCapability("urn:ietf:params:netconf:capability:candidate:1.0")); + // capabilities.add(new BasicCapability("urn:ietf:params:netconf:capability:candidate:1.0")); final Set modules = currentContext.getModules(); for (final Module module : modules) { Optional cap = moduleToCapability(module, rootSchemaSourceProviderDependency); - if(cap.isPresent()) { + if (cap.isPresent()) { capabilities.add(cap.get()); } for (final Module submodule : module.getSubmodules()) { cap = moduleToCapability(submodule, rootSchemaSourceProviderDependency); - if(cap.isPresent()) { + if (cap.isPresent()) { capabilities.add(cap.get()); } } @@ -110,14 +117,15 @@ public class MdsalNetconfOperationServiceFactory implements NetconfOperationServ private static Optional moduleToCapability( final Module module, final SchemaSourceProvider rootSchemaSourceProviderDependency) { - final SourceIdentifier moduleSourceIdentifier = SourceIdentifier.create(module.getName(), - (SimpleDateFormatUtil.DEFAULT_DATE_REV == module.getRevision() ? Optional.absent() : - Optional.of(SimpleDateFormatUtil.getRevisionFormat().format(module.getRevision())))); + final SourceIdentifier moduleSourceIdentifier = RevisionSourceIdentifier.create(module.getName(), + SimpleDateFormatUtil.DEFAULT_DATE_REV == module.getRevision() ? Optional.absent() : + Optional.of(module.getQNameModule().getFormattedRevision())); InputStream sourceStream = null; String source; try { - sourceStream = rootSchemaSourceProviderDependency.getSource(moduleSourceIdentifier).checkedGet().openStream(); + sourceStream = rootSchemaSourceProviderDependency.getSource(moduleSourceIdentifier).checkedGet() + .openStream(); source = CharStreams.toString(new InputStreamReader(sourceStream, StandardCharsets.UTF_8)); } catch (IOException | SchemaSourceException e) { LOG.warn("Ignoring source for module {}. Unable to read content", moduleSourceIdentifier, e); @@ -132,12 +140,12 @@ public class MdsalNetconfOperationServiceFactory implements NetconfOperationServ LOG.warn("Error closing yang source stream {}. Ignoring", moduleSourceIdentifier, e); } - if(source !=null) { + if (source != null) { return Optional.of(new YangModuleCapability(module, source)); - } else { - LOG.warn("Missing source for module {}. This module will not be available from netconf server", - moduleSourceIdentifier); } + + LOG.warn("Missing source for module {}. This module will not be available from netconf server", + moduleSourceIdentifier); return Optional.absent(); }