import com.google.common.util.concurrent.FluentFuture;
import java.util.Map.Entry;
-import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.mdsal.binding.api.WriteTransaction;
import org.opendaylight.mdsal.common.api.CommitInfo;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
}
@Override
- public final <U extends DataObject> void mergeParentStructurePut(@NonNull LogicalDatastoreType store,
- @NonNull InstanceIdentifier<U> path, @NonNull U data) {
+ public final <U extends DataObject> void mergeParentStructurePut(final LogicalDatastoreType store,
+ final InstanceIdentifier<U> path, final U data) {
final Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> normalized = toNormalized("put",
path, data);
ensureParentsByMerge(store, normalized.getKey(), path);
}
@Override
- public final <U extends DataObject> void mergeParentStructureMerge(@NonNull LogicalDatastoreType store,
- @NonNull InstanceIdentifier<U> path, @NonNull U data) {
+ public final <U extends DataObject> void mergeParentStructureMerge(final LogicalDatastoreType store,
+ final InstanceIdentifier<U> path, final U data) {
final Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> normalized = toNormalized("merge", path, data);
ensureParentsByMerge(store, normalized.getKey(), path);
getDelegate().merge(store, normalized.getKey(), normalized.getValue());
}
@Override
- public @NonNull FluentFuture<? extends @NonNull CommitInfo> commit() {
+ public FluentFuture<? extends CommitInfo> commit() {
return getDelegate().commit();
}
private void ensureParentsByMerge(final LogicalDatastoreType store, final YangInstanceIdentifier domPath,
final InstanceIdentifier<?> path) {
final YangInstanceIdentifier parentPath = domPath.getParent();
- if (parentPath != null) {
+ if (parentPath != null && !parentPath.isEmpty()) {
final NormalizedNode<?, ?> parentNode = getCodec().instanceIdentifierToNode(parentPath);
getDelegate().merge(store, YangInstanceIdentifier.create(parentNode.getIdentifier()), parentNode);
}