@Override public void onComplete(Throwable failure, NormalizedNodeMessage success) throws Throwable { if (failure != null) { settableFuture.setException(failure); return; } final Entry<InstanceIdentifier<?>, DataObject> fromNormalizedNode = codecRegistry.fromNormalizedNode(success.getIdentifier(), success.getNode()); final Node value = (Node) fromNormalizedNode.getValue(); settableFuture.set(value); } }, TypedActor.context().dispatcher());
@Override public void onComplete(Throwable failure, NormalizedNodeMessage success) throws Throwable { if (failure != null) { settableFuture.setException(failure); return; } final Entry<InstanceIdentifier<?>, DataObject> fromNormalizedNode = codecRegistry.fromNormalizedNode(success.getIdentifier(), success.getNode()); final Node value = (Node) fromNormalizedNode.getValue(); settableFuture.set(value); } }, TypedActor.context().dispatcher());
@Override public void merge(final LogicalDatastoreType store, final NormalizedNodeMessage data) { if (writeTx == null) { writeTx = delegateBroker.newWriteOnlyTransaction(); } writeTx.merge(store, data.getIdentifier(), data.getNode()); }
@Override public void put(final LogicalDatastoreType store, final NormalizedNodeMessage data) { if (writeTx == null) { writeTx = delegateBroker.newWriteOnlyTransaction(); } writeTx.put(store, data.getIdentifier(), data.getNode()); }
@Override public Future<NormalizedNodeMessage> onRemoteNodeUpdated(final NormalizedNodeMessage message) { final Entry<InstanceIdentifier<?>, DataObject> fromNormalizedNode = codecRegistry.fromNormalizedNode(message.getIdentifier(), message.getNode()); final InstanceIdentifier<Node> iid = (InstanceIdentifier<Node>) fromNormalizedNode.getKey(); final Node value = (Node) fromNormalizedNode.getValue(); LOG.debug("TopologyManager({}) onRemoteNodeUpdated received, nodeid: {}", id, value.getNodeId()); final ListenableFuture<Node> nodeListenableFuture = onNodeUpdated(value.getNodeId(), value); final DefaultPromise<NormalizedNodeMessage> promise = new DefaultPromise<>(); Futures.addCallback(nodeListenableFuture, new FutureCallback<Node>() { @Override public void onSuccess(Node result) { final Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> entry = codecRegistry.toNormalizedNode(iid, result); promise.success(new NormalizedNodeMessage(entry.getKey(), entry.getValue())); } @Override public void onFailure(Throwable t) { promise.failure(t); } }); return promise.future(); }
@Override public Future<NormalizedNodeMessage> onRemoteNodeCreated(final NormalizedNodeMessage message) { final Entry<InstanceIdentifier<?>, DataObject> fromNormalizedNode = codecRegistry.fromNormalizedNode(message.getIdentifier(), message.getNode()); final InstanceIdentifier<Node> iid = (InstanceIdentifier<Node>) fromNormalizedNode.getKey(); final Node value = (Node) fromNormalizedNode.getValue(); LOG.debug("TopologyManager({}) onRemoteNodeCreated received, nodeid: {}", value.getNodeId(), value); final ListenableFuture<Node> nodeListenableFuture = onNodeCreated(value.getNodeId(), value); final DefaultPromise<NormalizedNodeMessage> promise = new DefaultPromise<>(); Futures.addCallback(nodeListenableFuture, new FutureCallback<Node>() { @Override public void onSuccess(Node result) { final Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> entry = codecRegistry.toNormalizedNode(iid, result); promise.success(new NormalizedNodeMessage(entry.getKey(), entry.getValue())); } @Override public void onFailure(Throwable t) { promise.failure(t); } }); return promise.future(); }