This provides a guard against invoking QName.create()
with a null base, reporting the original path.
Change-Id: Ic6bc661b94b5214336854a0cb20b6e595e7346e8
Signed-off-by: Robert Varga <rovarga@cisco.com>
public static SchemaPath typeEffectiveSchemaPath(final StmtContext<?, ?, ?> stmtCtx) {
final SchemaPath path = stmtCtx.getSchemaPath().get();
public static SchemaPath typeEffectiveSchemaPath(final StmtContext<?, ?, ?> stmtCtx) {
final SchemaPath path = stmtCtx.getSchemaPath().get();
+ final SchemaPath parent = path.getParent();
+ final QName parentQName = parent.getLastComponent();
+ Preconditions.checkArgument(parentQName != null, "Path %s has an empty parent", path);
+
final QName qname = stmtCtx.getFromNamespace(QNameCacheNamespace.class,
final QName qname = stmtCtx.getFromNamespace(QNameCacheNamespace.class,
- QName.create(path.getParent().getLastComponent(), path.getLastComponent().getLocalName()));
- return path.getParent().createChild(qname);
+ QName.create(parentQName, path.getLastComponent().getLocalName()));
+ return parent.createChild(qname);