From: Robert Varga Date: Mon, 5 Oct 2020 08:30:49 +0000 (+0200) Subject: Adjust for Module/Submodule statement separation X-Git-Tag: v7.0.0~19 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=c625589d1ca70ec8348a94681d136823f3e3874c;p=mdsal.git Adjust for Module/Submodule statement separation Yangtools is providing dedicated classes for Submodule, adjust for the API change. Change-Id: I04242bcc1c753d331cdfd16f4632b2ba288ac78d Signed-off-by: Robert Varga --- diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend index 1e2b3eaec5..9ff5cd071c 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend @@ -27,6 +27,8 @@ import org.opendaylight.yangtools.yang.binding.YangModuleInfo import org.opendaylight.yangtools.yang.common.Revision import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext import org.opendaylight.yangtools.yang.model.api.Module +import org.opendaylight.yangtools.yang.model.api.ModuleLike +import org.opendaylight.yangtools.yang.model.api.Submodule /** * Template for {@link YangModuleInfo} implementation for a particular module. Aside from fulfilling that contract, @@ -63,7 +65,7 @@ class YangModuleInfoTemplate { val Module module val EffectiveModelContext ctx - val Function> moduleFilePathResolver + val Function> moduleFilePathResolver var importedTypes = CORE_IMPORT_STR @@ -73,7 +75,7 @@ class YangModuleInfoTemplate { @Accessors val String modelBindingProviderName - new(Module module, EffectiveModelContext ctx, Function> moduleFilePathResolver) { + new(Module module, EffectiveModelContext ctx, Function> moduleFilePathResolver) { Preconditions.checkArgument(module !== null, "Module must not be null.") this.module = module this.ctx = ctx @@ -83,7 +85,7 @@ class YangModuleInfoTemplate { } def String generate() { - val Set submodules = new HashSet + val Set submodules = new HashSet collectSubmodules(submodules, module) val body = ''' @@ -129,15 +131,15 @@ class YangModuleInfoTemplate { } ''' - private static def void collectSubmodules(Set dest, Module module) { - for (Module submodule : module.submodules) { + private static def void collectSubmodules(Set dest, ModuleLike module) { + for (Submodule submodule : module.submodules) { if (dest.add(submodule)) { collectSubmodules(dest, submodule) } } } - private def CharSequence classBody(Module m, String className, Set submodules) ''' + private def CharSequence classBody(ModuleLike m, String className, Set submodules) ''' private «className»() { «IF !m.imports.empty || !submodules.empty» «extendImports» @@ -191,13 +193,13 @@ class YangModuleInfoTemplate { importedTypes = EXT_IMPORT_STR } - private def sourcePath(Module module) { + private def sourcePath(ModuleLike module) { val opt = moduleFilePathResolver.apply(module) Preconditions.checkState(opt.isPresent, "Module %s does not have a file path", module) return opt.get } - private def generateSubInfo(Set submodules) ''' + private def generateSubInfo(Set submodules) ''' «FOR submodule : submodules» «val className = submodule.name.className»