use of org.opendaylight.netconf.topology.singleton.messages.netconf.GetConfigRequest 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.GetConfigRequest in project netconf by opendaylight.
the class NetconfDataTreeServiceActorTest method testGetConfigFailure.
@Test
public void testGetConfigFailure() {
final ReadFailedException cause = new ReadFailedException("fail");
doReturn(immediateFailedFluentFuture(cause)).when(netconfService).getConfig(PATH);
actorRef.tell(new GetConfigRequest(PATH), probe.ref());
verify(netconfService).getConfig(PATH);
final Status.Failure response = probe.expectMsgClass(Status.Failure.class);
assertEquals(cause, response.cause());
}
use of org.opendaylight.netconf.topology.singleton.messages.netconf.GetConfigRequest in project netconf by opendaylight.
the class NetconfDataTreeServiceActorTest method testGetConfig.
@Test
public void testGetConfig() {
doReturn(immediateFluentFuture(Optional.of(NODE))).when(netconfService).getConfig(PATH);
actorRef.tell(new GetConfigRequest(PATH), probe.ref());
verify(netconfService).getConfig(PATH);
final NormalizedNodeMessage response = probe.expectMsgClass(NormalizedNodeMessage.class);
assertEquals(NODE, response.getNode());
}
use of org.opendaylight.netconf.topology.singleton.messages.netconf.GetConfigRequest in project netconf by opendaylight.
the class ActorProxyNetconfServiceFacade method getConfig.
@Override
public ListenableFuture<Optional<NormalizedNode>> getConfig(final YangInstanceIdentifier path) {
LOG.debug("{}: GetConfig {} {} via actor {}", id, CONFIGURATION, path, masterActor);
final Future<Object> future = Patterns.ask(masterActor, new GetConfigRequest(path), askTimeout);
return read(future, CONFIGURATION, path);
}
use of org.opendaylight.netconf.topology.singleton.messages.netconf.GetConfigRequest in project netconf by opendaylight.
the class ProxyNetconfServiceTest method testGetConfig.
@Test
public void testGetConfig() throws Exception {
ProxyNetconfService netconf = newSuccessfulProxyNetconfService();
final ListenableFuture<Optional<NormalizedNode>> getConfig = netconf.getConfig(PATH);
final GetConfigRequest getRequest = masterActor.expectMsgClass(GetConfigRequest.class);
assertEquals(PATH, getRequest.getPath());
masterActor.reply(new NormalizedNodeMessage(PATH, node));
final Optional<NormalizedNode> result = getConfig.get(5, TimeUnit.SECONDS);
assertTrue(result.isPresent());
assertEquals(node, result.get());
}
Aggregations