import org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceSalProvider;
import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
import org.opendaylight.netconf.topology.singleton.messages.CreateInitialMasterActorData;
+import org.opendaylight.netconf.topology.spi.NetconfDeviceTopologyAdapter;
import org.opendaylight.yangtools.rfc8528.data.api.MountPointContext;
import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil;
private final NetconfDeviceSalProvider salProvider;
private final ActorRef masterActorRef;
private final ActorSystem actorSystem;
+ private final NetconfDeviceTopologyAdapter datastoreAdapter;
private final boolean lockDatastore;
private NetconfDeviceSchema currentSchema = null;
final DataBroker dataBroker,
final boolean lockDatastore) {
this.id = id;
- salProvider = new NetconfDeviceSalProvider(id, mountService, dataBroker);
+ salProvider = new NetconfDeviceSalProvider(id, mountService);
this.actorSystem = actorSystem;
this.masterActorRef = masterActorRef;
this.actorResponseWaitTime = actorResponseWaitTime;
this.lockDatastore = lockDatastore;
+
+ datastoreAdapter = new NetconfDeviceTopologyAdapter(dataBroker, id);
}
@Override
@Override
public void onDeviceDisconnected() {
LOG.info("Device {} disconnected - unregistering master mount point", id);
- salProvider.getTopologyDatastoreAdapter().updateDeviceData(false, NetconfDeviceCapabilities.empty());
+ datastoreAdapter.updateDeviceData(false, NetconfDeviceCapabilities.empty());
unregisterMasterMountPoint();
}
@Override
public void onDeviceFailed(final Throwable throwable) {
- salProvider.getTopologyDatastoreAdapter().setDeviceAsFailed(throwable);
+ datastoreAdapter.setDeviceAsFailed(throwable);
unregisterMasterMountPoint();
}
@Override
public void close() {
+ datastoreAdapter.close();
unregisterMasterMountPoint();
closeGracefully(salProvider);
}
private void updateDeviceData() {
final String masterAddress = Cluster.get(actorSystem).selfAddress().toString();
LOG.debug("{}: updateDeviceData with master address {}", id, masterAddress);
- salProvider.getTopologyDatastoreAdapter().updateClusteredDeviceData(true, masterAddress,
- currentSchema.capabilities());
+ datastoreAdapter.updateClusteredDeviceData(true, masterAddress, currentSchema.capabilities());
}
private void unregisterMasterMountPoint() {