- private void unlock() {
- netOps.unlockRunning(new NetconfRpcFutureCallback("Unlock running", id));
+ private static final class Change {
+
+ private final DataContainerChild<?, ?> editStructure;
+ private final Optional<ModifyAction> defaultOperation;
+
+ Change(final DataContainerChild<?, ?> editStructure, final Optional<ModifyAction> defaultOperation) {
+ this.editStructure = editStructure;
+ this.defaultOperation = defaultOperation;
+ }
+
+ private ListenableFuture<DOMRpcResult> execute(final RemoteDeviceId id, final NetconfBaseOps netOps,
+ final boolean rollbackSupport) {
+ final NetconfRpcFutureCallback editConfigCallback = new NetconfRpcFutureCallback("Edit running", id);
+ if (defaultOperation.isPresent()) {
+ return netOps.editConfigRunning(editConfigCallback, editStructure, defaultOperation.get(),
+ rollbackSupport);
+ } else {
+ return netOps.editConfigRunning(editConfigCallback, editStructure, rollbackSupport);
+ }
+ }