import org.opendaylight.netconf.sal.connect.netconf.sal.KeepaliveSalFacade;
import org.opendaylight.netconf.sal.connect.netconf.sal.NetconfKeystoreAdapter;
import org.opendaylight.netconf.sal.connect.netconf.schema.YangLibrarySchemaYangSourceProvider;
+import org.opendaylight.netconf.sal.connect.netconf.schema.mapping.BaseNetconfSchemas;
import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
import org.opendaylight.netconf.sal.connect.util.SslHandlerFactoryImpl;
import org.opendaylight.netconf.topology.api.NetconfTopology;
private final DeviceActionFactory deviceActionFactory;
private final NetconfKeystoreAdapter keystoreAdapter;
private final SchemaResourceManager schemaManager;
+ private final BaseNetconfSchemas baseSchemas;
protected final ScheduledThreadPool keepaliveExecutor;
protected final ListeningExecutorService processingExecutor;
protected final AAAEncryptionService encryptionService;
protected final HashMap<NodeId, NetconfConnectorDTO> activeConnectors = new HashMap<>();
+
protected AbstractNetconfTopology(final String topologyId, final NetconfClientDispatcher clientDispatcher,
final EventExecutor eventExecutor, final ScheduledThreadPool keepaliveExecutor,
final ThreadPool processingExecutor, final SchemaResourceManager schemaManager,
final DataBroker dataBroker, final DOMMountPointService mountPointService,
final AAAEncryptionService encryptionService,
- final DeviceActionFactory deviceActionFactory) {
+ final DeviceActionFactory deviceActionFactory,
+ final BaseNetconfSchemas baseSchemas) {
this.topologyId = topologyId;
this.clientDispatcher = clientDispatcher;
this.eventExecutor = eventExecutor;
this.dataBroker = dataBroker;
this.mountPointService = mountPointService;
this.encryptionService = encryptionService;
+ this.baseSchemas = requireNonNull(baseSchemas);
this.keystoreAdapter = new NetconfKeystoreAdapter(dataBroker);
}
final RemoteDevice<NetconfSessionPreferences, NetconfMessage, NetconfDeviceCommunicator> device;
if (node.isSchemaless()) {
- device = new SchemalessNetconfDevice(remoteDeviceId, salFacade);
+ device = new SchemalessNetconfDevice(baseSchemas, remoteDeviceId, salFacade);
} else {
device = createNetconfDevice(remoteDeviceId, salFacade, nodeId, node, nodeOptional);
}
.setEventExecutor(eventExecutor)
.setNodeOptional(nodeOptional)
.setDeviceActionFactory(deviceActionFactory)
+ .setBaseSchemas(baseSchemas)
.build();
final YangLibrary yangLibrary = node.getYangLibrary();