import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
-import com.google.common.util.concurrent.CheckedFuture;
+import com.google.common.util.concurrent.FluentFuture;
import java.util.Map.Entry;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction;
+import org.opendaylight.mdsal.common.api.CommitInfo;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.Identifiable;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
/**
- *
- * Abstract Base Transaction for transactions which are backed by
- * {@link DOMDataWriteTransaction}
+ * Abstract Base Transaction for transactions which are backed by {@link DOMDataWriteTransaction}.
*/
public abstract class AbstractWriteTransaction<T extends DOMDataWriteTransaction> extends
AbstractForwardedTransaction<T> {
}
/**
- *
* Ensures list parent if item is list, otherwise noop.
*
* <p>
* put("/nodes/node/node[key]",domNode);
* </pre>
*
- *
+ * <p>
* In order to allow that to be inserted if necessary, if we know
* item is list item, we will try to merge empty MapNode or OrderedNodeMap
* to ensure list exists.
}
/**
+ * Deprecated.
+ *
* @deprecated Use {@link YangInstanceIdentifier#getParent()} instead.
*/
@Deprecated
/**
* Subclasses of this class are required to implement creation of parent
* nodes based on behaviour of their underlying transaction.
- *
- * @param store
- * @param key
- * @param path
*/
protected abstract void ensureParentsByMerge(LogicalDatastoreType store,
YangInstanceIdentifier key, InstanceIdentifier<?> path);
final InstanceIdentifier<?> path) {
Preconditions.checkArgument(!path.isWildcarded(), "Cannot delete wildcarded path %s", path);
- final YangInstanceIdentifier normalized = getCodec().toNormalized(path);
+ final YangInstanceIdentifier normalized = getCodec().toYangInstanceIdentifierBlocking(path);
getDelegate().delete(store, normalized);
}
- protected final CheckedFuture<Void,TransactionCommitFailedException> doSubmit() {
- return getDelegate().submit();
+ protected final FluentFuture<? extends CommitInfo> doCommit() {
+ return getDelegate().commit();
}
protected final boolean doCancel() {
return getDelegate().cancel();
}
-
}