Adopt odlparent-10.0.0/yangtools-8.0.0-SNAPSHOT
[mdsal.git] / common / mdsal-common-api / src / main / java / org / opendaylight / mdsal / common / api / DataValidationFailedException.java
index cab7290bc4a35e0a936e76925a8a8311c64bdf10..526ba6d028ac20e7280f41ed9e98823ce3833f15 100644 (file)
@@ -7,51 +7,45 @@
  */
 package org.opendaylight.mdsal.common.api;
 
-import org.opendaylight.yangtools.concepts.Path;
-import org.opendaylight.yangtools.yang.common.RpcError.ErrorType;
-import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
+import static java.util.Objects.requireNonNull;
 
-import com.google.common.base.Preconditions;
+import org.opendaylight.yangtools.concepts.HierarchicalIdentifier;
+import org.opendaylight.yangtools.yang.common.ErrorTag;
+import org.opendaylight.yangtools.yang.common.ErrorType;
+import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
 
 /**
+ * Failure of asynchronous transaction commit caused by invalid data. This exception is raised and returned when
+ * a transaction commit failed, because other data submitted via transactions.
  *
- * 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
- *
- *  Clients usually are not able recover from this error condition by
- *  retrieving same transaction, since data introduced by this transaction
- *  are invalid.
- *
+ * <p>
+ * Clients usually are not able recover from this error condition by retrieving same transaction, since data introduced
+ * by this transaction is invalid.
  */
 public class DataValidationFailedException extends TransactionCommitFailedException {
-
     private static final long serialVersionUID = 1L;
 
-    private Path<?> path;
+    private final HierarchicalIdentifier<?> path;
+    private final Class<? extends HierarchicalIdentifier<?>> pathType;
 
-    private Class<? extends Path<?>> pathType;
-
-    public <P extends Path<P>> DataValidationFailedException(final Class<P> 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 = Preconditions.checkNotNull(pathType, "path type must not be null");
-        this.path = Preconditions.checkNotNull(path,"path must not be null.");
+    public <P extends HierarchicalIdentifier<P>> DataValidationFailedException(final Class<P> pathType, final P path,
+            final String message, final Throwable cause) {
+        super(message, cause, RpcResultBuilder.newError(ErrorType.APPLICATION, ErrorTag.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  <P extends Path<P>> DataValidationFailedException(final Class<P> pathType,final P path,
-                                                              final String message) {
+    public <P extends HierarchicalIdentifier<P>> DataValidationFailedException(final Class<P> pathType, final P path,
+            final String message) {
         this(pathType, path, message, null);
     }
 
-    public final Path<?> getPath() {
+    public final HierarchicalIdentifier<?> getPath() {
         return path;
     }
 
-    public final Class<? extends Path<?>> getPathType() {
+    public final Class<? extends HierarchicalIdentifier<?>> getPathType() {
         return pathType;
     }
-
 }