- getWriteDelegate().write(path, data);
- releaseOperation();
- }
-
- @Override
- public void mergeData(YangInstanceIdentifier path, NormalizedNode<?, ?> data) {
- incrementModificationCount();
- getWriteDelegate().merge(path, data);
- releaseOperation();
- }
-
- @Override
- public void deleteData(YangInstanceIdentifier path) {
- incrementModificationCount();
- getWriteDelegate().delete(path);
- releaseOperation();
- }
-
- @Override
- public void readData(YangInstanceIdentifier path, final SettableFuture<Optional<NormalizedNode<?, ?>>> proxyFuture) {
- Futures.addCallback(getReadDelegate().read(path), new FutureCallback<Optional<NormalizedNode<?, ?>>>() {
- @Override
- public void onSuccess(final Optional<NormalizedNode<?, ?>> result) {
- proxyFuture.set(result);
- releaseOperation();
- }
-
- @Override
- public void onFailure(final Throwable t) {
- proxyFuture.setException(t);
- releaseOperation();
+ if (operationError == null) {
+ try {
+ modification.apply(getWriteDelegate());
+ } catch (Exception e) {
+ operationError = e;