X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fapi%2FDOMDataTreeIdentifier.java;h=9ed435a627e64b432f894acd3aead1c8d8792959;hb=refs%2Fchanges%2F11%2F80211%2F6;hp=0f015d1348014d2a627724ee965a28f84a7d35b0;hpb=7c1be1d20084ee053747d517d597f1a07df694bd;p=controller.git 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..9ed435a627 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; @@ -26,13 +26,32 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum 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 +59,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 +68,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; }