@Override public QName apply(final QName input) { QNameModule potential = mapping.get(input.getModule()); if (potential != null) { return QName.create(potential, input.getLocalName()).intern(); } return input; } }
public static SchemaNode findNodeInSchemaContext(final SchemaContext context, final Iterable<QName> path) { final QName current = path.iterator().next(); LOG.trace("Looking up module {} in context {}", current, path); final Optional<Module> module = context.findModule(current.getModule()); if (!module.isPresent()) { LOG.debug("Module {} not found", current); return null; } return findNodeInModule(module.get(), path); }
private static IdentitySchemaNode getIdentitySchemaNodeFromQName(final QName identityQName, final SchemaContext schemaContext) { final Optional<Module> module = schemaContext.findModule(identityQName.getModule()); Preconditions.checkArgument(module.isPresent(), "Module for %s not found", identityQName); return findIdentitySchemaNodeInModule(module.get(), identityQName); }
public static String encodeQName(final QName qname, final Function<QNameModule, String> moduleToPrefix) { final String prefix = moduleToPrefix.apply(qname.getModule()); checkArgument(prefix != null, "Cannot allocated prefix for %s", qname); return prefix.isEmpty() ? qname.getLocalName() : prefix + ":" + qname.getLocalName(); } }
@Beta @Override default Optional<DataSchemaNode> findDataTreeChild(final QName name) { return findModule(name.getModule()).flatMap(mod -> mod.findDataTreeChild(name)); } }
private QName resolveQName(final NormalizedNode<?, ?> node, final String prefix, final String localName) { final QNameModule module; if (prefix.isEmpty()) { module = node.getNodeType().getModule(); } else { module = namespaceContext.convert(prefix); } return QName.create(module, localName); }
@Beta @Override default Optional<DataSchemaNode> findDataTreeChild(final QName name) { return findModule(name.getModule()).flatMap(mod -> mod.findDataTreeChild(name)); } }
LeafRefPathParserListenerImpl(final SchemaContext schemaContext, final Module leafrefModule, final SchemaNode currentNode) { this.schemaContext = schemaContext; this.module = schemaContext.findModule(currentNode.getQName().getModule()).get(); this.leafrefModule = leafrefModule; this.node = currentNode; }
private StartElement startElement(final QName qname) { final Entry<String, String> ns = namespaceContext.prefixAndNamespaceFor(qname.getModule()); return eventFactory.createStartElement(ns.getKey(), ns.getValue(), qname.getLocalName(), emptyIterator(), emptyIterator(), namespaceContext); }
public static final QNameModule getQNameModule(final Class<?> clz) { if(DataContainer.class.isAssignableFrom(clz) || BaseIdentity.class.isAssignableFrom(clz)) { return findQName(clz).getModule(); } try { YangModuleInfo modInfo = BindingReflections.getModuleInfo(clz); return getQNameModule(modInfo); } catch (Exception e) { throw new IllegalStateException("Unable to get QName of defining model.", e); } }
@Override protected String qnameToKey(final QName qname) { if (module.equals(qname.getModule())) { return qname.getLocalName(); } else { return null; } } }
@Override protected String qnameToKey(final QName qname) { if (module.equals(qname.getModule())) { return qname.getLocalName(); } else { return null; } } }
private Module getBaseTypeModule(final LeafrefTypeDefinition leafrefType) { /* * Find the first definition of supplied leafref type and return the * module which contains this definition. */ LeafrefTypeDefinition baseLeafRefType = leafrefType; while (baseLeafRefType.getBaseType() != null) { baseLeafRefType = baseLeafRefType.getBaseType(); } return schemaContext.findModule(baseLeafRefType.getQName().getModule()).orElse(null); }
@Override public String toRelativeString(final PathArgument previous) { if (previous instanceof AbstractPathArgument) { final QNameModule mod = previous.getNodeType().getModule(); if (getNodeType().getModule().equals(mod)) { return getNodeType().getLocalName(); } } return getNodeType().toString(); } }
private String findYangModuleName(final QName qname, final SchemaContext schemaContext) throws ConfigXMLReaderException { for (Module m : schemaContext.getModules()) { if (qname.getModule().equals(m.getQNameModule())) { return m.getName(); } } throw new ConfigXMLReaderException( String.format("%s: Could not find yang module for QName %s", logName, qname)); }
private String findYangModuleName(QName qname, SchemaContext schemaContext) { for(Module m: schemaContext.getModules()) { if(qname.getModule().equals(m.getQNameModule())) { return m.getName(); } } setFailureMessage(String.format("%s: Could not find yang module for QName %s", logName(), qname)); return null; }
@Override public void onFullDefinitionDeclared(final StmtContext.Mutable<SchemaNodeIdentifier, DeviationStatement, EffectiveStatement<SchemaNodeIdentifier, DeviationStatement>> ctx) { final QNameModule currentModule = ctx.getFromNamespace(ModuleCtxToModuleQName.class, ctx.getRoot()); final QNameModule targetModule = ctx.coerceStatementArgument().getLastComponent().getModule(); if (currentModule.equals(targetModule)) { throw new InferenceException(ctx.getStatementSourceReference(), "Deviation must not target the same module as the one it is defined in: %s", currentModule); } }