use of org.opendaylight.netconf.topology.singleton.messages.netconf.GetRequest in project netconf by opendaylight.
the class NetconfDataTreeServiceActor method onReceive.
@Override
public void onReceive(final Object message) {
if (message instanceof GetWithFieldsRequest) {
final GetWithFieldsRequest getRequest = (GetWithFieldsRequest) message;
final YangInstanceIdentifier path = getRequest.getPath();
final ListenableFuture<Optional<NormalizedNode>> future = netconfService.get(getRequest.getPath(), getRequest.getFields());
context().stop(self());
sendResult(future, path, sender(), self());
} else if (message instanceof GetRequest) {
final GetRequest getRequest = (GetRequest) message;
final YangInstanceIdentifier path = getRequest.getPath();
final ListenableFuture<Optional<NormalizedNode>> future = netconfService.get(path);
context().stop(self());
sendResult(future, path, sender(), self());
} else if (message instanceof GetConfigWithFieldsRequest) {
final GetConfigWithFieldsRequest getConfigRequest = (GetConfigWithFieldsRequest) message;
final YangInstanceIdentifier path = getConfigRequest.getPath();
final ListenableFuture<Optional<NormalizedNode>> future = netconfService.getConfig(path, getConfigRequest.getFields());
context().stop(self());
sendResult(future, path, sender(), self());
} else if (message instanceof GetConfigRequest) {
final GetConfigRequest getConfigRequest = (GetConfigRequest) message;
final YangInstanceIdentifier path = getConfigRequest.getPath();
final ListenableFuture<Optional<NormalizedNode>> future = netconfService.getConfig(path);
context().stop(self());
sendResult(future, path, sender(), self());
} else if (message instanceof LockRequest) {
invokeRpcCall(netconfService::lock, sender(), self());
} else if (message instanceof MergeEditConfigRequest) {
final MergeEditConfigRequest request = (MergeEditConfigRequest) message;
netconfService.merge(request.getStore(), request.getNormalizedNodeMessage().getIdentifier(), request.getNormalizedNodeMessage().getNode(), Optional.ofNullable(request.getDefaultOperation()));
} else if (message instanceof ReplaceEditConfigRequest) {
final ReplaceEditConfigRequest request = (ReplaceEditConfigRequest) message;
netconfService.replace(request.getStore(), request.getNormalizedNodeMessage().getIdentifier(), request.getNormalizedNodeMessage().getNode(), Optional.ofNullable(request.getDefaultOperation()));
} else if (message instanceof CreateEditConfigRequest) {
final CreateEditConfigRequest request = (CreateEditConfigRequest) message;
netconfService.create(request.getStore(), request.getNormalizedNodeMessage().getIdentifier(), request.getNormalizedNodeMessage().getNode(), Optional.ofNullable(request.getDefaultOperation()));
} else if (message instanceof DeleteEditConfigRequest) {
final DeleteEditConfigRequest request = (DeleteEditConfigRequest) message;
netconfService.delete(request.getStore(), request.getPath());
} else if (message instanceof RemoveEditConfigRequest) {
final RemoveEditConfigRequest request = (RemoveEditConfigRequest) message;
netconfService.remove(request.getStore(), request.getPath());
} else if (message instanceof CommitRequest) {
submit(sender(), self());
} else if (message instanceof DiscardChangesRequest) {
invokeRpcCall(netconfService::discardChanges, sender(), self());
} else if (message instanceof UnlockRequest) {
context().stop(self());
invokeRpcCall(netconfService::unlock, sender(), self());
} else if (message instanceof ReceiveTimeout) {
LOG.warn("Haven't received any message for {} seconds, cancelling transaction and stopping actor", idleTimeout);
invokeRpcCall(netconfService::discardChanges, sender(), self());
invokeRpcCall(netconfService::unlock, sender(), self());
context().stop(self());
} else {
unhandled(message);
}
}
use of org.opendaylight.netconf.topology.singleton.messages.netconf.GetRequest in project netconf by opendaylight.
the class NetconfDataTreeServiceActorTest method testGetEmpty.
@Test
public void testGetEmpty() {
doReturn(immediateFluentFuture(Optional.empty())).when(netconfService).get(PATH);
actorRef.tell(new GetRequest(PATH), probe.ref());
verify(netconfService).get(PATH);
probe.expectMsgClass(EmptyReadResponse.class);
}
use of org.opendaylight.netconf.topology.singleton.messages.netconf.GetRequest in project netconf by opendaylight.
the class ProxyNetconfServiceTest method testGet.
@Test
public void testGet() throws Exception {
ProxyNetconfService netconf = newSuccessfulProxyNetconfService();
final ListenableFuture<Optional<NormalizedNode>> get = netconf.get(PATH);
final GetRequest getRequest = masterActor.expectMsgClass(GetRequest.class);
assertEquals(PATH, getRequest.getPath());
masterActor.reply(new NormalizedNodeMessage(PATH, node));
final Optional<NormalizedNode> result = get.get(5, TimeUnit.SECONDS);
assertTrue(result.isPresent());
assertEquals(node, result.get());
}
use of org.opendaylight.netconf.topology.singleton.messages.netconf.GetRequest in project netconf by opendaylight.
the class NetconfDataTreeServiceActorTest method testGetFailure.
@Test
public void testGetFailure() {
final ReadFailedException cause = new ReadFailedException("fail");
doReturn(immediateFailedFluentFuture(cause)).when(netconfService).get(PATH);
actorRef.tell(new GetRequest(PATH), probe.ref());
verify(netconfService).get(PATH);
final Status.Failure response = probe.expectMsgClass(Status.Failure.class);
assertEquals(cause, response.cause());
}
use of org.opendaylight.netconf.topology.singleton.messages.netconf.GetRequest in project netconf by opendaylight.
the class NetconfDataTreeServiceActorTest method testGet.
@Test
public void testGet() {
doReturn(immediateFluentFuture(Optional.of(NODE))).when(netconfService).get(PATH);
actorRef.tell(new GetRequest(PATH), probe.ref());
verify(netconfService).get(PATH);
final NormalizedNodeMessage response = probe.expectMsgClass(NormalizedNodeMessage.class);
assertEquals(NODE, response.getNode());
}
Aggregations