this.baseSchemas = requireNonNull(baseSchemas);
this.dataBroker = requireNonNull(dataBroker);
this.rpcProviderRegistry = requireNonNull(rpcProviderRegistry);
- this.actionProviderRegistry = requireNonNull(actionProviderService);
+ actionProviderRegistry = requireNonNull(actionProviderService);
this.clusterSingletonServiceProvider = requireNonNull(clusterSingletonServiceProvider);
this.keepaliveExecutor = keepaliveExecutor.getExecutor();
this.processingExecutor = MoreExecutors.listeningDecorator(processingExecutor.getExecutor());
- this.actorSystem = requireNonNull(actorSystemProvider).getActorSystem();
+ actorSystem = requireNonNull(actorSystemProvider).getActorSystem();
this.eventExecutor = requireNonNull(eventExecutor);
this.clientDispatcher = requireNonNull(clientDispatcher);
this.topologyId = requireNonNull(topologyId);
- this.writeTxIdleTimeout = Duration.ofSeconds(config.getWriteTransactionIdleTimeout().toJava());
+ writeTxIdleTimeout = Duration.ofSeconds(config.getWriteTransactionIdleTimeout().toJava());
this.mountPointService = mountPointService;
this.encryptionService = requireNonNull(encryptionService);
this.rpcProviderService = requireNonNull(rpcProviderService);
.setProcessingExecutor(processingExecutor)
.setTopologyId(topologyId)
.setNetconfClientDispatcher(clientDispatcher)
- .setSchemaResourceDTO(resourceManager.getSchemaResources(netconfNode, deviceId))
+ .setSchemaResourceDTO(resourceManager.getSchemaResources(netconfNode.getSchemaCacheDirectory(),
+ deviceId))
.setIdleTimeout(writeTxIdleTimeout)
.setPrivateKeyPath(privateKeyPath)
.setPrivateKeyPassphrase(privateKeyPassphrase)
doReturn(MoreExecutors.newDirectExecutorService()).when(mockThreadPool).getExecutor();
- final SchemaResourcesDTO resources = resourceManager.getSchemaResources(
- new NetconfNodeBuilder().setSchemaCacheDirectory(TEST_DEFAULT_SUBDIR).build(), "test");
+ final SchemaResourcesDTO resources = resourceManager.getSchemaResources(TEST_DEFAULT_SUBDIR, "test");
resources.getSchemaRegistry().registerSchemaSource(
id -> Futures.immediateFuture(YangTextSchemaSource.delegateForByteSource(id,
topModuleInfo.getYangTextByteSource())),
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.credentials.Credentials;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.credentials.credentials.LoginPasswordBuilder;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeBuilder;
import org.opendaylight.yangtools.yang.common.Uint16;
import org.opendaylight.yangtools.yang.common.Uint32;
.setKeepaliveDelay(Uint32.ONE)
.build();
- final Node node = new NodeBuilder().setNodeId(NODE_ID).addAugmentation(netconfNode).build();
-
builder.setSchemaResourceDTO(new DefaultSchemaResourceManager(new DefaultYangParserFactory())
- .getSchemaResources(netconfNode, "foo"));
+ .getSchemaResources(netconfNode.getSchemaCacheDirectory(), "foo"));
final RemoteDeviceConnectorImpl remoteDeviceConnection =
new RemoteDeviceConnectorImpl(builder.build(), remoteDeviceId, deviceActionFactory);
yanglibRegistrations = List.of();
} else {
final boolean reconnectOnChangedSchema = node.requireReconnectOnChangedSchema();
- final SchemaResourcesDTO resources = schemaManager.getSchemaResources(node, nodeId.getValue());
+ final SchemaResourcesDTO resources = schemaManager.getSchemaResources(node.getSchemaCacheDirectory(),
+ nodeId.getValue());
device = new NetconfDeviceBuilder()
.setReconnectOnSchemasChange(reconnectOnChangedSchema)
.setSchemaResourcesDTO(resources)
import com.google.common.annotations.Beta;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.opendaylight.netconf.sal.connect.netconf.NetconfDevice.SchemaResourcesDTO;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
@Beta
@NonNullByDefault
public interface SchemaResourceManager {
- SchemaResourcesDTO getSchemaResources(NetconfNode node, Object nodeId);
+ // FIXME: document this, nodeId is not quite appropriate name here: it should be a @NonNull id with .toString()
+ // being interesting
+ // FIXME: subDirectory should have be really String..., placing the onus of splitting the directory to callers,
+ // so we do not get separator ambiguity
+ SchemaResourcesDTO getSchemaResources(String subDirectory, Object nodeId);
}
import org.opendaylight.netconf.sal.connect.api.SchemaResourceManager;
import org.opendaylight.netconf.sal.connect.netconf.NetconfDevice.SchemaResourcesDTO;
import org.opendaylight.netconf.sal.connect.netconf.NetconfStateSchemasResolverImpl;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
import org.opendaylight.yangtools.yang.model.repo.api.SchemaContextFactoryConfiguration;
import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
import org.opendaylight.yangtools.yang.model.repo.fs.FilesystemSchemaSourceCache;
}
@Override
- public SchemaResourcesDTO getSchemaResources(final NetconfNode node, final Object nodeId) {
- final String subdir = node.getSchemaCacheDirectory();
+ public SchemaResourcesDTO getSchemaResources(final String subdir, final Object nodeId) {
if (defaultSubdirectory.equals(subdir)) {
// Fast path for default devices
return defaultResources;