Search in sources :

Example 1 with CreateEditConfigRequest

use of org.opendaylight.netconf.topology.singleton.messages.netconf.CreateEditConfigRequest 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);
    }
}
Also used : GetWithFieldsRequest(org.opendaylight.netconf.topology.singleton.messages.netconf.GetWithFieldsRequest) MergeEditConfigRequest(org.opendaylight.netconf.topology.singleton.messages.netconf.MergeEditConfigRequest) CommitRequest(org.opendaylight.netconf.topology.singleton.messages.netconf.CommitRequest) Optional(java.util.Optional) ReplaceEditConfigRequest(org.opendaylight.netconf.topology.singleton.messages.netconf.ReplaceEditConfigRequest) CreateEditConfigRequest(org.opendaylight.netconf.topology.singleton.messages.netconf.CreateEditConfigRequest) GetConfigRequest(org.opendaylight.netconf.topology.singleton.messages.netconf.GetConfigRequest) DeleteEditConfigRequest(org.opendaylight.netconf.topology.singleton.messages.netconf.DeleteEditConfigRequest) RemoveEditConfigRequest(org.opendaylight.netconf.topology.singleton.messages.netconf.RemoveEditConfigRequest) ReceiveTimeout(akka.actor.ReceiveTimeout) YangInstanceIdentifier(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier) UnlockRequest(org.opendaylight.netconf.topology.singleton.messages.netconf.UnlockRequest) GetConfigWithFieldsRequest(org.opendaylight.netconf.topology.singleton.messages.netconf.GetConfigWithFieldsRequest) GetRequest(org.opendaylight.netconf.topology.singleton.messages.netconf.GetRequest) ListenableFuture(com.google.common.util.concurrent.ListenableFuture) DiscardChangesRequest(org.opendaylight.netconf.topology.singleton.messages.netconf.DiscardChangesRequest) NormalizedNode(org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode) LockRequest(org.opendaylight.netconf.topology.singleton.messages.netconf.LockRequest)

Example 2 with CreateEditConfigRequest

use of org.opendaylight.netconf.topology.singleton.messages.netconf.CreateEditConfigRequest in project netconf by opendaylight.

the class ProxyNetconfServiceTest method testCreate.

@Test
public void testCreate() {
    ProxyNetconfService netconf = newSuccessfulProxyNetconfService();
    netconf.create(STORE, PATH, node, Optional.empty());
    final CreateEditConfigRequest createRequest = masterActor.expectMsgClass(CreateEditConfigRequest.class);
    assertEquals(STORE, createRequest.getStore());
    assertEquals(PATH, createRequest.getNormalizedNodeMessage().getIdentifier());
    assertEquals(node, createRequest.getNormalizedNodeMessage().getNode());
}
Also used : CreateEditConfigRequest(org.opendaylight.netconf.topology.singleton.messages.netconf.CreateEditConfigRequest) Test(org.junit.Test)

Example 3 with CreateEditConfigRequest

use of org.opendaylight.netconf.topology.singleton.messages.netconf.CreateEditConfigRequest in project netconf by opendaylight.

the class NetconfDataTreeServiceActorTest method testCreate.

@Test
public void testCreate() {
    doReturn(FluentFutures.immediateFluentFuture(new DefaultDOMRpcResult())).when(netconfService).create(STORE, PATH, NODE, Optional.empty());
    final NormalizedNodeMessage node = new NormalizedNodeMessage(PATH, NODE);
    actorRef.tell(new CreateEditConfigRequest(STORE, node, null), probe.ref());
    verify(netconfService).create(STORE, PATH, NODE, Optional.empty());
}
Also used : DefaultDOMRpcResult(org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult) NormalizedNodeMessage(org.opendaylight.netconf.topology.singleton.messages.NormalizedNodeMessage) CreateEditConfigRequest(org.opendaylight.netconf.topology.singleton.messages.netconf.CreateEditConfigRequest) Test(org.junit.Test)

Example 4 with CreateEditConfigRequest

use of org.opendaylight.netconf.topology.singleton.messages.netconf.CreateEditConfigRequest in project netconf by opendaylight.

the class ActorProxyNetconfServiceFacade method create.

@Override
public ListenableFuture<? extends DOMRpcResult> create(final LogicalDatastoreType store, final YangInstanceIdentifier path, final NormalizedNode data, final Optional<ModifyAction> defaultOperation) {
    LOG.debug("{}: Create {} {} via actor {}", id, store, path, masterActor);
    masterActor.tell(new CreateEditConfigRequest(store, new NormalizedNodeMessage(path, data), defaultOperation.orElse(null)), ActorRef.noSender());
    return createResult();
}
Also used : NormalizedNodeMessage(org.opendaylight.netconf.topology.singleton.messages.NormalizedNodeMessage) CreateEditConfigRequest(org.opendaylight.netconf.topology.singleton.messages.netconf.CreateEditConfigRequest)

Aggregations

CreateEditConfigRequest (org.opendaylight.netconf.topology.singleton.messages.netconf.CreateEditConfigRequest)4 Test (org.junit.Test)2 NormalizedNodeMessage (org.opendaylight.netconf.topology.singleton.messages.NormalizedNodeMessage)2 ReceiveTimeout (akka.actor.ReceiveTimeout)1 ListenableFuture (com.google.common.util.concurrent.ListenableFuture)1 Optional (java.util.Optional)1 DefaultDOMRpcResult (org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult)1 CommitRequest (org.opendaylight.netconf.topology.singleton.messages.netconf.CommitRequest)1 DeleteEditConfigRequest (org.opendaylight.netconf.topology.singleton.messages.netconf.DeleteEditConfigRequest)1 DiscardChangesRequest (org.opendaylight.netconf.topology.singleton.messages.netconf.DiscardChangesRequest)1 GetConfigRequest (org.opendaylight.netconf.topology.singleton.messages.netconf.GetConfigRequest)1 GetConfigWithFieldsRequest (org.opendaylight.netconf.topology.singleton.messages.netconf.GetConfigWithFieldsRequest)1 GetRequest (org.opendaylight.netconf.topology.singleton.messages.netconf.GetRequest)1 GetWithFieldsRequest (org.opendaylight.netconf.topology.singleton.messages.netconf.GetWithFieldsRequest)1 LockRequest (org.opendaylight.netconf.topology.singleton.messages.netconf.LockRequest)1 MergeEditConfigRequest (org.opendaylight.netconf.topology.singleton.messages.netconf.MergeEditConfigRequest)1 RemoveEditConfigRequest (org.opendaylight.netconf.topology.singleton.messages.netconf.RemoveEditConfigRequest)1 ReplaceEditConfigRequest (org.opendaylight.netconf.topology.singleton.messages.netconf.ReplaceEditConfigRequest)1 UnlockRequest (org.opendaylight.netconf.topology.singleton.messages.netconf.UnlockRequest)1 YangInstanceIdentifier (org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier)1