import java.util.Map;
import java.util.Map.Entry;
import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.concepts.SemVer;
import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
import org.opendaylight.yangtools.yang.model.repo.api.SchemaContextFactoryConfiguration;
import org.opendaylight.yangtools.yang.model.repo.api.SchemaResolutionException;
-import org.opendaylight.yangtools.yang.model.repo.api.SemVerSourceIdentifier;
import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
-import org.opendaylight.yangtools.yang.model.repo.api.StatementParserMode;
import org.opendaylight.yangtools.yang.parser.api.YangParser;
import org.opendaylight.yangtools.yang.parser.api.YangParserException;
import org.opendaylight.yangtools.yang.parser.api.YangParserFactory;
final @NonNull SchemaContextFactoryConfiguration config) {
this.parserFactory = parserFactory;
this.config = config;
- switch (config.getStatementParserMode()) {
- case SEMVER_MODE:
- this.getIdentifier = AssembleSources::getSemVerIdentifier;
- break;
- default:
- this.getIdentifier = IRSchemaSource::getIdentifier;
- }
+ getIdentifier = switch (config.getStatementParserMode()) {
+ case DEFAULT_MODE -> IRSchemaSource::getIdentifier;
+ };
}
@Override
LOG.debug("Resolving dependency reactor {}", deps);
- final StatementParserMode statementParserMode = config.getStatementParserMode();
- final DependencyResolver res = statementParserMode == StatementParserMode.SEMVER_MODE
- ? SemVerDependencyResolver.create(deps) : RevisionDependencyResolver.create(deps);
+ final DependencyResolver res = switch (config.getStatementParserMode()) {
+ case DEFAULT_MODE -> RevisionDependencyResolver.create(deps);
+ };
+
if (!res.getUnresolvedSources().isEmpty()) {
LOG.debug("Omitting models {} due to unsatisfied imports {}", res.getUnresolvedSources(),
res.getUnsatisfiedImports());
return immediateFluentFuture(schemaContext);
}
-
- private static SemVerSourceIdentifier getSemVerIdentifier(final IRSchemaSource source) {
- final SourceIdentifier identifier = source.getIdentifier();
- final SemVer semver = YangModelDependencyInfo.findSemanticVersion(source.getRootStatement(), identifier);
- if (identifier instanceof SemVerSourceIdentifier && semver == null) {
- return (SemVerSourceIdentifier) identifier;
- }
-
- return SemVerSourceIdentifier.create(identifier.getName(), identifier.getRevision(), semver);
- }
}