X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fapi%2FDOMDataTreeIdentifier.java;h=39859c895e74e7c87419ab8861b5bb9c37679c48;hp=0f015d1348014d2a627724ee965a28f84a7d35b0;hb=3ec97cd0a86ad1b79f6854dc6924eb7b06e359a3;hpb=7c1be1d20084ee053747d517d597f1a07df694bd diff --git a/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/md/sal/dom/api/DOMDataTreeIdentifier.java b/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/md/sal/dom/api/DOMDataTreeIdentifier.java index 0f015d1348..39859c895e 100644 --- a/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/md/sal/dom/api/DOMDataTreeIdentifier.java +++ b/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/md/sal/dom/api/DOMDataTreeIdentifier.java @@ -5,14 +5,14 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - 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.io.Serializable; import java.util.Iterator; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.concepts.Path; @@ -22,17 +22,39 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum /** * A unique identifier for a particular subtree. It is composed of the logical * data store type and the instance identifier of the root node. + * + * @deprecated Use {@link org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier} instead. */ +@Deprecated public final class DOMDataTreeIdentifier implements Immutable, Path, Serializable, Comparable { private static final long serialVersionUID = 1L; - private final YangInstanceIdentifier rootIdentifier; - private final LogicalDatastoreType datastoreType; + private final @NonNull YangInstanceIdentifier rootIdentifier; + private final @NonNull LogicalDatastoreType datastoreType; public DOMDataTreeIdentifier(final LogicalDatastoreType datastoreType, final YangInstanceIdentifier rootIdentifier) { - this.datastoreType = Preconditions.checkNotNull(datastoreType); - this.rootIdentifier = Preconditions.checkNotNull(rootIdentifier); + this.datastoreType = requireNonNull(datastoreType); + this.rootIdentifier = requireNonNull(rootIdentifier); + } + + /** + * Return a counterpart to an MD-SAL data tree identifier. + * + * @return Controller data tree identifier. + */ + public static DOMDataTreeIdentifier fromMdsal(final org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier mdsal) { + return new DOMDataTreeIdentifier(LogicalDatastoreType.fromMdsal(mdsal.getDatastoreType()), + mdsal.getRootIdentifier()); + } + + /** + * Return MD-SAL counterpart of this object. + * + * @return MD-SAL data tree identifier. + */ + public org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier toMdsal() { + return new org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier(datastoreType.toMdsal(), rootIdentifier); } /** @@ -40,7 +62,7 @@ public final class DOMDataTreeIdentifier implements Immutable, * * @return Logical data store type. Guaranteed to be non-null. */ - public @Nonnull LogicalDatastoreType getDatastoreType() { + public @NonNull LogicalDatastoreType getDatastoreType() { return datastoreType; } @@ -49,7 +71,7 @@ public final class DOMDataTreeIdentifier implements Immutable, * * @return Instance identifier corresponding to the root node. */ - public @Nonnull YangInstanceIdentifier getRootIdentifier() { + public @NonNull YangInstanceIdentifier getRootIdentifier() { return rootIdentifier; }