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;
}