import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
-import java.util.Map;
+import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.TreeSet;
import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition;
import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier;
import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
return new TreeSet<>(REVISION_COMPARATOR);
}
- /**
- * Returns the ModuleIdentifier-to-YANG source mapping.
- *
- * @return yang sources where key is ModuleIdentifier
- */
- protected abstract Map<ModuleIdentifier, String> getIdentifiersToSources();
-
/**
* Returns the namespace-to-module mapping.
*
return extensions;
}
+
@Override
- public Module findModuleByName(final String name, final Date revision) {
+ public Optional<Module> findModule(final String name, final Date revision) {
for (final Module module : getNameToModules().get(name)) {
- if (revision == null || revision.equals(module.getRevision())) {
- return module;
+ if (Objects.equals(revision, module.getRevision())) {
+ return Optional.of(module);
}
}
- return null;
+ return Optional.empty();
}
@Override
- public Set<Module> findModuleByNamespace(final URI namespace) {
+ public Set<Module> findModules(final URI namespace) {
final Set<Module> ret = getNamespaceToModules().get(namespace);
return ret == null ? Collections.emptySet() : ret;
}
public Set<AugmentationSchema> getAvailableAugmentations() {
return Collections.emptySet();
}
-
- //FIXME: should work for submodules too
- @Override
- public Set<ModuleIdentifier> getAllModuleIdentifiers() {
- return getIdentifiersToSources().keySet();
- }
-
- @Override
- public Optional<String> getModuleSource(final ModuleIdentifier moduleIdentifier) {
- return Optional.ofNullable(getIdentifiersToSources().get(moduleIdentifier));
- }
}