From d0c466346d7271826c784f6b594b3df9aafdc55f Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 4 Apr 2023 09:10:15 +0200 Subject: [PATCH] Fix DOMDataTreeCommitCohort The cohort should be exposing EffectiveModelContext in order to provide correct interactions with other utilities. JIRA: MDSAL-822 Change-Id: I2b0a3ada8cb677cdbcf9c2fad0ca50d502f6d2e4 Signed-off-by: Robert Varga (cherry picked from commit a706a8e41d9fc17d52f5623bef3042eefb8847cb) --- .../adapter/BindingDOMDataTreeCommitCohortAdapter.java | 4 ++-- .../mdsal/dom/api/DOMDataTreeCommitCohort.java | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeCommitCohortAdapter.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeCommitCohortAdapter.java index 695383c4d3..f3f15b7aa3 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeCommitCohortAdapter.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeCommitCohortAdapter.java @@ -16,7 +16,7 @@ import org.opendaylight.mdsal.common.api.PostCanCommitStep; import org.opendaylight.mdsal.dom.api.DOMDataTreeCandidate; import org.opendaylight.mdsal.dom.api.DOMDataTreeCommitCohort; import org.opendaylight.yangtools.yang.binding.DataObject; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; final class BindingDOMDataTreeCommitCohortAdapter extends AbstractBindingAdapter> implements DOMDataTreeCommitCohort { @@ -26,7 +26,7 @@ final class BindingDOMDataTreeCommitCohortAdapter @Override public FluentFuture canCommit(final Object txId, - final SchemaContext ctx, final Collection candidates) { + final EffectiveModelContext ctx, final Collection candidates) { final Collection> modifications = candidates.stream() .map(candidate -> LazyDataTreeModification.create(currentSerializer(), candidate)) .collect(Collectors.toList()); diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCommitCohort.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCommitCohort.java index 9760a8e7a3..cbe6112488 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCommitCohort.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCommitCohort.java @@ -16,7 +16,7 @@ import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.common.api.DataValidationFailedException; import org.opendaylight.mdsal.common.api.PostCanCommitStep; import org.opendaylight.yangtools.util.concurrent.ExceptionMapper; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; /** * Commit cohort participating in commit of data modification, which can validate data tree @@ -31,7 +31,7 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext; * *

Implementation requirements

*

Correctness assumptions

Implementation SHOULD use only the {@link DOMDataTreeCandidate} instances and - * provided {@link SchemaContext} for validation purposes. + * provided {@link EffectiveModelContext} for validation purposes. * Use of any other external mutable state is discouraged, implementation MUST NOT use any * transaction related APIs on same data broker / data store instance during invocation of * callbacks, except ones provided as argument. Note that this MAY BE enforced by some @@ -40,7 +40,7 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext; * and such calls may fail. *

Correct model usage

If implementation is performing YANG-model driven validation * implementation SHOULD use provided schema context. - * Any other instance of {@link SchemaContext} obtained by other means, may not be valid for the + * Any other instance of {@link EffectiveModelContext} obtained by other means, may not be valid for the * associated DOMDataTreeCandidates and it may lead to incorrect validation or processing of provided * data. *

DataTreeCandidate assumptions

Implementation SHOULD NOT make any assumptions on a @@ -94,7 +94,7 @@ public interface DOMDataTreeCommitCohort { * validation failure reason. */ @NonNull FluentFuture canCommit(@NonNull Object txId, - @NonNull SchemaContext ctx, @NonNull Collection candidates); + @NonNull EffectiveModelContext ctx, @NonNull Collection candidates); /** * An ExceptionMapper that translates an Exception to a DataValidationFailedException. -- 2.36.6