private static List translateSdkLogPatternsToModelLogPatternSets()

in aws-applicationinsights-application/src/main/java/software/amazon/applicationinsights/application/HandlerHelper.java [818:847]


    private static List<LogPatternSet> translateSdkLogPatternsToModelLogPatternSets(
            List<software.amazon.awssdk.services.applicationinsights.model.LogPattern> logPatterns) {
        Map<String, List<software.amazon.awssdk.services.applicationinsights.model.LogPattern>> patternSetNamePatternsMap = new HashMap<>();
        for (software.amazon.awssdk.services.applicationinsights.model.LogPattern logPattern : logPatterns) {
            if (!patternSetNamePatternsMap.containsKey(logPattern.patternSetName())) {
                patternSetNamePatternsMap.put(logPattern.patternSetName(), new ArrayList<>(Arrays.asList(logPattern)));
            } else {
                patternSetNamePatternsMap.get(logPattern.patternSetName()).add(logPattern);
            }
        }

        List<LogPatternSet> modelLogPatternSets = new ArrayList<>();
        patternSetNamePatternsMap.entrySet().stream()
                .forEach(entry -> {
                    modelLogPatternSets.add(
                            LogPatternSet.builder()
                                    .patternSetName(entry.getKey())
                                    .logPatterns(entry.getValue().stream()
                                            .map(logPattern ->
                                                    LogPattern.builder()
                                                            .patternName(logPattern.patternName())
                                                            .rank(logPattern.rank())
                                                            .pattern(logPattern.pattern()).build())
                                            .collect(Collectors.toList()))
                                    .build());

                });

        return modelLogPatternSets;
    }