package org.opendaylight.controller.cluster.datastore;
import com.google.common.base.Preconditions;
+import java.util.Optional;
+import java.util.SortedSet;
+import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
-final class ReadWriteShardDataTreeTransaction extends AbstractShardDataTreeTransaction<DataTreeModification> {
- private final ShardDataTreeTransactionParent parent;
+public final class ReadWriteShardDataTreeTransaction extends AbstractShardDataTreeTransaction<DataTreeModification> {
- protected ReadWriteShardDataTreeTransaction(final ShardDataTreeTransactionParent parent, final String id, final DataTreeModification modification) {
- super(id, modification);
- this.parent = Preconditions.checkNotNull(parent);
+ ReadWriteShardDataTreeTransaction(final ShardDataTreeTransactionParent parent, final TransactionIdentifier id,
+ final DataTreeModification modification) {
+ super(parent, id, modification);
}
- @Override
- void abort() {
+ ShardDataTreeCohort ready(Optional<SortedSet<String>> participatingShardNames) {
Preconditions.checkState(close(), "Transaction is already closed");
-
- parent.abortTransaction(this);
- }
-
- ShardDataTreeCohort ready() {
- Preconditions.checkState(close(), "Transaction is already closed");
-
- return parent.finishTransaction(this);
+ return getParent().finishTransaction(this, participatingShardNames);
}
}