SearchResultConverter.java
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.search.documents.implementation.converters;
import com.azure.core.util.serializer.JsonSerializer;
import com.azure.core.util.serializer.ObjectSerializer;
import com.azure.search.documents.SearchDocument;
import com.azure.search.documents.models.SearchResult;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* A converter between {@link com.azure.search.documents.implementation.models.SearchResult} and {@link SearchResult}.
*/
public final class SearchResultConverter {
/**
* Maps from {@link com.azure.search.documents.implementation.models.SearchResult} to {@link SearchResult}.
*/
public static SearchResult map(com.azure.search.documents.implementation.models.SearchResult obj,
ObjectSerializer serializer) {
if (obj == null) {
return null;
}
SearchResult searchResult = new SearchResult(obj.getScore());
if (obj.getHighlights() != null) {
Map<String, List<String>> highlights =
obj.getHighlights().entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey,
Map.Entry::getValue));
SearchResultHelper.setHighlights(searchResult, highlights);
}
SearchResultHelper.setJsonSerializer(searchResult, (JsonSerializer) serializer);
SearchDocument additionalProperties = new SearchDocument(obj.getAdditionalProperties());
SearchResultHelper.setAdditionalProperties(searchResult, additionalProperties);
return searchResult;
}
private SearchResultConverter() {
}
}