static EffectiveSchemaContext create(final List<DeclaredStatement<?>> rootDeclaredStatements, final List<EffectiveStatement<?, ?>> rootEffectiveStatements) { final Set<Module> modules = new HashSet<>(); for (EffectiveStatement<?, ?> stmt : rootEffectiveStatements) { if (stmt.getDeclared() instanceof ModuleStatement) { Verify.verify(stmt instanceof Module); modules.add((Module) stmt); } } return new EffectiveSchemaContext(modules, rootDeclaredStatements, rootEffectiveStatements); }
@Override public Map<QNameModule, ModuleEffectiveStatement> buildEffectiveModel() throws YangParserException { final List<EffectiveStatement<?, ?>> effectiveStatements; try { effectiveStatements = buildAction.buildEffective().getRootEffectiveStatements(); } catch (ReactorException e) { throw decodeReactorException(e); } return effectiveStatements.stream() .filter(ModuleEffectiveStatement.class::isInstance).map(ModuleEffectiveStatement.class::cast) .collect(toImmutableMap(ModuleEffectiveStatement::localQNameModule, identity())); }
@SuppressWarnings("checkstyle:illegalCatch") private EffectiveSchemaContext transformEffective() throws ReactorException { checkState(finishedPhase == ModelProcessingPhase.EFFECTIVE_MODEL); final List<DeclaredStatement<?>> rootStatements = new ArrayList<>(sources.size()); final List<EffectiveStatement<?, ?>> rootEffectiveStatements = new ArrayList<>(sources.size()); try { for (final SourceSpecificContext source : sources) { final RootStatementContext<?, ?, ?> root = source.getRoot(); try { rootStatements.add(root.buildDeclared()); rootEffectiveStatements.add(root.buildEffective()); } catch (final RuntimeException ex) { throw propagateException(source, ex); } } } finally { RecursiveObjectLeaker.cleanup(); } sealMutableStatements(); return EffectiveSchemaContext.create(rootStatements, rootEffectiveStatements); }
@Override public Map<QNameModule, ModuleEffectiveStatement> buildEffectiveModel() throws YangParserException { final List<EffectiveStatement<?, ?>> effectiveStatements; try { effectiveStatements = buildAction.buildEffective().getRootEffectiveStatements(); } catch (ReactorException e) { throw decodeReactorException(e); } return effectiveStatements.stream() .filter(ModuleEffectiveStatement.class::isInstance).map(ModuleEffectiveStatement.class::cast) .collect(toImmutableMap(ModuleEffectiveStatement::localQNameModule, identity())); }