From 54ada00ff849ed9c8391d6e3ca1764cb9c84e53f Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 25 Jun 2021 18:00:14 +0200 Subject: [PATCH] Add YangError.getErrorTag() Error tags are well-defined and mandatory-to-include in NETCONF/YANG error handling model. Make sure we expose this information from YangError (and by extension from YangInvalidValueException). JIRA: YANGTOOLS-1301 Change-Id: Ie914fda40b04facf56c5d644c41b3c91a8948dcd Signed-off-by: Robert Varga --- .../yangtools/yang/common/YangError.java | 13 ++++++++++--- .../data/api/codec/YangInvalidValueException.java | 5 +++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/YangError.java b/common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/YangError.java index 3c01af26b9..a925c5bf27 100644 --- a/common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/YangError.java +++ b/common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/YangError.java @@ -36,14 +36,21 @@ public interface YangError { @NonNull ErrorSeverity getSeverity(); /** - * Returns the value of the argument of YANG error-app-tag keyword. + * Returns the error tag, as determined by the application reporting the error. * - * @return string with the application tag, or empty if it was not provided. + * @return an error tag. + */ + @NonNull String getErrorTag(); + + /** + * Returns the value of the argument of YANG {@code error-app-tag} statement. + * + * @return string with the application error tag, or empty if it was not provided. */ Optional getErrorAppTag(); /** - * Returns the value of the argument of YANG error-message keyword. + * Returns the value of the argument of YANG {@code error-message} statement. * * @return string with the error message, or empty if it was not provided. */ diff --git a/data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/YangInvalidValueException.java b/data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/YangInvalidValueException.java index a666bbaf14..5e845ed796 100644 --- a/data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/YangInvalidValueException.java +++ b/data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/YangInvalidValueException.java @@ -60,6 +60,11 @@ public class YangInvalidValueException extends IllegalArgumentException implemen return ErrorSeverity.ERROR; } + @Override + public final String getErrorTag() { + return "invalid-value"; + } + @Override public final Optional getErrorAppTag() { return Optional.ofNullable(errorAppTag); -- 2.36.6