summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-05-02 15:06:14 +0200
committerJon Bratseth <bratseth@oath.com>2018-05-02 15:06:14 +0200
commit1bff8727f27b23eab841d1b6de7124f8b3342d60 (patch)
treefba80a897dabbc96e7b777fe2e9a43017fd582c4
parent5edc036ae21e6b81a073cd9c53a8a7f052ee5b69 (diff)
Deprecate Hit.getTypeString()
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/templates/DefaultTemplateSet.java5
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/templates/TiledTemplateSet.java7
-rw-r--r--container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java6
-rw-r--r--container-search/src/main/java/com/yahoo/search/rendering/SyncDefaultRenderer.java3
-rw-r--r--container-search/src/main/java/com/yahoo/search/result/Hit.java16
-rw-r--r--container-search/src/test/java/com/yahoo/search/federation/vespa/test/ResultBuilderTestCase.java2
6 files changed, 19 insertions, 20 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/templates/DefaultTemplateSet.java b/container-search/src/main/java/com/yahoo/prelude/templates/DefaultTemplateSet.java
index f06b97b1a5a..e8e7f6f2f93 100644
--- a/container-search/src/main/java/com/yahoo/prelude/templates/DefaultTemplateSet.java
+++ b/container-search/src/main/java/com/yahoo/prelude/templates/DefaultTemplateSet.java
@@ -19,6 +19,7 @@ import java.io.IOException;
import java.io.Writer;
import java.util.Iterator;
import java.util.Map;
+import java.util.stream.Collectors;
/**
* <p>A template set which provides XML rendering of results and hits.</p>
@@ -175,8 +176,8 @@ public class DefaultTemplateSet extends UserTemplate<XMLWriter> {
/**
* Writes a hit's default attributes like 'type', 'source', 'relevancy'.
*/
- protected void renderHitAttributes(Hit hit,XMLWriter writer) throws IOException {
- writer.attribute(TYPE,hit.getTypeString());
+ protected void renderHitAttributes(Hit hit, XMLWriter writer) throws IOException {
+ writer.attribute(TYPE, hit.types().stream().collect(Collectors.joining(" ")));
if (hit.getRelevance() != null) {
writer.attribute(RELEVANCY, hit.getRelevance().toString());
}
diff --git a/container-search/src/main/java/com/yahoo/prelude/templates/TiledTemplateSet.java b/container-search/src/main/java/com/yahoo/prelude/templates/TiledTemplateSet.java
index 2d04097cf9b..6bba0f620ee 100644
--- a/container-search/src/main/java/com/yahoo/prelude/templates/TiledTemplateSet.java
+++ b/container-search/src/main/java/com/yahoo/prelude/templates/TiledTemplateSet.java
@@ -20,6 +20,7 @@ import java.io.IOException;
import java.io.Writer;
import java.util.Iterator;
import java.util.Map;
+import java.util.stream.Collectors;
/**
* A template set which implements the 'tiled' format.
@@ -147,13 +148,13 @@ public class TiledTemplateSet extends DefaultTemplateSet {
@Override
protected void renderHitAttributes(Hit hit, XMLWriter writer) throws IOException {
if (hit instanceof HitGroup) {
- String type = hit.getTypeString(); // TODO: This logic is somewhat crazy
- if("group".equals(type))
+ String type = hit.types().stream().collect(Collectors.joining(" "));
+ if ("group".equals(type))
type = String.valueOf(hit.getField("type"));
writer.attribute("type", type);
}
else {
- writer.attribute("type", hit.getTypeString());
+ writer.attribute("type", hit.types().stream().collect(Collectors.joining(" ")));
}
if (hit.getRelevance() != null)
diff --git a/container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java b/container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java
index b49ff0f7482..f0c7b1a183f 100644
--- a/container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java
+++ b/container-search/src/main/java/com/yahoo/search/rendering/DefaultRenderer.java
@@ -35,6 +35,7 @@ import java.nio.charset.CharsetEncoder;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.Executor;
+import java.util.stream.Collectors;
// TODO: Rename to XmlRenderer and make this a deprecated empty subclass.
@@ -250,10 +251,9 @@ public final class DefaultRenderer extends AsynchronousSectionedRenderer<Result>
}
private void renderHitAttributes(XMLWriter writer, Hit hit) {
- writer.attribute(TYPE, hit.getTypeString());
- if (hit.getRelevance() != null) {
+ writer.attribute(TYPE, hit.types().stream().collect(Collectors.joining(" ")));
+ if (hit.getRelevance() != null)
writer.attribute(RELEVANCY, hit.getRelevance().toString());
-}
writer.attribute(SOURCE, hit.getSource());
}
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 a4fe077fce2..dc72061e224 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
@@ -32,6 +32,7 @@ import java.io.Writer;
import java.util.Iterator;
import java.util.Map;
import java.util.logging.Logger;
+import java.util.stream.Collectors;
/**
* @author tonytv
@@ -337,7 +338,7 @@ public final class SyncDefaultRenderer extends Renderer {
}
private void renderHitAttributes(XMLWriter writer, Hit hit) {
- writer.attribute(TYPE, hit.getTypeString());
+ writer.attribute(TYPE, hit.types().stream().collect(Collectors.joining(" ")));
if (hit.getRelevance() != null) {
writer.attribute(RELEVANCY, hit.getRelevance().toString());
}
diff --git a/container-search/src/main/java/com/yahoo/search/result/Hit.java b/container-search/src/main/java/com/yahoo/search/result/Hit.java
index cb24418b50c..d90cca3406b 100644
--- a/container-search/src/main/java/com/yahoo/search/result/Hit.java
+++ b/container-search/src/main/java/com/yahoo/search/result/Hit.java
@@ -21,6 +21,7 @@ import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
+import java.util.stream.Collectors;
/**
* <p>A search hit. The identifier of the hit is the uri
@@ -490,16 +491,11 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi
* @return all the types of this hit on the form "type1 type2 type3"
* (in no particular order). An empty string (never null) if
* no types are added
+ * @deprecated do not use
*/
+ @Deprecated
public String getTypeString() {
- StringBuilder buffer = new StringBuilder(types.size() * 7);
-
- for (Iterator<String> i = types.iterator(); i.hasNext();) {
- buffer.append(i.next());
- if (i.hasNext())
- buffer.append(" ");
- }
- return buffer.toString();
+ return types().stream().collect(Collectors.joining(" "));
}
/**
@@ -578,11 +574,11 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi
}
/** @deprecated do not use */
- @Deprecated
+ @Deprecated // TODO: Remove on Vespa 7
public int getSourceNumber() { return sourceNumber; }
/** @deprecated do not use */
- @Deprecated
+ @Deprecated // TODO: Remove on Vespa 7
public void setSourceNumber(int number) { this.sourceNumber = number; }
/** Returns the query which produced this hit, or null if not known */
diff --git a/container-search/src/test/java/com/yahoo/search/federation/vespa/test/ResultBuilderTestCase.java b/container-search/src/test/java/com/yahoo/search/federation/vespa/test/ResultBuilderTestCase.java
index 494e3f06a61..50186e03ae8 100644
--- a/container-search/src/test/java/com/yahoo/search/federation/vespa/test/ResultBuilderTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/federation/vespa/test/ResultBuilderTestCase.java
@@ -75,7 +75,7 @@ public class ResultBuilderTestCase {
assertEquals("reward_for_thumb", g1.get(1).getField("id").toString());
assertEquals(10, g2.size());
HitGroup g3 = (HitGroup) g2.get(3);
- assertEquals("badge", g3.getTypeString());
+ assertEquals("badge", g3.types().iterator().next());
assertEquals(2, g3.size());
assertEquals("badge/Topic Explorer 5", g3.get(0).getField("name").toString());
}