/** * Returns the revision date for the module. If you need both namespace and * revision, please consider using {@link #getQNameModule()}. * * @return date of the module revision which is specified as argument of * YANG {@link Module <b><font color="#339900">revison</font></b>} * keyword */ @Override default Optional<Revision> getRevision() { return getQNameModule().getRevision(); }
/** * Returns the namespace of the module which is specified as argument of * YANG {@link Module <b><font color="#00FF00">namespace</font></b>} * keyword. If you need both namespace and revision, please consider using * {@link #getQNameModule()}. * * @return URI format of the namespace of the module */ @Override default URI getNamespace() { return getQNameModule().getNamespace(); }
/** * Returns the revision date for the module. If you need both namespace and * revision, please consider using {@link #getQNameModule()}. * * @return date of the module revision which is specified as argument of * YANG {@link Module <b><font color="#339900">revison</font></b>} * keyword */ @Override default Optional<Revision> getRevision() { return getQNameModule().getRevision(); }
@Override protected final QName createQName(final String prefix, final String localName) { final Module module = moduleForPrefix(prefix); checkArgument(module != null, "Failed to lookup prefix %s", prefix); return QName.create(module.getQNameModule(), localName); } }
@Override protected final QName createQName(final String prefix, final String localName) { final Module module = moduleForPrefix(prefix); checkArgument(module != null, "Failed to lookup prefix %s", prefix); return QName.create(module.getQNameModule(), localName); } }
String modulePackageName() { String ret = modulePackageName; if (ret == null) { modulePackageName = ret = BindingMapping.getRootPackageName(module.getQNameModule()); } return ret; }
@Override public QName parseValue(final NamespaceContext ctx, final String str) { return IdentityCodecUtil.parseIdentity(str, schemaContext, prefix -> { if (prefix.isEmpty()) { return parentModule; } final String prefixedNS = ctx.getNamespaceURI(prefix); final Iterator<Module> modules = schemaContext.findModules(URI.create(prefixedNS)).iterator(); checkArgument(modules.hasNext(), "Could not find module for namespace %s", prefixedNS); return modules.next().getQNameModule(); }).getQName(); }
@Override public QName parseValue(final Object ctx, final String value) { return IdentityCodecUtil.parseIdentity(value, schemaContext, prefix -> { if (prefix.isEmpty()) { return parentModule; } final Iterator<Module> modules = schemaContext.findModules(prefix).iterator(); checkArgument(modules.hasNext(), "Could not find module %s", prefix); return modules.next().getQNameModule(); }).getQName(); }
@Override public QName parseValue(final Object ctx, final String value) { return IdentityCodecUtil.parseIdentity(value, schemaContext, prefix -> { if (prefix.isEmpty()) { return parentModule; } final Iterator<Module> modules = schemaContext.findModules(prefix).iterator(); checkArgument(modules.hasNext(), "Could not find module %s", prefix); return modules.next().getQNameModule(); }).getQName(); }
@Override public void enterPrefix(final PrefixContext ctx) { final String prefix = ctx.getText(); if (!leafrefModule.getPrefix().equals(prefix)) { final Optional<QNameModule> qnameModuleOpt = getQNameModuleForImportPrefix(leafrefModule, prefix); checkArgument(qnameModuleOpt.isPresent(), "No module import for prefix: %s in module: %s", prefix, leafrefModule.getName()); currentQnameModule = qnameModuleOpt.get(); } else { currentQnameModule = leafrefModule.getQNameModule(); } }
List<Type> toTypes(final Set<Module> modules) { final List<Type> filteredGenTypes = new ArrayList<>(); for (final Module m : modules) { filteredGenTypes.addAll(moduleContext(m.getQNameModule()).getGeneratedTypes()); final Set<Type> additionalTypes = typeProvider().getAdditionalTypes().get(m); if (additionalTypes != null) { filteredGenTypes.addAll(additionalTypes); } } return filteredGenTypes; }
@Override public void enterPrefix(final PrefixContext ctx) { final String prefix = ctx.getText(); if (!leafrefModule.getPrefix().equals(prefix)) { final Optional<QNameModule> qnameModuleOpt = getQNameModuleForImportPrefix(leafrefModule, prefix); checkArgument(qnameModuleOpt.isPresent(), "No module import for prefix: %s in module: %s", prefix, leafrefModule.getName()); currentQnameModule = qnameModuleOpt.get(); } else { currentQnameModule = leafrefModule.getQNameModule(); } }
private QName createQName(final String prefix, final String localName) { final Module module = schemaContext.findModule(schemaNode.getQName().getModule()).get(); if (prefix.isEmpty() || module.getPrefix().equals(prefix)) { return QName.create(module.getQNameModule(), localName); } for (final ModuleImport moduleImport : module.getImports()) { if (prefix.equals(moduleImport.getPrefix())) { final Module importedModule = schemaContext.findModule(moduleImport.getModuleName(), moduleImport.getRevision()).get(); return QName.create(importedModule.getQNameModule(),localName); } } throw new IllegalArgumentException(String.format("Failed to lookup a module for prefix %s", prefix)); }
@Override protected final QName createQName(final String prefix, final String localName) { final Module module = moduleForPrefix(prefix); checkArgument(module != null, "Failed to lookup prefix %s", prefix); final QName qname = QName.create(module.getQNameModule(), localName); for (IdentitySchemaNode identity : module.getIdentities()) { if (qname.equals(identity.getQName())) { return identity.getQName(); } } throw new IllegalArgumentException("Failed to find identity matching " + qname); } }
private QName toQName(final String name, final Date revisionDate) { checkPreconditions(); final String module = toModuleName(name); final String node = toNodeName(name); final Module m = globalSchema.findModuleByName(module, revisionDate); return m == null ? null : QName.create(m.getQNameModule(), node); }
public static String resolveNodesName(final SchemaNode node, final Module module, final SchemaContext schemaContext) { if (node.getQName().getNamespace().equals(module.getQNameModule().getNamespace()) && node.getQName().getRevision().equals(module.getQNameModule().getRevision())) { return node.getQName().getLocalName(); } else { return resolveFullNameFromNode(node, schemaContext); } }
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)); }
public YangModuleInfoTemplate(final org.opendaylight.yangtools.yang.model.api.Module module, final SchemaContext ctx, final Function<org.opendaylight.yangtools.yang.model.api.Module, Optional<String>> moduleFilePathResolver) { Preconditions.checkArgument((module != null), "Module must not be null."); this.module = module; this.ctx = ctx; this.moduleFilePathResolver = moduleFilePathResolver; this.packageName = BindingMapping.getRootPackageName(module.getQNameModule()); StringConcatenation _builder = new StringConcatenation(); _builder.append(this.packageName); _builder.append("."); _builder.append(BindingMapping.MODEL_BINDING_PROVIDER_CLASS_NAME); this.modelBindingProviderName = _builder.toString(); }
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; }
private void processUsesAugments(final DataNodeContainer node, final Module module) { final String basePackageName = BindingMapping.getRootPackageName(module.getQNameModule()); for (final UsesNode usesNode : node.getUses()) { for (final AugmentationSchema augment : usesNode.getAugmentations()) { usesAugmentationToGenTypes(basePackageName, augment, module, usesNode, node); processUsesAugments(augment, module); } } }