private Map getRetentionPolicy()

in src/main/java/com/epam/digital/data/platform/starter/kafka/service/StartupKafkaTopicsCreator.java [155:167]


  private Map<String, String> getRetentionPolicy(String topicName) {
    Predicate<KafkaProperties.TopicsGroupRetentionPolicy> retentionPolicyPrefixesContains =
        policy -> policy.getTopicPrefixes().stream().anyMatch(topicName::startsWith);
    var retentionPolicyInDays =
        kafkaProperties.getTopicProperties().getRetention().getPolicies().stream()
            .filter(retentionPolicyPrefixesContains)
            .findFirst()
            .map(KafkaProperties.TopicsGroupRetentionPolicy::getDays)
            .orElse(kafkaProperties.getTopicProperties().getRetention().getDefaultInDays());

    return Map.of(
        RETENTION_MS_CONFIG, Long.toString(TimeUnit.DAYS.toMillis(retentionPolicyInDays)));
  }