- @Override
- public void delete(final InstanceIdentifier path) {
- checkNotReady();
- mutableTree.delete(path);
- }
-
- protected final boolean isReady() {
- return ready;
- }
-
- protected final void checkNotReady() {
- checkState(!ready, "Transaction %s is ready. No further modifications allowed.", getIdentifier());
- }
-
- @Override
- public synchronized DOMStoreThreePhaseCommitCohort ready() {
- checkState(!ready, "Transaction %s is already ready.", getIdentifier());
- ready = true;
-
- LOG.debug("Store transaction: {} : Ready", getIdentifier());
- mutableTree.seal();
- return store.submit(this);
- }
-
- protected MutableDataTree getMutatedView() {
- return mutableTree;
- }
-
- @Override
- protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
- return toStringHelper.add("ready", isReady());
- }
- }
-
- private static class SnapshotBackedReadWriteTransaction extends SnaphostBackedWriteTransaction implements
- DOMStoreReadWriteTransaction {
-
- protected SnapshotBackedReadWriteTransaction(final Object identifier, final DataAndMetadataSnapshot snapshot,
- final InMemoryDOMDataStore store, final ModificationApplyOperation applyOper) {
- super(identifier, snapshot, store, applyOper);
- }
-
- @Override
- public ListenableFuture<Optional<NormalizedNode<?, ?>>> read(final InstanceIdentifier path) {
- return Futures.immediateFuture(getMutatedView().read(path));
- }