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%2FDOMRpcIdentifier.java;h=671671c90514691c1f1b8f8b1afd6c003678a2a7;hb=fdb31721b3b17060158556f3e36be5800be18a07;hp=1976913a1744e9ff8ba782a85dd83fdd79e2682c;hpb=fddfe9fc95e2d0807ea943d5c1c6af6a970ef34c;p=controller.git diff --git a/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/md/sal/dom/api/DOMRpcIdentifier.java b/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/md/sal/dom/api/DOMRpcIdentifier.java index 1976913a17..671671c905 100644 --- a/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/md/sal/dom/api/DOMRpcIdentifier.java +++ b/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/md/sal/dom/api/DOMRpcIdentifier.java @@ -7,11 +7,14 @@ */ package org.opendaylight.controller.md.sal.dom.api; +import com.google.common.base.MoreObjects; import com.google.common.base.Preconditions; +import java.util.Collections; import java.util.Objects; import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.model.api.SchemaPath; /** @@ -21,6 +24,9 @@ import org.opendaylight.yangtools.yang.model.api.SchemaPath; * contexts concurrently. */ public abstract class DOMRpcIdentifier { + + private static final YangInstanceIdentifier GLOBAL_CONTEXT = YangInstanceIdentifier.create(Collections.emptySet()); + private static final class Global extends DOMRpcIdentifier { private Global(final @Nonnull SchemaPath type) { super(type); @@ -28,7 +34,7 @@ public abstract class DOMRpcIdentifier { @Override public YangInstanceIdentifier getContextReference() { - return null; + return GLOBAL_CONTEXT; } } @@ -70,7 +76,7 @@ public abstract class DOMRpcIdentifier { * @return A global RPC identifier, guaranteed to be non-null. */ public static @Nonnull DOMRpcIdentifier create(final @Nonnull SchemaPath type, final @Nullable YangInstanceIdentifier contextReference) { - if (contextReference == null) { + if (contextReference == null || GLOBAL_CONTEXT.equals(contextReference)) { return new Global(type); } else { return new Local(type, contextReference); @@ -91,7 +97,7 @@ public abstract class DOMRpcIdentifier { * * @return RPC context reference. */ - public abstract @Nullable YangInstanceIdentifier getContextReference(); + public abstract @Nonnull YangInstanceIdentifier getContextReference(); @Override public final int hashCode() { @@ -119,6 +125,6 @@ public abstract class DOMRpcIdentifier { @Override public final String toString() { - return com.google.common.base.Objects.toStringHelper(this).omitNullValues().add("type", type).add("contextReference", getContextReference()).toString(); + return MoreObjects.toStringHelper(this).omitNullValues().add("type", type).add("contextReference", getContextReference()).toString(); } }