From d9b62df806070e7a5551431d4e3b91ca3099a930 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 5 Sep 2018 17:19:49 +0200 Subject: [PATCH] Do not leak Optional in QNameWithPredicateImpl.toString() The toString() method blindly appends the revision, leading to Optional[] being present in the result. Fix the method to look at the returned version and append the query only when it is present -- just like QName does. Change-Id: I47dcdaa3c7ca7b3bfaf34898f76b10dfb2ddbe00 Signed-off-by: Robert Varga (cherry picked from commit 1951860b7c0ae2a74735a138b3227e09fd718745) --- .../yang/data/impl/leafref/QNameWithPredicateImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/QNameWithPredicateImpl.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/QNameWithPredicateImpl.java index fa88e74ca7..d0fb0193d1 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/QNameWithPredicateImpl.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/QNameWithPredicateImpl.java @@ -11,9 +11,11 @@ import com.google.common.collect.ImmutableList; import java.io.Serializable; import java.util.List; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; +import org.opendaylight.yangtools.yang.common.Revision; final class QNameWithPredicateImpl implements Immutable, Serializable, QNameWithPredicate { @@ -76,7 +78,10 @@ final class QNameWithPredicateImpl implements Immutable, Serializable, QNameWith if (moduleQname != null) { sb.append('(').append(moduleQname.getNamespace()); - sb.append("?revision=").append(moduleQname.getRevision()); + final Optional rev = moduleQname.getRevision(); + if (rev.isPresent()) { + sb.append("?revision=").append(rev.get()); + } sb.append(')'); } -- 2.36.6