diff options
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/rendering/SyncDefaultRenderer.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/rendering/SyncDefaultRenderer.java | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/rendering/SyncDefaultRenderer.java b/container-search/src/main/java/com/yahoo/search/rendering/SyncDefaultRenderer.java index dc72061e224..08599540cb1 100644 --- a/container-search/src/main/java/com/yahoo/search/rendering/SyncDefaultRenderer.java +++ b/container-search/src/main/java/com/yahoo/search/rendering/SyncDefaultRenderer.java @@ -271,25 +271,19 @@ public final class SyncDefaultRenderer extends Renderer { private void renderHitFields(XMLWriter writer, Hit hit) { renderSyntheticRelevanceField(writer, hit); - for (Iterator<Map.Entry<String, Object>> it = hit.fieldIterator(); it.hasNext(); ) { - renderField(writer, hit, it); - } + hit.forEachField((name, value) -> renderField(writer, name, value)); } - private void renderField(XMLWriter writer, Hit hit, Iterator<Map.Entry<String, Object>> it) { - Map.Entry<String, Object> entry = it.next(); - String fieldName = entry.getKey(); - - if ( ! shouldRenderField(hit, fieldName)) return; - if (fieldName.startsWith("$")) return; // Don't render fields that start with $ // TODO: Move to should render + private void renderField(XMLWriter writer, String name, Object value) { + if (name.startsWith("$")) return; - writeOpenFieldElement(writer, fieldName); - renderFieldContent(writer, hit, fieldName); + writeOpenFieldElement(writer, name); + renderFieldContent(writer, value); writeCloseFieldElement(writer); } - private void renderFieldContent(XMLWriter writer, Hit hit, String fieldName) { - writer.escapedContent(asXML(hit.getField(fieldName)), false); + private void renderFieldContent(XMLWriter writer, Object value) { + writer.escapedContent(asXML(value), false); } private String asXML(Object value) { @@ -304,10 +298,10 @@ public final class SyncDefaultRenderer extends Renderer { } private void renderSyntheticRelevanceField(XMLWriter writer, Hit hit) { - final String relevancyFieldName = "relevancy"; - final Relevance relevance = hit.getRelevance(); + String relevancyFieldName = "relevancy"; + Relevance relevance = hit.getRelevance(); - if (shouldRenderField(hit, relevancyFieldName) && relevance != null) { + if (relevance != null) { renderSimpleField(writer, relevancyFieldName, relevance); } } @@ -332,11 +326,6 @@ public final class SyncDefaultRenderer extends Renderer { writer.closeStartTag(); } - private boolean shouldRenderField(Hit hit, String relevancyFieldName) { - // skip depending on hit type - return true; - } - private void renderHitAttributes(XMLWriter writer, Hit hit) { writer.attribute(TYPE, hit.types().stream().collect(Collectors.joining(" "))); if (hit.getRelevance() != null) { |