private static Relevance translateToSdkRelevance()

in aws-kendra-index/src/main/java/software/amazon/kendra/index/Translator.java [290:310]


  private static Relevance translateToSdkRelevance(software.amazon.kendra.index.Relevance modelRelevance) throws TranslatorValidationException {
    if (modelRelevance != null) {
      Relevance.Builder sdkRelevanceBuilder = Relevance.builder();
      sdkRelevanceBuilder.freshness(modelRelevance.getFreshness());
      sdkRelevanceBuilder.importance(modelRelevance.getImportance());
      sdkRelevanceBuilder.duration(modelRelevance.getDuration());
      sdkRelevanceBuilder.rankOrder(modelRelevance.getRankOrder());
      if (modelRelevance.getValueImportanceItems() != null) {
        List<String> keys = modelRelevance.getValueImportanceItems().stream().map(x -> x.getKey()).collect(Collectors.toList());
        Set<String> keysDeduplicated = keys.stream().collect(Collectors.toSet());
        if (keys.size() != keysDeduplicated.size()) {
          throw new TranslatorValidationException("ValueImportanceItems can not contain duplicate keys.");
        }
        sdkRelevanceBuilder.valueImportanceMap(modelRelevance.getValueImportanceItems().stream()
                .collect(Collectors.toMap(ValueImportanceItem::getKey, ValueImportanceItem::getValue)));
      }
      return sdkRelevanceBuilder.build();
    } else {
      return null;
    }
  }