X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-common-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fcommon%2Fapi%2Fdata%2FDataValidationFailedException.java;h=16c956caf4d7bd9c97cb6abad11e35dfd79e89d6;hp=c59c12ec5c3c59314d94094d421ab45c96deb4cb;hb=2a6aa1775604906755883f810ee9ea6d5f286135;hpb=059605a27e8a1280cefa8186a9057144bc281518 diff --git a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataValidationFailedException.java b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataValidationFailedException.java index c59c12ec5c..16c956caf4 100644 --- a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataValidationFailedException.java +++ b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataValidationFailedException.java @@ -7,38 +7,48 @@ */ package org.opendaylight.controller.md.sal.common.api.data; -import org.opendaylight.yangtools.concepts.Path; +import static java.util.Objects.requireNonNull; -import com.google.common.base.Preconditions; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import org.opendaylight.yangtools.concepts.Path; +import org.opendaylight.yangtools.yang.common.RpcError.ErrorType; +import org.opendaylight.yangtools.yang.common.RpcResultBuilder; /** - * * Failure of asynchronous transaction commit caused by invalid data. * + *

* This exception is raised and returned when transaction commit - * failed, because other data submitted via transactions + * failed, because other data submitted via transactions. * - * Clients usually are not able recover from this error condition by - * retrieving same transaction, since data introduced by this transaction - * are invalid. + *

+ * Clients usually are not able recover from this error condition by + * retrieving same transaction, since data introduced by this transaction + * are invalid. * + * @deprecated Use {@link org.opendaylight.mdsal.common.api.DataValidationFailedException} instead. */ +@Deprecated(forRemoval = true) public class DataValidationFailedException extends TransactionCommitFailedException { private static final long serialVersionUID = 1L; - private Path path; + @SuppressFBWarnings("SE_BAD_FIELD") + private final Path path; - private Class> pathType; + private final Class> pathType; - public

> DataValidationFailedException(final Class

pathType,final P path, final String message, final Throwable cause) { - super(message, cause); - this.pathType = Preconditions.checkNotNull(pathType, "path type must not be null"); - this.path = Preconditions.checkNotNull(path,"path must not be null."); + public

> DataValidationFailedException(final Class

pathType,final P path, + final String message, final Throwable cause) { + super(message, cause, RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-value", message, null, + path != null ? path.toString() : null, cause)); + this.pathType = requireNonNull(pathType, "path type must not be null"); + this.path = requireNonNull(path,"path must not be null."); } - public

> DataValidationFailedException(final Class

pathType,final P path,final String message) { - this(pathType,path,message,null); + public

> DataValidationFailedException(final Class

pathType,final P path, + final String message) { + this(pathType, path, message, null); } public final Path getPath() { @@ -48,5 +58,4 @@ public class DataValidationFailedException extends TransactionCommitFailedExcept public final Class> getPathType() { return pathType; } - }