*/
package org.opendaylight.netconf.sal.connect.netconf.sal;
+import static java.util.Objects.requireNonNull;
import static org.mockito.Mockito.after;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.verify;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
-import org.opendaylight.mdsal.dom.api.DOMActionService;
import org.opendaylight.mdsal.dom.api.DOMNotification;
import org.opendaylight.mdsal.dom.api.DOMRpcResult;
import org.opendaylight.mdsal.dom.api.DOMRpcService;
import org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult;
import org.opendaylight.netconf.sal.connect.api.RemoteDeviceHandler;
+import org.opendaylight.netconf.sal.connect.api.RemoteDeviceServices;
import org.opendaylight.netconf.sal.connect.netconf.NetconfDeviceSchema;
import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator;
import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences;
.withNodeIdentifier(NetconfMessageTransformUtil.NETCONF_RUNNING_NODEID)
.build()));
- keepaliveSalFacade.onDeviceConnected(null, null, deviceRpc);
+ keepaliveSalFacade.onDeviceConnected(null, null, new RemoteDeviceServices(deviceRpc, null));
//Invoke general RPC on simulated local facade without args (or with null args). Will be returned
//settableFuture variable without any set value. WaitingShaduler in keepalive sal facade should wait for any
}
private static final class LocalNetconfSalFacade implements RemoteDeviceHandler {
- private DOMRpcService localDeviceRpc;
+ private volatile RemoteDeviceServices currentServices;
@Override
public void onDeviceConnected(final NetconfDeviceSchema deviceSchema,
- final NetconfSessionPreferences netconfSessionPreferences, final DOMRpcService currentDeviceRpc,
- final DOMActionService deviceAction) {
- localDeviceRpc = currentDeviceRpc;
+ final NetconfSessionPreferences sessionPreferences, final RemoteDeviceServices services) {
+ currentServices = requireNonNull(services);
}
@Override
public void onDeviceDisconnected() {
+ currentServices = null;
}
@Override
}
public void invokeNullRpc() {
- if (localDeviceRpc != null) {
- localDeviceRpc.invokeRpc(null, null);
+ final var local = currentServices;
+ if (local != null) {
+ local.rpcs().invokeRpc(null, null);
}
}
}