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=4c46ec509dfda7319fe04226f063dd6f76c262ab;hp=8b3a8308c4a34a70c7abb3ca8652a948060aa0cd;hb=2a6aa1775604906755883f810ee9ea6d5f286135;hpb=412db94945c5db5d2da918f5e23bd3abcecc4d10 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 8b3a8308c4..4c46ec509d 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 @@ -1,16 +1,18 @@ /* * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. + * * This program and the accompanying materials are made available under the * 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; @@ -20,15 +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. */ -public final class DOMDataTreeIdentifier implements Immutable, Path, Serializable, Comparable { +@Deprecated(forRemoval = true) +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 = requireNonNull(datastoreType); + this.rootIdentifier = requireNonNull(rootIdentifier); + } - public DOMDataTreeIdentifier(final LogicalDatastoreType datastoreType, final YangInstanceIdentifier rootIdentifier) { - this.datastoreType = Preconditions.checkNotNull(datastoreType); - this.rootIdentifier = Preconditions.checkNotNull(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); } /** @@ -36,7 +62,7 @@ public final class DOMDataTreeIdentifier implements Immutable, Path mi = rootIdentifier.getPathArguments().iterator(); - final Iterator oi = o.rootIdentifier.getPathArguments().iterator(); + final Iterator oi = obj.rootIdentifier.getPathArguments().iterator(); while (mi.hasNext()) { if (!oi.hasNext()) { @@ -95,9 +121,9 @@ public final class DOMDataTreeIdentifier implements Immutable, Path