Remove RevisionAwareXPath
[yangtools.git] / yang / yang-model-util / src / main / java / org / opendaylight / yangtools / yang / model / util / FilteringSchemaContextProxy.java
index 9eeb262354823ec8d154b0eebfa6e920c4575a02..ec3c9e958ab295e94caf8e86561462c5e47b7f8a 100644 (file)
@@ -37,7 +37,9 @@ import org.opendaylight.yangtools.yang.common.QNameModule;
 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;
@@ -116,20 +118,20 @@ public final class FilteringSchemaContextProxy extends AbstractSchemaContext {
             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();
                 }
 
@@ -175,7 +177,7 @@ public final class FilteringSchemaContextProxy extends AbstractSchemaContext {
     }
 
     //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;
@@ -184,13 +186,13 @@ public final class FilteringSchemaContextProxy extends AbstractSchemaContext {
             //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);
             }
         }