Migrate from YangInstanceIdentifier.EMPTY
[controller.git] / opendaylight / md-sal / sal-dom-api / src / main / java / org / opendaylight / controller / md / sal / dom / api / DOMRpcIdentifier.java
index 60fae6781e5bfa971d0a6eefdac6aff3f97e3934..8f52edd651d79e9ae1a12df080a478098209816a 100644 (file)
@@ -7,11 +7,12 @@
  */
 package org.opendaylight.controller.md.sal.dom.api;
 
+import static java.util.Objects.requireNonNull;
+
 import com.google.common.base.MoreObjects;
-import com.google.common.base.Preconditions;
 import java.util.Objects;
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 
@@ -20,26 +21,29 @@ import org.opendaylight.yangtools.yang.model.api.SchemaPath;
  * always has global context. It allows an RPC to have a instance identifier
  * attached, so that there can be multiple implementations bound to different
  * contexts concurrently.
+ *
+ * @deprecated Use {@link org.opendaylight.mdsal.dom.api.DOMRpcIdentifier} instead.
  */
+@Deprecated
 public abstract class DOMRpcIdentifier {
 
     private static final class Global extends DOMRpcIdentifier {
-        private Global(final @Nonnull SchemaPath type) {
+        private Global(final @NonNull SchemaPath type) {
             super(type);
         }
 
         @Override
         public YangInstanceIdentifier getContextReference() {
-            return YangInstanceIdentifier.EMPTY;
+            return YangInstanceIdentifier.empty();
         }
     }
 
     private static final class Local extends DOMRpcIdentifier {
         private final YangInstanceIdentifier contextReference;
 
-        private Local(final @Nonnull SchemaPath type, final @Nonnull YangInstanceIdentifier contextReference) {
+        private Local(final @NonNull SchemaPath type, final @NonNull YangInstanceIdentifier contextReference) {
             super(type);
-            this.contextReference = Preconditions.checkNotNull(contextReference);
+            this.contextReference = requireNonNull(contextReference);
         }
 
         @Override
@@ -51,7 +55,7 @@ public abstract class DOMRpcIdentifier {
     private final SchemaPath type;
 
     private DOMRpcIdentifier(final SchemaPath type) {
-        this.type = Preconditions.checkNotNull(type);
+        this.type = requireNonNull(type);
     }
 
     /**
@@ -60,7 +64,7 @@ public abstract class DOMRpcIdentifier {
      * @param type RPC type, SchemaPath of its definition, may not be null
      * @return A global RPC identifier, guaranteed to be non-null.
      */
-    public static @Nonnull DOMRpcIdentifier create(final @Nonnull SchemaPath type) {
+    public static @NonNull DOMRpcIdentifier create(final @NonNull SchemaPath type) {
         return new Global(type);
     }
 
@@ -71,7 +75,7 @@ public abstract class DOMRpcIdentifier {
      * @param contextReference Context reference, null means a global RPC identifier.
      * @return A global RPC identifier, guaranteed to be non-null.
      */
-    public static @Nonnull DOMRpcIdentifier create(final @Nonnull SchemaPath type,
+    public static @NonNull DOMRpcIdentifier create(final @NonNull SchemaPath type,
             final @Nullable YangInstanceIdentifier contextReference) {
         if (contextReference == null || contextReference.isEmpty()) {
             return new Global(type);
@@ -79,12 +83,20 @@ public abstract class DOMRpcIdentifier {
         return new Local(type, contextReference);
     }
 
+    public static DOMRpcIdentifier fromMdsal(final org.opendaylight.mdsal.dom.api.DOMRpcIdentifier mdsal) {
+        return create(mdsal.getType(), mdsal.getContextReference());
+    }
+
+    public org.opendaylight.mdsal.dom.api.DOMRpcIdentifier toMdsal() {
+        return org.opendaylight.mdsal.dom.api.DOMRpcIdentifier.create(type, getContextReference());
+    }
+
     /**
      * Return the RPC type.
      *
      * @return RPC type.
      */
-    public final @Nonnull SchemaPath getType() {
+    public final @NonNull SchemaPath getType() {
         return type;
     }
 
@@ -93,7 +105,7 @@ public abstract class DOMRpcIdentifier {
      *
      * @return RPC context reference.
      */
-    public abstract @Nonnull YangInstanceIdentifier getContextReference();
+    public abstract @NonNull YangInstanceIdentifier getContextReference();
 
     @Override
     public final int hashCode() {