import org.opendaylight.yangtools.yang.common.Revision;
import org.opendaylight.yangtools.yang.model.api.Module;
import org.opendaylight.yangtools.yang.model.api.ModuleImport;
+import org.opendaylight.yangtools.yang.model.api.ModuleLike;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.Submodule;
public final class FilteringSchemaContextProxy extends AbstractSchemaContext {
private final ImmutableMap<QNameModule, Module> moduleMap;
module -> checkModuleDependency(module, rootModules)));
}
- private static Multimap<String, Module> getStringModuleMap(final SchemaContext delegate) {
+ private static Multimap<String, ? extends Module> getStringModuleMap(final SchemaContext delegate) {
return Multimaps.index(delegate.getModules(), Module::getName);
}
//dealing with imported module other than root and directly importing root
- private static Collection<Module> getImportedModules(final Map<ModuleId, Module> allModules,
- final Set<Module> baseModules, final TreeMultimap<String, Module> nameToModulesAll) {
+ private static Collection<Module> getImportedModules(final Map<ModuleId, ? extends Module> allModules,
+ final Collection<? extends Module> baseModules, final TreeMultimap<String, Module> nameToModulesAll) {
List<Module> relatedModules = new LinkedList<>();
for (Module module : baseModules) {
for (ModuleImport moduleImport : module.getImports()) {
Optional<Revision> revisionDate = moduleImport.getRevision();
- if (!revisionDate.isPresent()) {
+ if (revisionDate.isEmpty()) {
revisionDate = nameToModulesAll.get(moduleImport.getModuleName()).first().getRevision();
}
}
//check for any dependency regarding given string
- private boolean checkModuleDependency(final Module module, final Collection<ModuleId> rootModules) {
+ private boolean checkModuleDependency(final ModuleLike 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()
+ return moduleImport.getRevision().isEmpty()
|| moduleImport.getRevision().equals(rootModule.getRev());
}
}
//submodules handling
- for (Module moduleSub : module.getSubmodules()) {
+ for (Submodule moduleSub : module.getSubmodules()) {
return checkModuleDependency(moduleSub, rootModules);
}
}