本文整理了Java中org.opendaylight.yangtools.yang.model.api.Module.getImports()
方法的一些代码示例,展示了Module.getImports()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Module.getImports()
方法的具体详情如下:
包路径:org.opendaylight.yangtools.yang.model.api.Module
类名称:Module
方法名:getImports
[英]Returns imports which represents YANG modules which are imported to this module via import statement.
[中]返回表示通过import语句导入到此模块的模块的导入。
代码示例来源:origin: opendaylight/yangtools
private static Collection<ModuleImport> allImports(final Module mod) {
if (mod.getSubmodules().isEmpty()) {
return mod.getImports();
}
final Collection<ModuleImport> concat = new LinkedHashSet<>();
concat.addAll(mod.getImports());
for (Module sub : mod.getSubmodules()) {
concat.addAll(sub.getImports());
}
return concat;
}
代码示例来源:origin: org.opendaylight.yangtools/yang-model-util
private static Collection<ModuleImport> allImports(final Module mod) {
if (mod.getSubmodules().isEmpty()) {
return mod.getImports();
}
final Collection<ModuleImport> concat = new LinkedHashSet<>();
concat.addAll(mod.getImports());
for (Module sub : mod.getSubmodules()) {
concat.addAll(sub.getImports());
}
return concat;
}
代码示例来源:origin: org.opendaylight.yangtools/yang-data-impl
private static ModuleImport getModuleImport(final Module targetModule, final String prefix) {
return targetModule.getImports().stream()
.filter(imp -> prefix.equals(imp.getPrefix())).findFirst().orElse(null);
}
}
代码示例来源:origin: org.opendaylight.controller/yang-jmx-generator
private static ModuleImport findModuleImport(final Module module, final String prefix) {
for (ModuleImport moduleImport : module.getImports()) {
if (moduleImport.getPrefix().equals(prefix)) {
return moduleImport;
}
}
throw new IllegalStateException(format("Import not found with prefix %s in %s", prefix, module));
}
代码示例来源:origin: org.opendaylight.yangtools/yang-model-export
private void emitLinkageNodes(final Module input) {
for (final ModuleImport importNode : input.getImports()) {
emitImport(importNode);
}
/*
* FIXME: BUG-2444: Emit include statements
*/
}
代码示例来源:origin: opendaylight/yangtools
private static ModuleImport getModuleImport(final Module targetModule, final String prefix) {
return targetModule.getImports().stream()
.filter(imp -> prefix.equals(imp.getPrefix())).findFirst().orElse(null);
}
}
代码示例来源:origin: org.opendaylight.controller/yang-jmx-generator
private static String getConfigModulePrefixFromImport(final Module currentModule) {
for (ModuleImport currentImport : currentModule.getImports()) {
if (currentImport.getModuleName().equals(ConfigConstants.CONFIG_MODULE)) {
return currentImport.getPrefix();
}
}
throw new IllegalArgumentException("Cannot find import " + ConfigConstants.CONFIG_MODULE + " in "
+ currentModule);
}
代码示例来源:origin: opendaylight/yangtools
private static Map<String, URI> prefixToNamespace(final SchemaContext ctx, final Module module) {
final BiMap<String, URI> prefixMap = HashBiMap.create(module.getImports().size() + 1);
prefixMap.put(module.getPrefix(), module.getNamespace());
for (final ModuleImport imp : module.getImports()) {
final String prefix = imp.getPrefix();
final URI namespace = getModuleNamespace(ctx, imp.getModuleName());
prefixMap.put(prefix, namespace);
}
return prefixMap;
}
代码示例来源:origin: org.opendaylight.yangtools/yang-model-export
private static Map<String, URI> prefixToNamespace(final SchemaContext ctx, final Module module) {
final BiMap<String, URI> prefixMap = HashBiMap.create(module.getImports().size() + 1);
prefixMap.put(module.getPrefix(), module.getNamespace());
for (final ModuleImport imp : module.getImports()) {
final String prefix = imp.getPrefix();
final URI namespace = getModuleNamespace(ctx, imp.getModuleName());
prefixMap.put(prefix, namespace);
}
return prefixMap;
}
代码示例来源:origin: opendaylight/yangtools
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));
}
代码示例来源:origin: org.opendaylight.yangtools/yang-data-jaxen
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));
}
代码示例来源:origin: org.opendaylight.yangtools/yang-model-util
final Set<ModuleImport> imports = module.getImports();
for (final ModuleImport mi : imports) {
if (prefix.equals(mi.getPrefix())) {
代码示例来源:origin: org.opendaylight.yangtools/yang-model-util
private static Collection<Module> getImportedModules(final Map<ModuleId, Module> allModules,
final Set<Module> baseModules, final TreeMultimap<String, Module> nameToModulesAll) {
List<Module> relatedModules = Lists.newLinkedList();
for (Module module : baseModules) {
for (ModuleImport moduleImport : module.getImports()) {
Optional<Revision> revisionDate = moduleImport.getRevision();
if (!revisionDate.isPresent()) {
revisionDate = nameToModulesAll.get(moduleImport.getModuleName()).first().getRevision();
}
ModuleId key = new ModuleId(moduleImport.getModuleName(), revisionDate);
Module importedModule = allModules.get(key);
Preconditions.checkArgument(importedModule != null,
"Invalid schema, cannot find imported module: %s from module: %s, %s, modules:%s", key,
module.getQNameModule(), module.getName(), allModules);
relatedModules.add(importedModule);
//calling imports recursive
relatedModules.addAll(getImportedModules(allModules, Collections.singleton(importedModule),
nameToModulesAll));
}
}
return relatedModules;
}
代码示例来源:origin: org.opendaylight.mdsal/mdsal-binding2-dom-codec
private static Object qnameDomValueFromString(final Codec<Object, Object> codec, final DataSchemaNode schema,
final String defaultValue, final SchemaContext schemaContext) {
final int prefixEndIndex = defaultValue.indexOf(':');
if (prefixEndIndex != -1) {
final String defaultValuePrefix = defaultValue.substring(0, prefixEndIndex);
final Module module = schemaContext.findModule(schema.getQName().getModule()).get();
if (module.getPrefix().equals(defaultValuePrefix)) {
return codec.deserialize(QName.create(module.getQNameModule(),
defaultValue.substring(prefixEndIndex + 1)));
}
final Set<ModuleImport> imports = module.getImports();
for (final ModuleImport moduleImport : imports) {
if (moduleImport.getPrefix().equals(defaultValuePrefix)) {
final Module importedModule = schemaContext.findModule(moduleImport.getModuleName(),
moduleImport.getRevision()).get();
return codec.deserialize(QName.create(importedModule.getQNameModule(),
defaultValue.substring(prefixEndIndex + 1)));
}
}
return null;
}
return codec.deserialize(QName.create(schema.getQName(), defaultValue));
}
代码示例来源:origin: org.opendaylight.mdsal/mdsal-binding-dom-codec
private static Object qnameDomValueFromString(final Codec<Object, Object> codec, final DataSchemaNode schema,
final String defaultValue, final SchemaContext schemaContext) {
int prefixEndIndex = defaultValue.indexOf(':');
QName qname;
if (prefixEndIndex != -1) {
String defaultValuePrefix = defaultValue.substring(0, prefixEndIndex);
Module module = schemaContext.findModule(schema.getQName().getModule()).get();
if (module.getPrefix().equals(defaultValuePrefix)) {
qname = QName.create(module.getQNameModule(), defaultValue.substring(prefixEndIndex + 1));
return codec.deserialize(qname);
}
Set<ModuleImport> imports = module.getImports();
for (ModuleImport moduleImport : imports) {
if (moduleImport.getPrefix().equals(defaultValuePrefix)) {
Module importedModule = schemaContext.findModule(moduleImport.getModuleName(),
moduleImport.getRevision()).get();
qname = QName.create(importedModule.getQNameModule(), defaultValue.substring(prefixEndIndex + 1));
return codec.deserialize(qname);
}
}
return null;
}
qname = QName.create(schema.getQName(), defaultValue);
return codec.deserialize(qname);
}
代码示例来源:origin: opendaylight/yangtools
private static Collection<Module> getImportedModules(final Map<ModuleId, Module> allModules,
final Set<Module> baseModules, final TreeMultimap<String, Module> nameToModulesAll) {
List<Module> relatedModules = Lists.newLinkedList();
for (Module module : baseModules) {
for (ModuleImport moduleImport : module.getImports()) {
Optional<Revision> revisionDate = moduleImport.getRevision();
if (!revisionDate.isPresent()) {
revisionDate = nameToModulesAll.get(moduleImport.getModuleName()).first().getRevision();
}
ModuleId key = new ModuleId(moduleImport.getModuleName(), revisionDate);
Module importedModule = allModules.get(key);
Preconditions.checkArgument(importedModule != null,
"Invalid schema, cannot find imported module: %s from module: %s, %s, modules:%s", key,
module.getQNameModule(), module.getName(), allModules);
relatedModules.add(importedModule);
//calling imports recursive
relatedModules.addAll(getImportedModules(allModules, Collections.singleton(importedModule),
nameToModulesAll));
}
}
return relatedModules;
}
代码示例来源:origin: org.opendaylight.yangtools/yang-data-api
/**
* Create a prefix {@link Converter} for {@link XPathExpressionException} defined in a particular YANG
* {@link Module} .Instantiation requires establishing how a module's imports are mapped to actual modules
* and their namespaces. This information is cached and used for improved lookups.
*
* @param ctx A SchemaContext
* @param module Module in which the XPath is defined
* @return A new Converter
*/
public static @Nonnull Converter<String, QNameModule> create(final SchemaContext ctx, final Module module) {
// Always check for null ctx
requireNonNull(ctx, "Schema context may not be null");
// Use immutable map builder for detection of duplicates (which should never occur)
final Builder<String, QNameModule> b = ImmutableBiMap.builder();
b.put(module.getPrefix(), module.getQNameModule());
for (ModuleImport i : module.getImports()) {
final Optional<Module> mod = ctx.findModule(i.getModuleName(), i.getRevision());
checkArgument(mod.isPresent(), "Unsatisfied import of %s by module %s", i, module);
b.put(i.getPrefix(), mod.get().getQNameModule());
}
return Maps.asConverter(b.build());
}
}
代码示例来源:origin: opendaylight/yangtools
/**
* Create a prefix {@link Converter} for {@link XPathExpressionException} defined in a particular YANG
* {@link Module} .Instantiation requires establishing how a module's imports are mapped to actual modules
* and their namespaces. This information is cached and used for improved lookups.
*
* @param ctx A SchemaContext
* @param module Module in which the XPath is defined
* @return A new Converter
*/
public static @Nonnull Converter<String, QNameModule> create(final SchemaContext ctx, final Module module) {
// Always check for null ctx
requireNonNull(ctx, "Schema context may not be null");
// Use immutable map builder for detection of duplicates (which should never occur)
final Builder<String, QNameModule> b = ImmutableBiMap.builder();
b.put(module.getPrefix(), module.getQNameModule());
for (ModuleImport i : module.getImports()) {
final Optional<Module> mod = ctx.findModule(i.getModuleName(), i.getRevision());
checkArgument(mod.isPresent(), "Unsatisfied import of %s by module %s", i, module);
b.put(i.getPrefix(), mod.get().getQNameModule());
}
return Maps.asConverter(b.build());
}
}
代码示例来源:origin: opendaylight/yangtools
private boolean checkModuleDependency(final Module module, final Collection<ModuleId> rootModules) {
for (ModuleId rootModule : rootModules) {
if (rootModule.equals(new ModuleId(module.getName(), module.getRevision()))) {
return true;
}
//handling/checking imports regarding root modules
for (ModuleImport moduleImport : module.getImports()) {
if (moduleImport.getModuleName().equals(rootModule.getName())) {
return !moduleImport.getRevision().isPresent()
|| moduleImport.getRevision().equals(rootModule.getRev());
}
}
//submodules handling
for (Module moduleSub : module.getSubmodules()) {
return checkModuleDependency(moduleSub, rootModules);
}
}
return false;
}
代码示例来源:origin: org.opendaylight.yangtools/yang-model-util
private boolean checkModuleDependency(final Module module, final Collection<ModuleId> rootModules) {
for (ModuleId rootModule : rootModules) {
if (rootModule.equals(new ModuleId(module.getName(), module.getRevision()))) {
return true;
}
//handling/checking imports regarding root modules
for (ModuleImport moduleImport : module.getImports()) {
if (moduleImport.getModuleName().equals(rootModule.getName())) {
return !moduleImport.getRevision().isPresent()
|| moduleImport.getRevision().equals(rootModule.getRev());
}
}
//submodules handling
for (Module moduleSub : module.getSubmodules()) {
return checkModuleDependency(moduleSub, rootModules);
}
}
return false;
}
内容来源于网络,如有侵权,请联系作者删除!