private Map readArtifactsFromModel()

in src/main/java/org/apache/sling/tooling/lc/LaunchpadComparer.java [107:119]


    private Map<ArtifactKey, Artifact> readArtifactsFromModel(File toFile) throws IOException {
        Model fromModel;
        try (BufferedReader reader = Files.newBufferedReader(toFile.toPath())) {
            fromModel = ModelUtility.getEffectiveModel(ModelReader.read(reader, null));
        }
        
        Map<ArtifactKey, Artifact> to = fromModel.getFeatures().stream()
            .flatMap( f -> f.getRunModes().stream())
            .flatMap( r -> r.getArtifactGroups().stream())
            .flatMap( g -> StreamSupport.stream(g.spliterator(), false))
            .collect(Collectors.toMap( a -> new ArtifactKey(a), Function.identity()));
        return to;
    }