From d02a4b5555ec9139f448cb2ab4e041a3efb6f3c1 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 28 May 2015 13:43:12 +0200 Subject: [PATCH] Enforce SchemaPath correctness SchemaPath must never contain a null element unless it is ROOT or SAME. Current implementation allows that to happen by checking for null items in the collections/lists it gets from the user. Change-Id: Ibb85f84f54ad9c9049ac2ce8bb88371942b16880 Signed-off-by: Robert Varga --- .../yangtools/yang/model/api/SchemaPath.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/SchemaPath.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/SchemaPath.java index 04975deefa..9601a3910f 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/SchemaPath.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/SchemaPath.java @@ -42,7 +42,7 @@ public abstract class SchemaPath implements Immutable { @Override protected SchemaPath createInstance(final SchemaPath parent, final QName qname) { - return new AbsoluteSchemaPath(parent, qname); + return new AbsoluteSchemaPath(parent, Preconditions.checkNotNull(qname)); } } @@ -61,7 +61,7 @@ public abstract class SchemaPath implements Immutable { @Override protected SchemaPath createInstance(final SchemaPath parent, final QName qname) { - return new RelativeSchemaPath(parent, qname); + return new RelativeSchemaPath(parent, Preconditions.checkNotNull(qname)); } } @@ -100,6 +100,12 @@ public abstract class SchemaPath implements Immutable { */ private volatile ImmutableList legacyPath; + /** + * @deprecated This constructor will be hidden in a future release. + * @param parent + * @param qname + */ + @Deprecated protected SchemaPath(final SchemaPath parent, final QName qname) { this.parent = parent; this.qname = qname; -- 2.36.6